diff --git a/cbs/bracket.py b/cbs/bracket.py index f5fd3555db6bc6da9642d265e15d0bae31ebd56b..198821825ee8a7447fc81abc6c456d41698d7127 100644 --- a/cbs/bracket.py +++ b/cbs/bracket.py @@ -9,6 +9,7 @@ def gamescore(s, r, scaling): def getBracket(cbs): bracket = [[] for x in range(6)] abbrs = {} + name = cbs["game_and_pick_list"]["pick_data"]["team_name"] for i in range(5): rounds = cbs["game_and_pick_list"]["regions"][i]["rounds"] rid = cbs["game_and_pick_list"]["regions"][i]["name"] @@ -30,7 +31,7 @@ def getBracket(cbs): #print "***" #print bracket #print abbrs - return bracket + return name, bracket def scoreBracket(bracket): count = 0 @@ -50,14 +51,20 @@ def scoreBracket(bracket): expscore += wr * gamescore(game[1], i, pow2) return (score, count), (maxscore, maxcount), expscore -moomoo = getBracket(moomooBracket) -mikeyp = getBracket(mikeypBracket) -avinash = getBracket(avinashBracket) +n1, moomoo = getBracket(moomooBracket) +n2, mikeyp = getBracket(mikeypBracket) +n3, avinash = getBracket(avinashBracket) # print moomoo # print mikeyp # print avinash -print scoreBracket(moomoo) -print scoreBracket(mikeyp) -print scoreBracket(avinash) +print "%25s"%n1, scoreBracket(moomoo) +print "%25s"%n2, scoreBracket(mikeyp) +print "%25s"%n3, scoreBracket(avinash) + +print "***" + +for l in lemur: + name, bracket = getBracket(l) + print "%25s"%name, scoreBracket(bracket) diff --git a/cbs/data.py b/cbs/data.py index 7c336fd0a4419232f2f762b3a55ab78333d782a7..45378ce2a95f824067164760ad972a764dd144d7 100644 --- a/cbs/data.py +++ b/cbs/data.py @@ -1,4 +1,14 @@ null = None -moomooBracket = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"S","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"Troy","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WISC","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"I","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"17","period":"1","home_score":"21","user_pick":{"pick":"KANSAS","result":""},"away_name":"UC Davis","winner_name":"","time_remaining":"09450","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":""},{"status":"S","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"00000","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"S","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"I","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"3","period":"1","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"18400","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":""},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SETON","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"137","timestamp":"1489640256","team_id":"2","team_name":"moo moo","bracket_number":"1"}},"opm_transfer":0}; -mikeypBracket = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"ETNST","result":"wrong"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"USC","result":"right"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"S","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"Troy","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"I","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"17","period":"1","home_score":"21","user_pick":{"pick":"KANSAS","result":""},"away_name":"UC Davis","winner_name":"","time_remaining":"09420","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":""},{"status":"S","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"00000","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"JAXST","result":"wrong"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"TEXSO","result":"wrong"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"S","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"I","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"3","period":"1","home_score":0,"user_pick":{"pick":"DAYTON","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"18400","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":""},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"TEXSO","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"105","timestamp":"1489451044","team_id":"4","team_name":"M P","bracket_number":"1"}},"opm_transfer":0}; -avinashBracket = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"S","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"Troy","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"I","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"17","period":"1","home_score":"21","user_pick":{"pick":"KANSAS","result":""},"away_name":"UC Davis","winner_name":"","time_remaining":"09420","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":""},{"status":"S","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"00000","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"S","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"I","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"3","period":"1","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"18400","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":""},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"132","timestamp":"1489450906","team_id":"1","team_name":"Los Pollos Hermanos","bracket_number":"1"}},"opm_transfer":0}; +moomooBracket = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WISC","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SETON","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"137","timestamp":"1489640256","team_id":"2","team_name":"moo moo","bracket_number":"1"}},"opm_transfer":0}; +mikeypBracket = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"ETNST","result":"wrong"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"USC","result":"right"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"JAXST","result":"wrong"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"TEXSO","result":"wrong"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"DAYTON","result":"wrong"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"TEXSO","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"105","timestamp":"1489451044","team_id":"4","team_name":"M P","bracket_number":"1"}},"opm_transfer":0}; +avinashBracket = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICHST","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"132","timestamp":"1489450906","team_id":"1","team_name":"Los Pollos Hermanos","bracket_number":"1"}},"opm_transfer":0}; +lemur = [0] * 9 +lemur[1-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"SDAKST","result":"wrong"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"BUCK","result":"wrong"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"VCU","result":"wrong"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"NDAK","result":"wrong"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SDAKST","result":"eliminated"},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUCK","result":"eliminated"},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"XAVIER","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUCK","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUCK","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"UCDAV","result":"wrong"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"NEVADA","result":"wrong"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"IONA","result":"wrong"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCDAV","result":"eliminated"},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NEVADA","result":"eliminated"},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OKLAST","result":"eliminated"},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCDAV","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCDAV","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SETON","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MINN","result":"eliminated"},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MINN","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"137","timestamp":"1489702547","team_id":"1","team_name":"moo moo","bracket_number":"1"}},"opm_transfer":0}; +lemur[2-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"PRINCE","result":"wrong"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"CREIGH","result":"eliminated"},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"164","timestamp":"1489369051","team_id":2,"team_name":"cw","bracket_number":"1"}},"opm_transfer":0}; +lemur[3-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"DAYTON","result":"wrong"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"150","timestamp":"1489434974","team_id":3,"team_name":"Prathyush Katukojwala","bracket_number":"1"}},"opm_transfer":0}; +lemur[4-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MTSU","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"163","timestamp":"1489373370","team_id":4,"team_name":"Gopi Suresh","bracket_number":"1"}},"opm_transfer":0}; +lemur[5-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"MOUNT","result":"wrong"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"USC","result":"right"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MOUNT","result":"eliminated"},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"USC","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"SDAKST","result":"wrong"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"PRINCE","result":"wrong"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"BUCK","result":"wrong"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"VCU","result":"wrong"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SDAKST","result":"eliminated"},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OKLAST","result":"eliminated"},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"TEXSO","result":"wrong"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARK","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"99","timestamp":"1489604746","team_id":5,"team_name":"Tsang-Kai Chang","bracket_number":"1"}},"opm_transfer":0}; +lemur[6-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"DAYTON","result":"wrong"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"128","timestamp":"1489623794","team_id":6,"team_name":"William Chen","bracket_number":"1"}},"opm_transfer":0}; +lemur[7-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SC","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"145","timestamp":"1489384382","team_id":7,"team_name":"Likai Wei","bracket_number":"1"}},"opm_transfer":0}; +lemur[8-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VATECH","result":"eliminated"},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"VCU","result":"wrong"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FGC","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"NEVADA","result":"wrong"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"CREIGH","result":"eliminated"},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MINN","result":"eliminated"},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"197","timestamp":"1489453940","team_id":8,"team_name":"Jack He","bracket_number":"1"}},"opm_transfer":0}; +lemur[9-1] = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SC","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NWEST","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NWEST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"WINTHR","result":"wrong"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WINTHR","result":"eliminated"},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"160","timestamp":"1489637409","team_id":9,"team_name":"Nathan Pilbrough","bracket_number":"1"}},"opm_transfer":0}; diff --git a/cbs/data/avinash b/cbs/data/avinash index 8a15fdc1551b1525758142533d02709099744f23..d32149aca9051c202f2a5ccbd26b63aa23d79521 100644 --- a/cbs/data/avinash +++ b/cbs/data/avinash @@ -37,7 +37,7 @@ if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js on <!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> <script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> <script type="text/javascript"> -CBSi.token = "U2FsdGVkX1_laOzTmAzWebFnJbvSgTPkI75XDQ1st3e8-NRnaK8vXroWbxqajuWfHdL_Pv8gKpHJoyIn1BDngbmNroakZsUXk2KxA2txl1AKc5atPzKs7MAyIDZtP26O"; +CBSi.token = "U2FsdGVkX19aq67HUsC3N77UIUvRgUtToMYCP8wYm9QLtBqi-xga3sceTB9iY_tAWWPXe4ls-kMuhxfsRQJWcbRShZgyf9Yv58ajv6JA5MnC-PgrCIOfkxJb_HgwFe9T"; CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); $.fn.serializeObject = function() { @@ -3833,7 +3833,7 @@ _.extend(Marionette.Module, { showTeamId = '1', managerAction = '0', renvBracketNumber = '1', - accessToken = 'U2FsdGVkX1_9_FQsfKSvQBRaI_5AZRQYDeL_52ya4M_92Nv1IRITFXiRMmiKa5VEVSp3TB679oHm-axo8YzyfamawA_rvd_Qkx7as6eWH5M', + accessToken = 'U2FsdGVkX1_n4tYuGqhmmGieCeKdv6cajFQ7SFm-GtHqmyTH-6tj_PTbB-hZbqDEQEjhFYpHF7MamjV1GhALnwE-CopfjNf5ZCO4dFK-eCA', needsTiebreaker = '1', showInterstitial = '0', interstitialLink = '', @@ -3847,11 +3847,11 @@ _.extend(Marionette.Module, { signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', isMobile = '0', isIpad1 = '0', - shareableURL = 'http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=632285', + shareableURL = 'http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=795737', showTeamName = ''; // This sets and initializes the bootstrapBracketsData used below to pass to the application start - bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"S","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"Troy","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"I","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"17","period":"1","home_score":"21","user_pick":{"pick":"KANSAS","result":""},"away_name":"UC Davis","winner_name":"","time_remaining":"09420","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":""},{"status":"S","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"00000","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"S","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"I","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"3","period":"1","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"18400","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":""},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"132","timestamp":"1489450906","team_id":"1","team_name":"Los Pollos Hermanos","bracket_number":"1"}},"opm_transfer":0}; + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICHST","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"132","timestamp":"1489450906","team_id":"1","team_name":"Los Pollos Hermanos","bracket_number":"1"}},"opm_transfer":0}; </script> </div> @@ -4996,4 +4996,4 @@ var utag_data={ </script>--> </body> </html> -<!-- Page build info: mehtank 'ws5822.tm.cbsig.net' 29490 20170317 19:13:24 --> +<!-- Page build info: mehtank 'ws5822.tm.cbsig.net' 6524 20170317 21:38:01 --> diff --git a/cbs/data/lemur1 b/cbs/data/lemur1 new file mode 100644 index 0000000000000000000000000000000000000000..751333406f956b281383308a2d99e777827e314c --- /dev/null +++ b/cbs/data/lemur1 @@ -0,0 +1,5067 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/1"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/1" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/1"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/1"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX1-FXFDS78SbB27II9QEw1zylf-b2m4mug8wiNOANC2jUylw-fWyhEXA_1Fncwx_OtbFZ_SVqDiqAQYDwPsppOAqoldQKE8TyIspQxeF9epBJqT1ufJtTtj9"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + <a om-event="Brarckets|bpm|TWTShare" class="spacerLeft10" id="twitterShareBtnHref" href="https://twitter.com/share?text=I%20just%20filled%20out%20my%20bracket%20in%20CBS%20Sports%20Bracket%20Manager%20Can%20you%20beat%20me%3F%20%40cbssports%20%23brackets&url=http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/4ae4ee7df59a4ccfca5c2be76de72100?randkey=828439%26ttag=bpm17_tw_sh" target="_blank"> + <button type="button" class="btn-primary" style="width:145px;background-color: #1da1f2!important;"> + <span class="icon-twitter icon-white spacerRight10"></span><span>SHARE</span> + </button> + </a> + <button id="facebookTopShare" type="button" class="btn-primary" style="width:145px;background-color: #3b5998!important;" om-event="Brackets|bpm|FBShare"> + <span class="icon-facebook icon-white spacerRight10"></span><span>SHARE</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/1" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" selected="selected">moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">moo moo #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '1', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX19BL91JCKXpdJ-bUM72J7y7XQ97CM5-kcCfb0bZWKk85i7836EaMU_dZ-06mjYN-YDP_KuLfdrScLJmG9JwT21cMC7YgLkePSk', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/4ae4ee7df59a4ccfca5c2be76de72100?randkey=828439', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"SDAKST","result":"wrong"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"BUCK","result":"wrong"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"VCU","result":"wrong"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"NDAK","result":"wrong"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SDAKST","result":"eliminated"},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUCK","result":"eliminated"},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"XAVIER","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUCK","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUCK","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"UCDAV","result":"wrong"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"NEVADA","result":"wrong"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"IONA","result":"wrong"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCDAV","result":"eliminated"},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NEVADA","result":"eliminated"},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OKLAST","result":"eliminated"},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCDAV","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCDAV","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SETON","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MINN","result":"eliminated"},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MINN","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"137","timestamp":"1489702547","team_id":"1","team_name":"moo moo","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/1">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/1', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1514 20170317 21:38:02 --> diff --git a/cbs/data/lemur2 b/cbs/data/lemur2 new file mode 100644 index 0000000000000000000000000000000000000000..ed27fbec4a026ed80d5a4eabafb188fb32491658 --- /dev/null +++ b/cbs/data/lemur2 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/2"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/2" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/2"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/2"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX18lezaGzIdxQpwhxFM8VNjFmLj-aMs6GrlwlDStYfyCYBw8_Qn-5n0GVR7VfgtM4qOnV0ok3pg5aCTjiCvdrV-LRZj2ns-ctkRNuFSdtFWmIWeFG9hZDyqX"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/2" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" selected="selected">cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">cw #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '2', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX1-ziRcHN4fHbtVMQJB-_wuzOjWaUw6QAABxHdQAObJy905WnQyIxpNJ_iRNH84ArscLo9q0AoqVXekDgJZ3IEBz-CE0bjhhuaM', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=971080', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"PRINCE","result":"wrong"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"CREIGH","result":"eliminated"},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"164","timestamp":"1489369051","team_id":2,"team_name":"cw","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/2">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/2', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1513 20170317 21:38:03 --> diff --git a/cbs/data/lemur3 b/cbs/data/lemur3 new file mode 100644 index 0000000000000000000000000000000000000000..f9586f0b21439dbf0f72a65e7179d557924ccc0c --- /dev/null +++ b/cbs/data/lemur3 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/3"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/3" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/3"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/3"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX18CFgA5C9UL9aAGKLu6ek5ZxplnKfDQv7yqqQIEMVVHzFvfdq0XSrJ73oJODhUwdNVzJ0ftXVbLMx-5SbruSa8t_4y0ygX2weNQ0zsIVtKwrQt39zNYfcfS"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/3" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" selected="selected">Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">Prathyush Katukojwala #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '3', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX18OFCTwk7Cz-xjf1jgJYFk5mrXvM4x-a0aTnEeAP8DYxNaI3M9hQOJV9TChAi2ArG9slqFdSezvfRLDJ_PCX9gsYfJXkVYE9FU', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/c8c0725a18a9cc86ca5c2be76de72100?randkey=235578', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"DAYTON","result":"wrong"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"150","timestamp":"1489434974","team_id":3,"team_name":"Prathyush Katukojwala","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/3">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/3', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1503 20170317 21:38:04 --> diff --git a/cbs/data/lemur4 b/cbs/data/lemur4 new file mode 100644 index 0000000000000000000000000000000000000000..18b8ca593f2036cf9c6acc199fbc3fe1bf63157e --- /dev/null +++ b/cbs/data/lemur4 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/4"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/4" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/4"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/4"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX19ysnKu3QUPmB2VXZi8VWbh8zJ8SQCE-r6aIeJXOjTvz7pmyNxHNB016fT-LERzTANRclMTy5JBqna4mn5SpFG-DPBXJjxNfBwPNJYXWlGdxGrC964zCKbF"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/4" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" selected="selected">Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">Gopi Suresh #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '4', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX1-Un7m7nHqkkK3zH0lIZEGlPQOG2RfUakDdvhrsf3dsAI4QhEbaIWYSzVlTwUHrGh5V6d1tSbl-btVksAaSwGMNo33C3Nswr-c', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/a7aecce460183126ca5c2be76de72100?randkey=224529', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MTSU","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"163","timestamp":"1489373370","team_id":4,"team_name":"Gopi Suresh","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/4">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/4', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1511 20170317 21:38:06 --> diff --git a/cbs/data/lemur5 b/cbs/data/lemur5 new file mode 100644 index 0000000000000000000000000000000000000000..be3b9dc70ffbd1eacb35b3b1db196be366bdf2de --- /dev/null +++ b/cbs/data/lemur5 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/5"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/5" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/5"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/5"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX19ro6RKy_9Zni-bLjHFt8O-ZbGRpaADZGhy3nMqkIWSn7gkpG-iexmD2-OG_0mUsimcZcgPB3lTygWkOyPBB1Kv3iWHAMo0Li0XukeYWEx393HRvPSo06Az"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/5" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" selected="selected">Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">Tsang-Kai Chang #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '5', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX1-9yjLej4Ri9PR64JrEyks69DLKMDHLXhl0uAdYRFJ6BXT5qdDoqKuZno9yd2NCh634Pn51OGdzsHvHG6Pn1gSzaVo2O9iYfU8', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/a02d6937e99ffe91ca5c2be76de72100?randkey=614306', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"MOUNT","result":"wrong"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"USC","result":"right"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MOUNT","result":"eliminated"},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"USC","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"SDAKST","result":"wrong"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"PRINCE","result":"wrong"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"BUCK","result":"wrong"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"VCU","result":"wrong"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SDAKST","result":"eliminated"},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"OKLAST","result":"wrong"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OKLAST","result":"eliminated"},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"RI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"TEXSO","result":"wrong"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARK","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"PRINCE","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"99","timestamp":"1489604746","team_id":5,"team_name":"Tsang-Kai Chang","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/5">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/5', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1511 20170317 21:38:07 --> diff --git a/cbs/data/lemur6 b/cbs/data/lemur6 new file mode 100644 index 0000000000000000000000000000000000000000..8d8717cefbada1c4c62fa98fc1f9730df3085014 --- /dev/null +++ b/cbs/data/lemur6 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/6"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/6" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/6"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/6"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX1-HyDMowpTM6EdMYEjozh3gd2iHxePgfmjuws0qJ2pXjCCRh-u4AqdyfJhxJtSoS5QbzgEc6AW0yB-W9MeD3U8c-gl0vGJnem54UDKpgrytxxisX5QDsgyM"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/6" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" selected="selected">William Chen #1</option></select> + <span class="optionsSelectText">William Chen #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '6', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX18EVUypO55isVCFCk51M-Ln89TKMHOCgAxmleS1xJw0E4GTqvFlC75l4nBqUaHuFlf1f_Vss3-jQ1vYmpDsKho-1hl1JznVbAY', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/da7425752aac23efca5c2be76de72100?randkey=870642', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"DAYTON","result":"wrong"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"128","timestamp":"1489623794","team_id":6,"team_name":"William Chen","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/6">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/6', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1514 20170317 21:38:08 --> diff --git a/cbs/data/lemur7 b/cbs/data/lemur7 new file mode 100644 index 0000000000000000000000000000000000000000..c4f2fd3fddcac6f652f849e60ebeb3242cb01714 --- /dev/null +++ b/cbs/data/lemur7 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/7"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/7" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/7"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/7"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX1-QZcvUrfgK_eTwcDJuXv5DxoKu6Ood6dPVoD7kjK7Kvze5Ad2sk1GAgrUlZO_nl60DEnC8fmCNKo7zkG3POrwDM9bkhqlsHf69p4bdlPWMEkgkVFK5QvoY"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/7" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" selected="selected">Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">Likai Wei #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '7', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX1--hT9y-09fMy0dR-69JhT8mGBJdMJeu0HwTq4x5nwyQwgOUqby4NrK-Ms6DAlXImGLqUVZEAlrw1amQ1ekP0xEJCpdRzehEzY', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/3535397f8fb90986ca5c2be76de72100?randkey=833098', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SC","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ND","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"145","timestamp":"1489384382","team_id":7,"team_name":"Likai Wei","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/7">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/7', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1503 20170317 21:38:09 --> diff --git a/cbs/data/lemur8 b/cbs/data/lemur8 new file mode 100644 index 0000000000000000000000000000000000000000..a3d430582e3320ef824c1aca6b448a1e75f4360e --- /dev/null +++ b/cbs/data/lemur8 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/8"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/8" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/8"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/8"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX1-FoDu0weD9BkRqwUsaj2vs0YDaljy3dT_jrY-FZYAb24fkLaqzY7Itlsl_SEtKHpFdgECMERcis-USJtroTlMbP6p0FYUcbTau9k2-QhdwnypS4ksP2gla"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/8" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" selected="selected">Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" >Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">Jack He #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '8', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX1_gdg-p7DSg-64_dxtP1_GhnLRPKQemBx5-XMuLfRc3ewfMZ6p8_0kBXHiXk3_FBNCNWQtQ7J0vFxjgR7x7rABS0KiHwREZjk8', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/f12ba58513bf481dca5c2be76de72100?randkey=739011', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VATECH","result":"eliminated"},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"VCU","result":"wrong"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FGC","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"VCU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"NEVADA","result":"wrong"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"PURDUE","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"CREIGH","result":"eliminated"},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MINN","result":"eliminated"},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"197","timestamp":"1489453940","team_id":8,"team_name":"Jack He","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/8">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/8', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1514 20170317 21:38:10 --> diff --git a/cbs/data/lemur9 b/cbs/data/lemur9 new file mode 100644 index 0000000000000000000000000000000000000000..7e4ee8936d30ddc6933fac33da9a3dbca4061e3c --- /dev/null +++ b/cbs/data/lemur9 @@ -0,0 +1,5059 @@ +<!DOCTYPE html> +<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope itemtype="http://schema.org/" > +<head> + <link rel="SHORTCUT ICON" href="http://sports.cbsimg.net/favicon.ico"> + + <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><meta property="og:title" content="Brackets" /><meta property="og:type" content="article"/><meta property="og:description" content=""/><meta property="og:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png"/><meta property="og:url" content="http://www.cbssports.com/brackets/1/9"/><meta property="og:site_name" content="CBSSports.com"/><meta property="fb:app_id" content="297742330311988"/><meta itemprop="name" content="Brackets"/><meta itemprop="description" content=""/><meta name="vr:type" content="article"/><meta name="twitter:card" content="summary" /><meta name="twitter:site" content="@cbssports" /><meta name="twitter:creator" content="@eyeonCBB" /><meta name="twitter:url" content="http://www.cbssports.com/brackets/1/9" /><meta name="twitter:title" content="Brackets" /><meta name="twitter:description" content="" /><meta name="twitter:image" content="http://sports.cbsimg.net/images/cbss/ui5/cbssportsv2_200x200.png" /> +<meta name="googlebot" content="NOODP"> +<meta property="fb:pages" content="25902406772" /> + +<link rel="canonical" href="http://www.cbssports.com/brackets/1/9"> + + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <title>lemur - CBSSports.com </title> + + <link href="http://sports.cbsimg.net/css/sass/fant-main/grid-v10.css" id="fantasyGrid" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/core/core-v296.css" id="fantasyCoreCSS" rel="stylesheet" type="text/css" /><link href="http://sports.cbsimg.net/css/sass/fant-main/mayhem-v299.css" id="fantasySportCSS" rel="stylesheet" type="text/css" /> +<!-- <link href="http://sports.cbsimg.net/css/jquery/fantasy/ui-tools-min.css" rel="stylesheet" type="text/css"/> --> + + + <style> + body { overflow-x: hidden !important; } + </style> + + <!--[if lt IE 9]><script>var e = ("abbr,article,aside,audio,canvas,datalist,details,figure,figcaption,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video").split(',');for (var i = 0; i < e.length; i++) {document.createElement(e[i]);}</script><![endif]--> +<script type="text/javascript"> +if(typeof CBSi=="undefined"||!CBSi){var CBSi={}}CBSi.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e=e+1){f=b[e].split(".");g=CBSi;for(c=(f[0]=="CBSi")?1:0;c<f.length;c=c+1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};CBSi.extend=function(d,e,c){if(!e||!d){throw new Error("extend failed, please check that all dependencies are included.")}var b=function(){};b.prototype=e.prototype;d.prototype=new b();d.prototype.constructor=d;d.superclass=e.prototype;if(e.prototype.constructor==Object.prototype.constructor){e.prototype.constructor=e}if(c){for(var a in c){if(c.hasOwnProperty(a)){d.prototype[a]=c[a]}}}};CBSi.panel={overlayManager:undefined,create:function(c,b){if(!this.overlayManager){this.overlayManager=new YAHOO.widget.OverlayManager()}if(!b.strings){b.strings={}}if(!b.strings.close){b.strings.close=""}var a=new YAHOO.widget.Panel(c,b);this.overlayManager.register(a);return a}};CBSi.fireEvent=function(b,c){if(document.createEvent){var a=document.createEvent("HTMLEvents");a.initEvent(c,true,true);return !b.dispatchEvent(a)}else{var a=document.createEventObject();return b.fireEvent("on"+c,a)}};CBSi.log=function(){};if(window.console&&window.console.log){CBSi.log=function(){if(CBSi.debugmode===""){return}var a=[];for(var b=0;b<arguments.length;b++){a.push(arguments[b])}console.log(a)}}else{if(window&&window.console){window.console.log=function(){}}else{window.console={};window.console.log=function(){}}if(console){console.log=function(){}}else{console={};console.log=function(){}}}CBSi.jsRenvInit=function(a){for(var b in a){CBSi[b]=a[b]}return}; +if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js only +</script> +<script id="jsRenv_script" type="text/javascript">CBSi.jsRenvInit({"takeoverIsBlank":0,"httpHost":"http://uclalemur.mayhem.cbssports.com","project":"openmayhem","mediaHttpServer":"http://www.cbssports.com","pref":{"timezoneOffset":"4","timezoneAbbrev":"ET"},"league_abbr":"","arena":"collegebasketball","imageServer":"http://sports.cbsimg.net","requestUri":"/brackets/1/9"});</script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/yahoo-dom-event-connection-datasource-get-imageloader-animation-json-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/jquery.1.8.2.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/jquery/ui/jquery.1.9.2.custom.min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/global-min-v0085.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/fantasy-min-v0024.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/CBSi/event/Tracking-min.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/dragdrop/dragdropIE.js'></script> +<script type='text/javascript' src='http://sports.cbsimg.net/js/yui/latest/container/container-min.js'></script> +<!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> +<script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> +<script type="text/javascript"> +CBSi.token = "U2FsdGVkX1_qOZZtOAUtxf1oFFGGDUPzgWSk1vpVUZLwCOm_kiR3wFtU1DG1VTlIUThYYxKtTbKhmsymMLbKfg3NYvNMl6wCBB_bh-JVLFDv78StTwrYlMHESpphNgFf"; +CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); + +$.fn.serializeObject = function() { + var arrayData, objectData; + arrayData = this.serializeArray(); + objectData = {}; + + $.each(arrayData, function() { + var value; + + if (this.value != null) { + value = this.value; + } else { + value = ''; + } + + if (objectData[this.name] != null) { + if (!objectData[this.name].push) { + objectData[this.name] = [objectData[this.name]]; + } + + objectData[this.name].push(value); + } else { + objectData[this.name] = value; + } + }); + + return objectData; +}; +// these functions are defined in FANTASY/htdocs/script-fantasy.html +function display(id, on_off) { + if ( !id.match( /#/ ) ) { + id = "#" + id; + } + id = id.replace(/:/, '\\:'); + var toggle = on_off ? '' : 'none'; + if($(id)[0]) $(id).css('display', toggle); +} +function confirmLink(message, url) { + if(confirm(message)) { + window.location.href = url; + } +} +function confirmSubmit(message, form_name) { + if(confirm(message)) { + getEl(form_name).submit(); + } +} +function inspect(elm){ + var str = ""; + for (var i in elm){ + str += i + ": " + elm.getAttribute(i) + "\n"; + } + alert(str); +} + +function getParameter (sPageURL, sParam) { + var sURLVariables = []; + var sURLVariables1 = sPageURL.split('?'); + + if (sURLVariables1[1] && sURLVariables1[1].length > 0) { + sURLVariables = sURLVariables1[1].split('&'); + } + + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) { + return sParameterName[1]; + } + } + + return ""; +} + + +$(document).delegate("a.playerLink, #page-contents a", "click", function(e) { + var snippetHref, cvals, data_from, + href = this.href, + tab = $(this).attr("tab") || 'overview', + play_video = $(this).attr("play_video") || '0'; + //tab = $(this).attr("tab") || 'news', + //subTab = $(this).attr("subtab") || ''; + + if ( href.match(/playerpage|players\/player\/news/) ) { + e.preventDefault(); + + data_from = getParameter(href, "data_from"); + href = href.split("?")[0]; + + snippetHref = href.replace(/player\/news/, "playerpage"); + var playerid = snippetHref.match(/\/(\d+)(\/|$)/); + snippetHref = snippetHref.replace(/\/(\d+)(\/|$)/, "/snippet/$1$2"); + snippetHref += "?loc=snippet&selected_tab=" + tab + "&play_video="+play_video; + + if (data_from && data_from.length > 0) { + snippetHref += "&data_from="+data_from; + } + //snippetHref += "?loc=snippet&selected_tab=" + tab + "&selected_subtab=" + subTab; + + console.log(snippetHref); + + CBSi.widget.PlayerSnippet.open( snippetHref ,playerid[1]); + } +}); +CBSi.adsDeferredCallback = function( adsCallback ) { + var i, len, ad; + + for ( i = 0, len = adsCallback.length; i < len; i++ ) { + ad = adsCallback[i]; + if ( ad.divId && ad.divId.match(/234_100|244_100/) ) { + if ( CBSi.takeoverIsBlank != ad.isBlank ) { + CBSi.takeoverIsBlank = ad.isBlank; + $.ajax({ + type: "POST", + url : "/data/common/takeover-tracking", + data: { 'takeover_blank' : ad.isBlank}, + dataType: 'json' + }); + } + break; + } + } + + if ( CBSi.messageCenter ) CBSi.messageCenter.setDefaultPosition(); +} + +function refreshAdsTest() { + return; +} + +</script> + +<!-- table width="770" cellpadding="0" cellspacing="0" border="0"><tr class="gntab"><td height="3"><spacer type="block" height="3" width="1"></td></tr></table --> + +<script> +//Dumping cookies that have been made browser/host only +(function($){ + //return;//Comment out to run code + //List of domains to check and see if the cookie has with it + var domains = ['.cbssports.com','.www.cbssports.com','www.cbssports.com','*.cbssports.com','cbssports.com', '.cbssports.com']; + //List of the names of cookies to match + var matches = ['CirclePoll','2013NCAAB','2013NFL','2013NCAAF']; + //Loop throught the cookies and find the matches + $.each(document.cookie.split(/; */), function() { + var splitCookie = this.split('='); + for(m in matches){ + if(splitCookie[0].match(RegExp(matches[m]))){ + for(d in domains){ + console.log(splitCookie[0], 'cookie removed'); + //Try to delete the cookie with a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";path=/"; + //Try to delete the cookie without a domain and path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;"; + //Try to delete the cookie without a path + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;domain=" + domains[d] + ";"; + //Try to delete the cookie without a domain + document.cookie= splitCookie[0] + "=; expires=Monday, 19 Aug 1996 05:00:00 GMT;path=/"; + } + } + } + + }); +})($); +</script> + + + + + + <script type="text/javascript"> +var surround=new Object(); +surround.cat = ['a','b','c','d','e','f']; +surround.cookie = readCookie('surround'); + +if (surround.cookie == false || surround.cookie == undefined) { + surround.pick = Math.floor(Math.random() * surround.cat.length); + surround.subsession = Math.floor(Math.random() * 4) + 1; /*subsessions 1-4*/ + document.cookie=("surround="+surround.cat[surround.pick]+"|"+surround.subsession+";domain=.cbssports.com;path=/" ); + surround.cookie = readCookie('surround'); +} +if (surround.cookie) {surround.sessions=surround.cookie.split("|");} +surround.vguid = v1(); +</script> + +<script type="text/javascript"> +var isSharethroughBlank = 'untested'; //declare window global +var storeExtraCover; + +function adCallBack(obj) { + + // CBSi.log('OBJECT: ', obj); + + if (obj.slot == adSlots["XFP_sharethrough_top"] && isSharethroughBlank == 'untested') { + if (obj.isEmpty) { // ad is blank + isSharethroughBlank = 'blank'; // reset to false for next time ad is refreshed + // CBSi.log('[ShareThrough] adCallback - isEmpty', isSharethroughBlank); + showHiddenCover(); + + } else { + isSharethroughBlank = 'filled'; + // CBSi.log('[ShareThrough] adCallback: ',isSharethroughBlank); + // ad is not blank + // video component + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).hide(); + } + + // 3, 6, or 9 pack + var ecLength = $('#extra-covers .coverItem').length; + + // CBSi.log('[ShareThrough] ecLength: ', ecLength); + + storeExtraCover = $('#extra-covers .coverItem').eq(ecLength-2).html(); + $('#extra-covers .coverItem').eq(ecLength-2).replaceWith($("#sharethrough_top")); + $("#extra-covers #sharethrough_top").addClass('coverItem'); + $('#extra-covers #sharethrough_top').show(); + } + } +} + +function blankAdCallback(width, height, pos) { + if (width == 11 && height == 11 && pos == 'top' && (isSharethroughBlank == 'filled' || isSharethroughBlank == 'untested') ) { + isSharethroughBlank = 'scheduled'; // set global + // CBSi.log('[ShareThrough] blankAdCallback: ', width, height, pos, isSharethroughBlank); + showHiddenCover(); + } +} + +function showHiddenCover() { + // CBSi.log('[ShareThrough] showHiddenCover: start'); + var ecLength = $('#extra-covers .coverItem').length; + if (typeof storeExtraCover != 'undefined' && storeExtraCover != '') { + // CBSi.log('[ShareThrough] showHiddenCover: ', storeExtraCover); + $('#extra-covers .coverItem').eq(ecLength-2).html(storeExtraCover) + }; + $('#extra-covers .coverItem').eq(ecLength-2).show(); + + if ('home' == 'blogs_eye_entry') { + var length = $('#vidComponent table').length; + $('#vidComponent table').eq(length - 1).show(); + } +} + +</script> + <script>window.logged_in = "yes";</script> +<script type="text/javascript"> +var cbsiadGlobal = { }; +if ( typeof(surround) == 'undefined' ) { surround = {}; } +var dwTag = "&PGUID="+surround.vguid +"&cookiesOn=" +cbsiadGlobal.cookiesOn; +</script> +<script type="text/javascript" src="//native.sharethrough.com/assets/tag.js" async></script><script type="text/javascript" src="//js.indexww.com/ht/ls-cbssports.js" async></script><script type="text/javascript" src="//mtrx.go.sonobi.com/morpheus.cbssports.1044.js" async></script> +<script type="text/javascript"> +if (!random) {var abc=Math.random() + ""; var random=abc.substring(2,abc.length);} +var switchXFP="on"; +var adLookup="fantasy/spln/collegebasketball/bpm/free/brackets"; +var adNetwork="8264"; +var xfpObj='vguid='+surround.vguid+'~srvclvl=free~exclude=bpm~user=named~env=prod~arena=collegebasketball'; +</script> + + <script type="text/javascript"> + xfpDomain='.cbssports.com'; + xfpSlot='/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets'; + // tracks if this is the first page the user has visited in this session + function xfpFirstPageCookie() { + if (xfpFirstPage) {return xfpFirstPage;} // only run once per page, if already set, just return value + var xfpFirstPage = readCookie('XFP_FIRSTPAGE'); // get firstPage cookie + if (!xfpFirstPage) { // if cookie doesn't exist, this is the first page, so firstPage = 1 + xfpFirstPage = 1; + } else if (xfpFirstPage == 1) { // else, this is the second page, set firstPage = 0 + xfpFirstPage = 0; + } + var exp = new Date(); + exp.setTime(exp.getTime() + xfpGetTimeToExpiration(.75)); // get number of milliseconds until 12:45am ET + document.cookie=('XFP_FIRSTPAGE ='+xfpFirstPage+";expires="+exp.toUTCString()+";domain="+xfpDomain+";path=/;"); + return xfpFirstPage; // set and return the parameter DVAR_FIRSTPAGE = firstPage + } + // given the expiration hour in ET, return the number of milliseconds to + // expiration from the given Date Object (defaults to current date) + function xfpGetTimeToExpiration(etExpireHour,dt) { + dt = dt || new Date(); + var etUtcOffset = 5; // hours + if (isEDT(dt)) etUtcOffset = 4; // if in daylight savings time + var utcExpire = (etExpireHour+etUtcOffset)%24; // UTC expire time in hours + var utcTime = 60*dt.getUTCHours() + dt.getUTCMinutes(); // UTC time in mins + var minsToExpiration = 60*utcExpire - utcTime; // time to expiration + if (minsToExpiration < 0) minsToExpiration = 24*60 + minsToExpiration; + return 60000*minsToExpiration; // in milliseconds + } + // determine if Daylight Savings Time is being observed in the ET timezone + // at the date/time of the given Date Object (defaults to current time) + function isEDT(dt) { + dt = dt || new Date(); // default to current date + var month = dt.getUTCMonth(); // get month in UTC + if (month > 2 && month < 10) return true; // in EDT if Apr to Oct + if (month < 2 || month > 10) return false; // not in EDT if Jan,Feb,Dec + var date = dt.getUTCDate(); // get day of month in UTC + var day = dt.getUTCDay(); // get day of week in UTC + if (month == 10) { // November + if (date > 7) return false; // after first week, not in EDT + if (day == 0) { // Sunday of first week, check time + if (dt.getUTCHours() < 6) return true; //before 6am UTC, in EDT + return false; // 6am UTC or later, not in EDT + } + if (date > day) return false; // Sunday has passed, not in EDT + return true; // Sunday has not passed, in EDT + } + // March + if (date < 8) return false; // still first week, not in EDT + if (date > 14) return true; // after second week, in EDT + if (day == 0) { // Sunday of second week, check time + if (dt.getUTCHours() > 6) return true; // 7am UTC or later, in EDT + return false; // before 7am UTC, not in EDT + } + if (date - day > 7) return true; // Sunday has passed, in EDT + return false; // Sunday has not passed, not in EDT + } + //sharethrough + + var xfpFirstPage = 0; + var xfpSession = (surround.cookie) ? surround.sessions[0] : 'off'; + var xfpSubsession = (surround.cookie) ? surround.sessions[1] : 'off'; + + function xfpGetArgs(){ + var args = new Object(); + var query = location.search.substring(1); // get query string + var pairs = query.split("&"); + for (var i=0; i < pairs.length; i++) { + var pos = pairs[i].indexOf('='); // Look for name "name=value" + if (pos == -1) continue; // If not found, skip + var argname = pairs[i].substring(0,pos); // Extract the name + var value = pairs[i].substring(pos+1); // Extract the value + value = decodeURIComponent(value); // Decode it, if needed + var adTarg = argname.match(/adTargeting_/); // Do we have a match on adTargeting_<key> + + // Set Targeting for spec'd out query parms + if (argname == 'env' || argname == 'session' || argname == 'subses' || argname == 'adRegion' || argname == 'ftag' || argname == 'ttag' || (adTarg)) { + // args[argname] = value; + if (adTarg) {argname = argname.substring(12);} // strip off adTargeting_ from the name if present + googletag.pubads().setTargeting(argname, value); // Set Targeting + if (argname == 'ftag' || argname == 'ttag') { + document.cookie=("xfpFtag="+value+";domain="+xfpDomain+";path=/" ); + newFtag = 1; + } + xfpObj += '~' +argname +'=' +value; + } + } + + var xfpFtagVal = readCookie("xfpFtag"); // check if we have an ftag cookie + var newFtag = 0; + if ((newFtag==0) && xfpFtagVal) { // If no new setting for ftag but we had an old one then + googletag.pubads().setTargeting('ftag', xfpFtagVal); // Set Targeting + xfpObj += '~ftag=' +xfpFtagVal; + } + } + + function getTaboolaPlacements() { + var taboolaList = ''; + $("div[data-taboola-placement]").each(function() { + $this = $(this); + if ($this.data('taboola-placement')) { + if (taboolaList != '') {taboolaList+='|';} + taboolaList += $this.data('taboola-placement'); + } + }); + surround.taboola=taboolaList; + } + </script> + <script type="text/javascript"> + var googletag = googletag || {}; + googletag.cmd = googletag.cmd || []; + (function() { + var gads = document.createElement('script'); + gads.async = true; + gads.type = 'text/javascript'; + var useSSL = 'https:' == document.location.protocol; + gads.src = (useSSL ? 'https:' : 'http:') +'//www.googletagservices.com/tag/js/gpt.js'; + var node = document.getElementsByTagName('script')[0]; + node.parentNode.insertBefore(gads, node); + })(); + + var adSlots = {}; //var to hold ad slots. + + googletag.cmd.push(function() { + + adSlots["XFP_leader_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [[728,90],[970,66],[970,90]], "leader_top").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_skin_ad_call"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [1600,1000], "skin_ad_call").addService(googletag.pubads()).setTargeting("pos", "top"); + adSlots["XFP_bracket_bottom"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [960,100], "bracket_bottom").addService(googletag.pubads()).setTargeting("pos", "bottom"); + adSlots["XFP_marquee_presenting_top"] = googletag.defineSlot("/8264/aw-cbssports/collegebasketball/fantasy/bpm/brackets", [280,77], "marquee_presenting_top").addService(googletag.pubads()).setTargeting("pos", "top"); + googletag.pubads().setTargeting("ptype", "matchups"); + googletag.pubads().setTargeting("firstpg", ""+xfpFirstPage); + googletag.pubads().setTargeting("session", xfpSession); + googletag.pubads().setTargeting("subses", ""+xfpSubsession); + googletag.pubads().setTargeting("vguid", surround.vguid); + googletag.pubads().setTargeting("srvclvl", "free"); + googletag.pubads().setTargeting("exclude", "bpm"); + googletag.pubads().setTargeting("user", "named"); + googletag.pubads().setTargeting("env", "prod"); + + xfpGetArgs(); // to set/override targeting for env, session, subses, adRegion, ftag, ttag, and adTargeting_<key> if set by query string + googletag.pubads().enableAsyncRendering(); + googletag.pubads().enableSingleRequest(); + googletag.pubads().collapseEmptyDivs(); + googletag.enableServices(); + // googletag.display(); // Ad display is triggered via Sonobi. + }); + var PR_UACT=0; + xfpObj += '~ptype=matchups~firstpg=' +xfpFirstPage +'~session='+xfpSession +'~subses='+xfpSubsession+''; + function getVideoAdSessionValues(videoId){return "session="+xfpSession+";subses="+xfpSubsession+"";} + </script> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({other : 'auto'}); + !function (e, f, u) { + e.async = 1; + e.src = u; + f.parentNode.insertBefore(e, f); + }(document.createElement('script'), + document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/cbsinteractive-cbssportsfantasy/loader.js'); + </script> + + + <!-- no ClickTale --> + <script type="text/javascript" src="http://sports.cbsimg.net/js/underscore/1.4.4/underscore-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone/1.0.0/backbone-min.js"></script> + <script type="text/javascript" src="http://sports.cbsimg.net/js/backbone-marionette/1.6.2/backbone.marionette.min.js"></script> + + <script> + var disableGlobalChatJS = true; + var FANTASY_LEAGUE_JS_GLOBALS = { + "leagueName" : "lemur", + "sport" : "mayhem", + "leagueLogo" : null, + "leagueId" : "uclalemur", + "leagueType" : "bpm" +} + </script> + + + <script type="text/javascript" src="http://sports.cbsimg.net/js/fantasy/global-v136.js"></script> +</head> +<body id="standardBody"> +<div id="tooltip" name="tooltip"></div> +<!-- no intromercial --> +<!--div id="container">--> +<div id="container"> + + + <!--START THE NAV--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="nav-network-bar"> + <ul class="nav-networks"> + <li class="nav-networks-item "> <a href="http://www.cbssports.com" om-event="Fantasy Brand Bar|CBSSports">CBSSports.com</a> </li> + <li class="nav-networks-item "> <a href="http://247sports.com" target="_blank" om-event="Fantasy Brand Bar|247Sports"> 247Sports </a> </li> + <li class="nav-networks-item "> <a href="http://www.maxpreps.com" target="_blank" om-event="Fantasy Brand Bar|MaxPreps"> MaxPreps </a> </li> + <li class="nav-networks-item "> <a href="http://www.sportsline.com" target="_blank" om-event="Fantasy Brand Bar|SportsLine"> SportsLine </a> </li> + <li class="nav-networks-item "> <a href="http://shop.cbssports.com/?utm_source=cbssportscom&utm_medium=bm_referral&utm_term=kw--cbsshoptab%7Ccpn--no_coupon%7Coffer--no_offer&utm_content=L--all_leagues%7Ct--all_teams%7Cp--all_players%7Cpc--all_product_categories%7Cag--NoGender&utm_campaign=dest--www_cbssports_com%7Ccreatv--link%7Cdate--91115%7Cgeo--NoGeo%7Cplace--nav" target="_blank" om-event="Brand Bar|Shop"> Shop </a> </li> + </ul> + <ul class="nav-follow-us"> + <li class="nav-follow-us-item nav-follow-us-item-label"> Follow CBS Sports Fantasy </li> + <li class="nav-follow-us-item"> <a href="https://www.facebook.com/CBSSportsFantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Facebook"><span class="btn share icon-facebook icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://twitter.com/cbsfantasy" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Twitter"><span class="btn share icon-twitter icon-white icon-hover-white icon-12"></span></a> </li> + <li class="nav-follow-us-item"> <a href="https://www.instagram.com/cbssports" target="_blank" rel="nofollow" om-event="Fantasy Brand Bar|Instagram"><span class="btn share icon-instagram icon-white icon-hover-white icon-14"></span></a> </li> + </ul> + </div> + </div> + </div> + <div id="fantNavContainer" class="box-Lg"> + <div class="row row-no-pad"> + <div class="fantNav box "> + <!--<div style="max-width:1230px; min-width:980px; margin:0 auto;">--> + <div style="position:absolute;left:500px;"> + + + </div> + <div> + + <div class="fant-drop header_logo" data-top="60" data-left="20" data-obj="NONE" data-type="logo-drop"> + <div class="logo" style="width:155px;"> + <a href="http://www.cbssports.com"><img src="http://sports.cbsimg.net/images/openfantasy/header/logos/sportslogo.svg"></a> + </div> + </div> + <a href="http://www.cbssports.com/collegebasketball/ncaa-tournament/brackets/games"><img id="bracketsExtraLogo" width="65" height="40" src="http://sports.cbsimg.net/images/openfantasy/header/logos/bgames-logo.png"></a> + + <!--<div class="full-spacer " style="margin-left:10px;float:left;"></div>--> + + + <div class='helpIconWrapper padRight10'><a href="javascript: void window.open('/support/league//','Support','width=1000,height=900,scrollbars=yes')"><div></div></a></div> + + + <div class="team-info fant-drop drop commissioner" data-top="60" data-left="-117" data-obj="NONE" data-type="team-drop"> + + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + <div class="team-info-inside" data-top="60" data-left="9" data-obj="NONE" data-type="team-drop"><div class="drop-shadow"> </div> + <div style="float:left;padding-left:8px;padding-right:8px;"> + <img src="http://sports.cbsimg.net/images/splash/mayhem/tiny-bpmfree.png" class="team_logo"> + + </div> + <div class="league_info"> + <div>moo moo</div> + <div style="font-size:13px;">lemur</div> + </div> + </div> + </div> + <div class="navigation"> + +<ul> +<li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='0' data-type='single-drop'><a href="/setup/opm/pool-name">Setup</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='1' data-type='single-drop'><a href="/">Home</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='2' data-type='single-drop'><a href="/brackets">Brackets</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='3' data-type='single-drop'><a href="/brackets/standings">Standings</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='4' data-type='single-drop'><a href="/options">Options</a><div class="optionUnderline"></div></li><li class='fant-drop drop main-nav ' data-top='60' data-addon='' data-obj='5' data-type='single-drop'><a href="javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')">Help</a><div class="optionUnderline"></div></li> +</ul> +<script> + var FantasyGlobalNavJson = + { + + 'menu' : [ + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/setup/opm/pool-name", + "label" : "Setup" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/pool-name\">Group Name</a></li>", + "url" : "/setup/opm/pool-name", + "label" : "Group Name", + "type" : "", + "option" : "Group Name|/setup/opm/pool-name||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/scoring\">Scoring & Rules</a></li>", + "url" : "/setup/opm/scoring", + "label" : "Scoring & Rules", + "type" : "", + "option" : "Scoring & Rules|/setup/opm/scoring||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/invite-players\">Invite/Manage Players</a></li>", + "url" : "/setup/opm/invite-players", + "label" : "Invite/Manage Players", + "type" : "", + "option" : "Invite/Manage Players|/setup/opm/invite-players||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/commissioners\">Grant Manager Access</a></li>", + "url" : "/setup/opm/commissioners", + "label" : "Grant Manager Access", + "type" : "", + "option" : "Grant Manager Access|/setup/opm/commissioners||", + "condition" : "commissioner_access" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/setup/opm/offline-users\">Add Offline Player</a></li>", + "url" : "/setup/opm/offline-users", + "label" : "Add Offline Player", + "type" : "", + "option" : "Add Offline Player|/setup/opm/offline-users||", + "condition" : "commissioner_access" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/", + "label" : "Home" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/\">Home</a></li>", + "url" : "/", + "label" : "Home", + "type" : "v", + "option" : "Home|/||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/messages\">Message Board</a></li>", + "url" : "/messages", + "label" : "Message Board", + "type" : "v", + "option" : "Message Board|/messages||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/rules\">Rules</a></li>", + "url" : "/office-pool/rules", + "label" : "Rules", + "type" : "", + "option" : "Rules|/office-pool/rules||", + "condition" : "" + }, + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/office-pool/players\">Players</a></li>", + "url" : "/office-pool/players", + "label" : "Players", + "type" : "", + "option" : "Players|/office-pool/players||", + "condition" : null + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets", + "label" : "Brackets" + }, + "sub_facts" : [ + { + "target" : "", + "custom_class" : "", + "html" : "<li><a href=\"/brackets\">My Brackets</a></li>", + "url" : "/brackets", + "label" : "My Brackets", + "type" : "v", + "option" : "My Brackets|/brackets||", + "condition" : "" + }, + { + "target" : "_new", + "custom_class" : "", + "html" : "<li><a href=\"http://www.cbssports.com/mobile/brackets\" target=_new>Mobile App</a></li>", + "url" : "http://www.cbssports.com/mobile/brackets", + "label" : "Mobile App", + "type" : "v", + "option" : "Mobile App|http://www.cbssports.com/mobile/brackets|_new|", + "condition" : "" + } + ] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/brackets/standings", + "label" : "Standings" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "/options", + "label" : "Options" + }, + "sub_facts" : [] + }, + { + "info" : { + "target" : "", + "custom_class" : null, + "url" : "javascript: void window.open('/support/brackets/help/index','Support','width=1000,height=900,scrollbars=yes')", + "label" : "Help" + }, + "sub_facts" : [] + } +], + 'teams' : [ + { + "logo" : "//sports.cbsimg.net/images/splash/basketball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/basketball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Basketball", + "key" : "basketball" + }, + { + "logo" : "//aye-aye.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://aye-aye.mayhem.cbssports.com/", + "team_name" : "Aye-aye", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//dangsta.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://dangsta.mayhem.cbssports.com/", + "team_name" : "Danger Stairs", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//eegaps.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://eegaps.mayhem.cbssports.com/", + "team_name" : "EEGAPS", + "league_name" : "moo moo", + "key" : "brackets" + }, + { + "logo" : "//csail.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://csail.mayhem.cbssports.com/", + "team_name" : "MIT CSAIL", + "league_name" : "moomoo", + "key" : "brackets" + }, + { + "logo" : "//freebracketchallenge.1.mayhem.cbssports.com/ownerlogo?size=36x36", + "url" : "http://freebracketchallenge.1.mayhem.cbssports.com/", + "team_name" : "2017 CBSSports.com Bracket Challenge", + "league_name" : "Colorithmic", + "key" : "brackets" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/baseball/tiny-fm.jpg", + "url" : "http://www.cbssports.com/fantasy/baseball/games/franchise/home/", + "team_name" : "Go Build Your Franchise!", + "league_name" : "Franchise Baseball", + "key" : "baseball" + }, + { + "logo" : "//sports.cbsimg.net/images/splash/football/tiny-fm2015.jpg", + "url" : "http://www.cbssports.com/fantasy/football/games/franchise/2015/home/", + "team_name" : "Draft Your Team Today!", + "league_name" : "Franchise Football", + "key" : "football" + } +], + 'messages' : { + "total_message_count" : 0, + "new_messages" : [], + "new_message_count" : 0, + "road_block" : {}, + "viewed_messages" : [], + "viewed_message_count" : 0 +}, + 'apps' : {} + } + ; +</script> + + + + + + </div> + </div> + </div> + </div> +</div> + <div class="under_nav"> + +<script type="text/template" id='blank-drop'> + <%if(addon){%> + <%= addon %> + <%}%> +</script> + + <script> +var sport = "mayhem"; +var logo_dropdown = '<ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class="icon-cbs-icon icon-blue-6 icon-hover-blue-6 icon-12"></span> <a href="http://www.cbssports.com" om-event="Fantasy Nav|Fantasy|CBS Sports Home">CBS Sports Home</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-bracket"></span> <a href="http://www.cbssports.com/college-basketball/ncaa-tournament/brackets/games/" om-event="Fantasy Nav|Fantasy|Brackets">Brackets</a> </li><li class="nav-dropdown-item is-selected"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-fantasy"></span> <a href="http://www.cbssports.com/fantasy/" om-event="Fantasy Nav|Fantasy|Fantasy">Fantasy</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-nfl"></span> <a href="http://www.cbssports.com/nfl/" om-event="Fantasy Nav|Fantasy|NFL">NFL</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/nba/" om-event="Fantasy Nav|Fantasy|NBA">NBA</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-basketball"></span> <a href="http://www.cbssports.com/college-basketball/" om-event="Fantasy Nav|Fantasy|NCAA BB">NCAA BB</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-golf"></span> <a href="http://www.cbssports.com/golf/" om-event="Fantasy Nav|Fantasy|Golf">Golf</a> </li><li class="nav-dropdown-item"> <span class="icon-blue-6 icon-hover-blue-6 icon-12 icon-arena-mlb"></span> <a href="http://www.cbssports.com/mlb/" om-event="Fantasy Nav|Fantasy|MLB">MLB</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/college-football/" om-event="Fantasy Nav|Fantasy|NCAA FB">NCAA FB</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/nhl/" om-event="Fantasy Nav|Fantasy|NHL">NHL</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/soccer/" om-event="Fantasy Nav|Fantasy|Soccer">Soccer</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/mma/" om-event="Fantasy Nav|Fantasy|MMA">MMA</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/tennis/" om-event="Fantasy Nav|Fantasy|Tennis">Tennis</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/boxing" om-event="Fantasy Nav|Fantasy|Boxing">Boxing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.cbssports.com/olympics/" om-event="Fantasy Nav|Fantasy|Olympics">Olympics</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.maxpreps.com/national/national.htm" om-event="Fantasy Nav|Fantasy|High School" target="_blank" class="external-link" rel="nofollow">High School</a> </li></ul><ul class="nav-dropdown-col"><li class="nav-dropdown-item"> <span class=""></span> <a href="http://sports.cbslocal.com/" om-event="Fantasy Nav|Fantasy|CBS Local Sites" target="_blank" class="external-link" rel="nofollow">CBS Local Sites</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.nascar.com/en_us/sprint-cup-series.html?cid=syn_cbs_referrers_navlinks_01112013&synid=syn_cbs_referrers_navlinks_01112013" om-event="Fantasy Nav|Fantasy|NASCAR" target="_blank" class="external-link" rel="nofollow">NASCAR</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.americasbestracing.net/" om-event="Fantasy Nav|Fantasy|Horse Racing" target="_blank" class="external-link" rel="nofollow">Horse Racing</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://toughmudder.com/" om-event="Fantasy Nav|Fantasy|Tough Mudder" target="_blank" class="external-link" rel="nofollow">Tough Mudder</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.arenafootball.com/" om-event="Fantasy Nav|Fantasy|Arena Football" target="_blank" class="external-link" rel="nofollow">Arena Football</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="http://www.bowl.com/" om-event="Fantasy Nav|Fantasy|Bowling" target="_blank" class="external-link" rel="nofollow">Bowling</a> </li><li class="nav-dropdown-item"> <span class=""></span> <a href="https://www.ticketcity.com/" om-event="Fantasy Nav|Fantasy|Tickets" target="_blank" class="external-link" rel="nofollow">Tickets</a> </li></ul>'; + +$(function(){ + $('.fantNav').on('mouseenter','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('dark','light'); + self.find('img').attr('src', newText); + }).on('mouseleave','.header_logos',function(){ + var self = $(this); + var text = self.find('img').attr('src'); + var newText = text.replace('light','dark'); + self.find('img').attr('src', newText); + }); +}); +</script> + + + +<script type="text/template" id="logo-drop"> + <% var top = xpos + 20; %> + <% var left = ypos + 20; %> + <div class="fant-menu single-drop"> + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:6px;"></span> + <div> + <ul> + <li class="cbs-logo-dropdown"> + <%=logo_dropdown%> + </li> + </ul> + </div> + </div> +</script> + +<script type="text/template" id="message-drop"> + <% var top = data.xpos - 5; %> + <% var left = data.ypos - 250; %> + + <div class="fant-menu message-drop" style="width:320px" data-left="11"> + <div> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:270px;"></span> + + <div class="tab selected" data-type='new'>Recent Activity</div><div class="tabSpace">/</div><div class="tab" data-type='viewed'>Show Older</div> + + <div class="messages"> + <div class="message-block viewed hide"> + + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'viewedMessages', + 'self' : data, + 'addon' : addon, + 'deleteOption' : 1, + 'type' : 'Archive', + 'message' : data.navObj.messages.viewed_messages, + }) + %> + </div> + <div class="message-block new show"> + <%= _.template($('#message-list').html(),{ + 'titleClass' : 'newMessages', + 'self' : data, + 'addon' : addon, + 'type' : 'Recent', + 'deleteOption' : 0, + 'message' : data.navObj.messages.new_messages, + }) + %> + </div> + </div> + </div> +</div> +</script> + + + + + +<script type="text/template" id="message-list"> + +<% if(message.length > 0) { %> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var newTitleClass = titleClass;%> + <div class="messageWrapper"> + <% _.map(message, function(value){ %> + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% var newDate = CBSi.widget.Time.formatTime('%b %d %Y %I:%M %p',value.created); %> + + <div class="message <%= newTitleClass %> <%= show %> page<%=page%>" data-message-id="<%= value.id %>"> + + <% if(deleteOption){ %> + <div style="margin-top:10px;float: left;margin-top: 16px;position: absolute;left: 15px;"><input class="message_delete" value="<%= value.id %>" type="checkbox"></div> + <% } %> + <span class="time"> <%= newDate %> </span> + <b class="title"> <%= value.title %> </b> + <p class="details show <%= value.id %>"> <%= value.description %> </p> + <p class="details hide <%= value.id %>"> <%= value.full_description %> <br><span class="hide-messages" data-message-id="<%= value.id %>">Hide Message</span> </p> + + </div> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + </div> + <%= addon.setPagination({ + 'totalUnits' : message.length, + 'amountPerPage' : amountPerPage, + 'parseArray' : message, + 'container' : self.navContainer, + 'parseName' : newTitleClass + }) %> + <% if(deleteOption){ %> + <div class="delete-messages"> <span class="delete-list"> Clear Selected</span><span style="padding-left: 20px;" class="clear-all">Clear All</span> </div> + <% } %> + + <% if(newTitleClass == 'newMessages') self.addOns.messageCenter.clearMessageCount(); %> + + <% }else{ %> + <div class="message"> + <p class="details show">No <%=type%> Messages</p> + </div> + <% } %> + + + + +</script> + + + + +<script type="text/template" id="team-drop"> + <% var top = xpos + 20; %> + <% var left = 0; %> + <% var teamCount = Math.floor($(window).height() / 80) - 3; %> + <% var ulViewHeight = teamCount * 62; %> + <% var keyDisplayTranslation = {}; %> + <div class="fant-menu team-drop" style="width:330px"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-7px; left:<%= caret %>px;"></span> + <div> + <ul> + <li style="max-height: <%= ulViewHeight %>px; overflow-y: auto; overflow-x: hidden"> + <ul> + <% var header = ''; %> + <% _.map(navObj.teams, function(value){ %> + <% //if (teamCount <= 0) return; %> + <% if(header != value.key){ %> + <!--<li class="header_border" style="clear:both;"></li>--> + <li class="header"><%= (keyDisplayTranslation[value.key]) ? keyDisplayTranslation[value.key] : value.key %></li> + <% header = value.key%> + <% } %> + <li class="info" style="height:31px;"> + <img src="<%= value.logo %>"> + + <a href="<%= value.url %>"> + <%= value.team_name %> + <br> + <span><%= value.league_name %></span> + </a> + </li> + <% //teamCount-- %> + <% }); %> + </ul> + </li> + <li class="bottomLinks"> + <div class="nav-my-teams-bottom"> + <div class="bottom-row"> + <a href="http://www.cbssports.com/fantasy/manage">Organize / See All Teams</a> + <a href="https://wallet.cbssports.com" target="_blank">Wallet</a> + </div> + <div class="bottom-row"> + <a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a> + <a href="/logout">Log Out</a> + </div> + </div> + </li> + <!--<li class="header_border" style="clear:both;"></li>--> +<!-- <li class="teamsSeparator"><div class="separator"> </div></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">View All Teams</a></li> + <li class="link"><a href="http://www.cbssports.com/fantasy/manage">Organize My Teams</a></li> + <li class="link"><a href="https://wallet.cbssports.com">My Wallet</a></li> + <li class="link"><a href="http://www.cbssports.com/settings?end=<%=document.URL%>">Account Settings</a></li> + <li class="link"><a href="/logout">Sign Out</a> </li>--> + </ul> + </div> + </div> +</script> + + +<script type="text/template" id='apps-addon'> + <% var currentAmount = 1; %> + <% var page = 0; %> + <% var amountPerPage = 4; %> + <% var currentPage = null; %> + <div class="addon"> + <ul> + <% if(data.navObj.apps[0].length > 0){ %> + <% _.map(data.navObj.apps[0], function(value){ %> + + <% if(typeof value == 'undefined') return; %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>" style="min-width:386px">My Apps</li> + <% currentPage = page %> + <% } %> + + <% currentShow = show;%> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="/tools/apps/<%=value.id%>" style="border:0; padding:0;margin:0"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + + <% }); %> + + <% } %> + + <% var currentPage = null; %> + <% var totalApps = data.navObj.apps.length; %> + + <% _.map(data.navObj.apps[1], function(value){ %> + + <% var show = (currentAmount <= amountPerPage) ? 'show' : 'hide'; %> + <% if(typeof value == 'undefined') return; %> + <% if(currentPage != page){ %> + <li class="recomendedApps header page<%=page%> <%=show%>">Recommended Apps <br> <a href="http://www.cbssports.com/fantasy/apps" style="border:0px; margin:0; padding:0; font-weight:400; font-size:10px">App Central</a></li> + <% currentPage = page %> + <% } %> + <li class="recomendedApps <%= show %> page<%=page%>"> + <a href="http://www.cbssports.com/app/<%=value.vanity_url%>" style="border:0; padding:0;margin:0" target="_blank"> + <div class="logo"> + <img src="http://sports.cbsimg.net/images/openfantasy/apps<%= value.images %>"> + </div> + <div class="content"> + <span class="name"><%= value.name %></span><br> + <span class="vender"><%= value.vender %></span><br> + </div> + </a> + </li> + <% if(currentAmount % amountPerPage == 0) page++;%> + <% currentAmount++; %> + <% }); %> + + + + </ul> + + + + + <div style="clear:both"></div> + <%= addon.setPagination({ + 'totalUnits' : data.navObj.apps[0].length + data.navObj.apps[1].length, + 'container' : self.navContainer, + 'amountPerPage' : amountPerPage, + 'parseArray' : _.union(data.navObj.apps[0], data.navObj.apps[1]), + 'parseName' : 'recomendedApps' + }) %> + </div> +</script> + + + +<script type="text/template" id='single-drop'> + <% var boxWidth = (addon) ? 710 : 235 ; %> + <% var left = (addon) ? ypos - 30 : ypos; %> + <% var arrowPlaceMent = (selected.width() / 2) + 12 ; %> + <% var arrowLeft= (addon) ? 282 : arrowPlaceMent; %> + <% var addonClass = (addon) ? 'add-on-drop' : ''; %> + <div class="fant-menu single-drop <%=addonClass%>" style="min-width:<%=boxWidth%>px;"> + + <span class="icon-caret-up icon-blue-8 icon-hover-blue-8" style="position:absolute; top:-9px; left:<%=arrowLeft%>px;"></span> + + <div style="float:left;"> + <ul> + <% _.map(list, function(value){ %> + <li class="<%= value.custom_class %>"><a href="<%= value.url %>" + <% if(value.target){ %> + target="<%= value.target %>" + <%}%> + + ><%= value.label %></a></li> + <% }); %> + </ul> + </div> + <%if(addon){%> + <%= addon %> + <%}%> + </div> +</script> + + + </div> + <!-- END THE NAV--> + + <!--START THE HEADER--> + <div class="box-Lg"> + <div class="row row-no-pad"> + <div class="col-12 col-no-pad"> + <!--googleoff: snippet--> + <script> + $(".userMenu.loggedIn").click(function () { + $(this).parent().toggleClass("active"); + $("#userInfo").toggleClass("active"); + $(".userName").toggleClass("active"); + }); + </script> + <!--googleon: snippet--> + </div> + </div> + <div class="row row-no-pad"> + + </div> + </div> + <!--END THE HEADER--> + <!--START THE MANTLE SKIN--> + <div class="box-Lg" id="mantle_skin"> + <div id="adSkinLeft"></div><div id="adSkinRight"></div> + + + + <!--START THE CONTENT BOX--> + <div class="box-Lg"> + <div class="row row-no-pad"> + + + <div id="fantasyPageHeaderContainerDynamic" class="mayhem-header-background"> + <div class="box-Rg"> + + <div class="box-Rg"> +<div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="skin_ad_call" style="max-height:1px !important"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("skin_ad_call"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("skin_ad_call"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="skin_ad_call" style="width:960px"><br>').insertBefore('#skin_ad_call'); + } + </script> + </div> + + <div align="center" style="height:auto;"> + + <div id="leader_top" style="padding-top:10px;"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("leader_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("leader_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="leader_top" style="width:980px"><br>').insertBefore('#leader_top'); + } + </script> + + </div> + +</div> + + </div> + </div> + </div> + + + <div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div id="fantasyPageHeaderDynamic" class="fantasyPageHeaderDynamic"> + <div class="clearfix"> + + <div class="fantasyPageInfoHeader"> + <div class="teamName"> + <div class="teamName">moo moo</div> + </div> + <div class="pageHeader"> + Brackets + </div> + </div> + + <div style="float:right;padding:5px;"><div id="marquee_presenting_top"> + <script type="text/javascript"> + if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("marquee_presenting_top"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("marquee_presenting_top"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="marquee_presenting_top" style="width:280px;"><br>').insertBefore('#marquee_presenting_top'); + } + </script> +</div></div> + </div> + + <div class="clear"></div> + <div class="headerTabs"></div> + <div class="filters primaryFilters"></div> + <div class="filters level1"></div> + <div class="filters static"></div> + <div class="filters level2"></div> + <div class="headerExtras"></div> + <div class="clear"></div> + </div> + </div> + </div> + </div> +</div> + + +<script> +$(function(){$(".logoCover").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()});$(".leagueHeaderTeamLogo:not(.disabledEdit)").hover(function(){$(".editLogoCover").show()},function(){$(".editLogoCover").hide()})}); +//$('#fantasyPageHeaderContainerDynamic').removeClass('football-header-background').find('#fantasyPageHeaderDynamic').addClass('football-header-background'); +//$('#homepageHeaderContainer').removeClass('football-header-background').find('#fantasyHeaderImageRight').addClass('football-header-background'); +FantasyComponentPlacer.register_array([ +// { +// name : 'filtersLevel1', +// watch : '.pageFilter.level1 div', +// put : '.filters.level1', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'filtersLevel1', + watch : '.pageFilter.primaryFilters div', + parentClass : '.pageFilter.primaryFilters', + put : '.filters.primaryFilters', + }, +// { +// name : 'filtersLevel2', +// watch : '.pageFilter.level2 div', +// put : '.filters.level2', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, +// { +// name : 'filtersLevel3', +// watch : '.statsPageFilters .pageFilter.level3 div', +// put : '.filters.level3', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// },{ +// name : 'filtersStatic', +// watch : '.pageFilter.static div', +// put : '.filters.static', +// renderObj : FantasyFilters, +// renderMethod : 'render' +// }, + { + name : 'addDropPlayerCompare', + watch : 'div#playerCompare ul.content li.active div.pageFilter.level2', + put : 'div.secondaryPlayerCompareFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + },{ + name : 'addDropRosterStats', + watch : 'div.myRosterContainer div#lineup_views div.pageFilter.level2', + put : 'div.secondaryDropRosterFilters', + renderObj : FantasyFilters, + renderMethod : 'render' + }, +// { +// name : 'tabs', +// watch : '.fantasyTabGroup', +// put : '.headerTabs' +// }, + { + name : 'extras', + watch : '.setLineupButton', + put : '.headerExtras' + }, +// { +// name : 'rightHeaderNav', +// watch : '.fantasyHeaderNavRight', +// put : '.headerExtras' +// }, + { + name : 'top2', + watch : '.pageFilter.top2 div', + put : '.filters.top2', + renderObj : FantasyFilters, + renderMethod : 'render' + }, + { + name : 'search', + watch : '.statsPageFilters .search div', + put : '.filters.top1', + } +]); + +$(function(){ + FantasyComponentPlacer.move_array([ + {name : 'search', clear : 1}, + {name : 'top2', clear : 1}, + {name : 'filtersLevel1', clear : 1}, + {name : 'extras', clear : 1}, + // {name : 'rightHeaderNav'} + // {name : 'filtersLevel2', clear : 1}, + // {name : 'filtersStatic', clear : 1}, + // {name : 'filtersLevel3', clear : 1}, + // {name : 'tabs', clear : 1}, + // {name : 'options'}, + + ]); + + var formHelper = new FormHelper(); + $(document).ready( function() { + $(".pageFilter.subFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "lightFilter" }); + }); + $(".filters.primaryFilters .dropDown select").each(function(i, val) { + formHelper._renderSelectBox($(val), undefined, { combineArrow: true, containerClass: "darkFilter" }); + }); + }); +}); +</script> + + + <div class="box-Rg box-white"> + <style> +.wf-loading {visibility: hidden;} +.wf-loading { + visibility: visible\9; /* IE8 and below - need this or ads do not show */ +} + +.wf-active {visibility: visible;} + +.fontProximaNovaReg {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: normal;} +.fontProximaNovaRegItalic {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 400; font-style: italic;} +.fontProximaNovaSemi {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 600; font-style: normal;} +.fontProximaNovaBold {font-family: 'proxima-nova', arial, helvetica, sans-serif; font-weight: 700; font-style: normal;} + +.fontJubilatReg {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: normal; } +.fontJubilatItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 400; font-style: italic; } +.fontJubilatMedItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 500; font-style: italic; } +.fontJubilatBold {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; } +.fontJubilatBoldItalic {font-family: 'jubilat', arial, helvetica, sans-serif; font-weight: 700; font-style: italic; } +</style> +<script type="text/javascript"> + (function() { + var config = { + kitId: 'xsg4acm', + scriptTimeout: 3000 + }; + var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//fonts.cbsi.com/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s) + })(); +</script> + + <div class="box-Rg"> + <div class="row row-no-pad"> + <div class="col-12 col-stretch-12 col-no-pad"> + + <div id="saagWrapper"> + <div class="saag"> + <div class="leagueSelector cursorHand"> + <nav om-nope="saag|CollegeBasketball|sportmenu|button"> + + <div class="nflOnlyTitleCont"> + <div class="nflTitle">NCAA</div> + <div class="selectedTitleArrow"></div> + </div> + + </nav> + <ul class="leagueList"><li class="" data-category="collegebasketball" om-nope="saag|CollegeBasketball|sportsmenu|collegebasketball">NCAA <span class="icon-caret-right icon-green-1 icon-8" style="padding-left: 3px;"></span></li></ul> + </div> + <div id="saagScores"> + <span class="saagShadow before"></span> + <span class="saagShadow after"></span> + <span class="saagShadow top"></span> + <span class="saagShadow bottom"></span> + <div id="saagScoresList"></div> + </div> + <span class="saagNav prevArrow arrowDeactivate" om-nope="saag|CollegeBasketball|slider|collegebasketball|previous"><span></span></span> + <span class="saagNav nextArrow" om-nope="saag|CollegeBasketball|slider|collegebasketball|next"><span></span></span> + </div> + </div> + + </div> + </div> + </div> + +<script> + $(document).ready(function() { + $("#saagWrapper .saag .leagueSelector ul.leagueList li").on("click", function() { + var thisRef = $(this); + if(!thisRef.hasClass("selectedNav")) { + var liParent = thisRef.parent(); + liParent.find("li.selectedNav").attr("class", ""); + thisRef.attr("class", "selectedNav"); + } + else { + return false; + } + }); + }); +</script> + +<div class="row row-no-pad"> + <div class="col-12 col-no-pad col-stretch-12"> + <div> + <div id="fb-root" style="display: none;"></div> + <script> + window.fbAsyncInit = function() { + FB.init({ + appId : '114341921932784', + status : true, + xfbml : true + }); + }; + + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/all.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + </script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:site" content="@CBSSports"> + <meta name="twitter:title" content="My Shared Bracket"> + <meta name="twitter:description" content="I just filled out my bracket on CBSSports.com #brackets"> + <meta name="twitter:creator" content=""> + <meta name="twitter:image:src" content="http://sports.cbsimg.net/images/openfantasy/mayhem/twitter_shared_graphic_500x338.jpg"> + + <link href='http://fonts.googleapis.com/css?family=Oswald:400' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> + <link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'> + + <style> + div#bracketbg div.gameContainerRound1Left{width:127px;height:53px;background-position:0 0}div#bracketbg div.gameContainerRound1LeftLocked{width:127px;height:53px;background-position:0 -410px;cursor:default!important}div#bracketbg div.gameContainerRound1Left span.bracketSeed,div#bracketbg div.gameContainerRound1Right span.bracketSeed{padding-top:5px;color:#fff}div#bracketbg div.gameContainerRound1LeftLocked span.bracketSeed,div#bracketbg div.gameContainerRound1RightLocked span.bracketSeed{padding-top:5px;color:#757575}div#bracketbg div.gameContainerLeft{width:108px;height:53px;background-position:0 -54px}div#bracketbg div.gameContainerLeftLocked{width:108px;height:53px;background-position:0 -463px;cursor:default!important}div#bracketbg div.gameContainerRound1Right{width:127px;height:53px;background-position:-128px 0}div#bracketbg div.gameContainerRound1RightLocked{width:127px;height:53px;background-position:-128px -410px;cursor:default!important}div#bracketbg div.gameContainerCenter{background-position:0 -757px}div#bracketbg div.gameContainerCenterLocked{background-position:0 -518px;font-weight:bold}div#bracketbg div.gameContainerRight{width:109px;height:53px;background-position:-111px -54px}div#bracketbg div.gameContainerRightLocked{width:109px;height:53px;background-position:-111px -463px;cursor:default!important}div#bracketbg div.gameDivSelected,div#bracketbg div.gameDivUnselectedError{color:#000;font-weight:bold;position:relative;cursor:pointer;background-image:url(http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2.png)}div#bracketbg div.gameDivUnselectedError{width:93px!important;margin-left:0!important}div#bracketbg div.gameDivSelected.topLeft{background-position:0 -146px}div#bracketbg div.gameDivSelectedHover.topLeft{background-position:0 -252px}div#bracketbg div.gameDivUnselectedError.topLeft{background-position:0 -303px}div#bracketbg div.gameDivSelected.bottomLeft{background-position:0 -174px}div#bracketbg div.gameDivSelectedHover.bottomLeft{background-position:0 -280px}div#bracketbg div.gameDivUnselectedError.bottomLeft{background-position:0 -332px}div#bracketbg div.gameDivSelected.topRight{background-position:-92px -146px}div#bracketbg div.gameDivSelectedHover.topRight{background-position:-92px -252px}div#bracketbg div.gameDivUnselectedError.topRight{background-position:-92px -303px}div#bracketbg div.gameDivSelected.bottomRight{background-position:-92px -174px}div#bracketbg div.gameDivSelectedHover.bottomRight{background-position:-92px -280px}div#bracketbg div.gameDivUnselectedError.bottomRight{background-position:-92px -332px}div.roundDate{color:#333;float:left;font-family:arial;font-size:11px;font-weight:bold;height:28px;margin:0;position:relative;line-height:14px}div.roundDate p:last-child{font-weight:normal}div.roundDate.left{text-align:left}div.roundDate.right{text-align:right}div.roundDate.r1{width:127px}div.roundDate.r2{width:108px}div.roundDate.ss{width:97px}div.roundDate.ee{width:99px}div.roundDate.ff{width:94px;text-align:center}div#bracketbg div.teamDiv{font:11px arial,verdana,times;height:24px;color:#000;font-weight:bold;overflow:hidden}div#bracketbg div.gameDivActual{background:white;color:#999;visibility:hidden;font:11px arial,verdana,times;font-weight:bold}div#bracketbg div.correct{color:#090}div#bracketbg div.incorrect span,div#bracketbg div.incorrect{color:#900;text-decoration:line-through}div#bracketbg div.quadrantLabel{position:absolute;top:195px;z-index:10;width:80px;height:20px;font:bold 16px arial,verdana,times;color:#033566}div.ui-dialog-titlebar.ui-widget-header{background:none repeat scroll 0 0 #092f54}div.interstitial{height:600px;font-family:"proxima-nova" sans-serif,"Helvetica","Arial";position:relative;overflow:hidden;text-align:center;width:440px}div.interstitialBpcBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/bpcbg.jpg) no-repeat}div.interstitialRbrBg{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/rbr_bg.jpg) no-repeat}div.interstitial a{text-decoration:underline}div.interstitial div.responseMsg{padding-top:10px;font-size:16px;color:red}div.interstitial div.logo{height:157px;width:440px;margin-bottom:15px}div.interstitial div.picksSavedText{display:block;color:#ff6411;font-size:16px;font-weight:bold;line-height:40px;height:40px}div.interstitial div.prizeContainer{left:-10px;position:relative}div.interstitial div.infoContainer{float:left;width:440px}div.interstitial div.prodAdTextCont{color:#000;font-size:30px;font-weight:400;line-height:32px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}div.interstitial div.prizeText{color:#000;font-size:32px;font-weight:bold;line-height:30px;letter-spacing:2px;text-transform:uppercase}div.interstitial div.prodAdTextCont span.winText{color:#80baf1}div.interstitial div.infoContainer div.spacer{border-bottom:1px solid #c1cacf;height:1px;margin:0 auto;padding-top:10px;width:395px}div.interstitial div.infoContainer div.prodAdTextCont2{color:#000;font-size:16px;line-height:18px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeBPC div.prodText{margin-bottom:22px}div.interstitial div.infoContainer div.prodAdTextCont2.prizeRbR div.prodText{margin-bottom:13px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText:last-child{margin-bottom:0}div.interstitial span.boldText{font-weight:bold;color:#000}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft,div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{height:1px;width:49px;display:inline-block;border-bottom:1px solid #94a1a9;position:relative;top:-5px}span.smallSpacerMid{margin-top:15px;margin-bottom:15px;height:0;width:80px;display:inline-block;border-bottom:3px solid #ff6411}div.gameMessage{font-size:21px;line-height:23px;letter-spacing:1px;margin-top:20px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerRight{left:15px}div.interstitial div.infoContainer div.prodAdTextCont2 div.prodText span.smallSpacerLeft{left:-15px}div.interstitial div.infoContainer div.playNowBtnCont button.interstitialEnterBtn{background-color:#ff6411;color:#FFF;border:0;box-shadow:none;height:47px;margin-top:40px;width:300px;font-weight:bold;font-size:20px;letter-spacing:2px;cursor:pointer}span.registeredTrademark{font-size:22px;vertical-align:text-top}div.interstitial div.closeBPC,div.interstitial div.closeRbR{color:#004a8e;font-size:16px;font-weight:bold;padding-top:12px;padding-bottom:5px}div.closeBPC a,div.closeRbR a{text-decoration:none}div.bpcLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.rbrLogo{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_2017.jpg)}div.closeBtn{background:url(http://sports.cbsimg.net/images/fantasy/mayhem/brackets/mayhem_interstitial_x_2017.png);float:right;height:28px;width:28px;margin:5px;cursor:pointer}div.interstitial div.disclaimer{color:#000;font-size:14px;letter-spacing:.5px;line-height:14px;text-align:center;margin-top:40px}div.interstitial div.disclaimer a{color:#ff6411!important;font-weight:bold}dl{padding-left:5px;padding-bottom:10px}dl dt{font-weight:bold;line-height:20px}dl dd{margin-left:10px;line-height:20px}a#backToBrackets{font-size:10px}.gradient{background:#e9e9e9;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2U5ZTllOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMWUxZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(1%,#e9e9e9),color-stop(100%,#e1e1e1));background:-webkit-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-o-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:-ms-linear-gradient(top,#e9e9e9 1%,#e1e1e1 100%);background:linear-gradient(to bottom,#e9e9e9 1%,#e1e1e1 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9',endColorstr='#e1e1e1',GradientType=0)}.gradient2{background:#e5e5e5;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZTVlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjY2NjY2MiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);background:-moz-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e5e5e5),color-stop(100%,#ccc));background:-webkit-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-o-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:-ms-linear-gradient(top,#e5e5e5 0,#ccc 100%);background:linear-gradient(to bottom,#e5e5e5 0,#ccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5e5e5',endColorstr='#cccccc',GradientType=0)}.topMenu{height:28px}#top_menu{width:960px;margin:20px auto 0 auto}#top_menu>div{width:960px;margin:0 auto}.buttonContainer{height:35px;width:400px;margin:0 auto;padding-top:10px}.dropdownContainer{height:40px;width:205px;margin:2px auto}.shareBackground{height:16px;width:106px;background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -1328px;margin-left:15px}.finalFourBackgroundLeft{background-image:url(http://sports.cbsimg.net/images/fantasy/mayhem/bracket_sprites.png);background-position:0 -692px}.finalFourBackgroundNCImageCenter{background-position:0 -1205px}.finalFourBackgroundNCImageCenterLocked{background-position:134px -1205px}.finalImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}.finalImgNoDisplay{margin:0 auto;height:90px;width:90px;display:none}.optionButton{width:98px;height:36px;-moz-border-radius:1px;border-radius:1px;-webkit-border-radius:1px;padding-left:0;padding-right:0}.bracket_count_container{z-index:10000}.infoLink{font-weight:bold;font-size:14px;color:#12447b;cursor:pointer;font-family:courier}span.optionsSelectText{display:none}div#newBracketsBtn,div#disabledBracketsBtn{cursor:pointer;display:inline-block}div#max_brkts{display:inline-block}#importPicksButton{padding-right:15px}div.currentRoundContainer{background:none repeat scroll 0 0 #ebebeb;border:1px solid #d0cfcc;color:#737373;font-size:15px;font-weight:bold;height:57px;left:400px;padding:5px;position:absolute;text-align:center;top:150px;width:160px}div.currentRoundContainer div.currentRound{background:#0d2858;background:-moz-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d2858),color-stop(100%,#0b1f42));background:-webkit-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-o-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:-ms-linear-gradient(top,#0d2858 0,#0b1f42 100%);background:linear-gradient(to bottom,#0d2858 0,#0b1f42 100%);-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0d2858',endColorstr='#0b1f42',GradientType=0);color:#d8d2cf;font-size:20px;font-weight:bold;line-height:30px;height:30px;padding:3px;margin-top:3px}div.moreInfoText{font-family:"proxima-nova","Helvetica","Arial",sans-serif;color:#c1cacf;font-size:14px;height:22px;position:absolute;left:42%;top:295px}img.iButton{margin-bottom:-6px} + html,body,div,span{margin:0;padding:0;border:0;vertical-align:baseline}.ui-dialog-content{padding:0}.ui-widget-content{padding:0}.ui-dialog .ui-dialog-content{padding:0}div.teamContainer{width:95px}div.teamContainer.rightTeam{width:95px}div.teamContainer:hover{color:#fff}div.teamContainer:hover .teamName.correctPick{color:#fff !important}div.teamContainer:hover .teamName.incorrectPick{color:#fff !important}.insideMatchupRoundLocked .teamContainer:hover{color:#232323}.insideMatchupRoundLocked .teamContainer:hover .teamName.correctPick{color:#090 !important}.insideMatchupRoundLocked .teamContainer:hover .teamName.incorrectPick{color:#900 !important}div.roundContainer{width:105px}div.bracketTitle{color:#3787d9;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:26px;font-weight:bold;position:absolute;text-transform:uppercase;top:240px}div.bracketItmLeft1 div.bracketTitle,div.bracketItmLeft2 div.bracketTitle{left:160px}div.bracketItmRight1 div.bracketTitle,div.bracketItmRight2 div.bracketTitle{left:210px}div#bracketContainer{position:relative;align:center;height:1105px;width:965px;overflow:auto}div#bracketbg{margin-top:20px;overflow:hidden;position:relative;height:1055px;width:960px;background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_background4.png") no-repeat center}div#bracketbg div.bracketItmLeft1{height:505px;left:0px;position:absolute;top:0px;width:479px}div#bracketbg div.bracketItmRight1{height:505px;left:509px;position:absolute;top:0px;width:478px}div#bracketbg div.bracketItmLeft2{height:505px;left:0px;position:absolute;top:545px;width:479px}div#bracketbg div.bracketItmRight2{height:505px;left:509px;position:absolute;top:545px;width:478px}div#bracketbg div.finalFourBracket{width:50%;position:absolute;top:470px;left:270px}div#bracketbg div.finalFourBracket div#roundContainer5{width:400px}div.bracketSprite{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png")}div.moreInfoButton{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:40px 435px;display:inline;height:20px;margin:-3px 0px 5px -11px;position:absolute;width:22px}div.bracketItmLeft1 div.matchupRound1,div.bracketItmLeft2 div.matchupRound1{width:127px}div.bracketItmLeft1 div.matchupRound2,div.bracketItmLeft1 div.matchupRound3,div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound2,div.bracketItmLeft2 div.matchupRound3,div.bracketItmLeft2 div.matchupRound4{background-position:0px -54px}div.bracketItmRight1 div.matchupRound1,div.bracketItmRight2 div.matchupRound1{background-position:128px 0;width:129px}div.bracketItmRight1 div.matchupRound2,div.bracketItmRight1 div.matchupRound3,div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound2,div.bracketItmRight2 div.matchupRound3,div.bracketItmRight2 div.matchupRound4{background-position:144px -54px}div.matchupRound1,div.matchupRound2,div.matchupRound3,div.matchupRound4,div.matchupRound5,div.matchupRound6{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");height:55px;position:relative}div.matchupRound1{margin-bottom:10px}div.matchupRound2{margin-bottom:75px;margin-top:32px}div.matchupRound3{margin-bottom:206px;margin-top:100px}div.matchupRound4{margin-top:230px}div.bracketItmLeft1 div.matchupRound4,div.bracketItmLeft2 div.matchupRound4{left:-12px}div.bracketItmRight1 div.matchupRound4,div.bracketItmRight2 div.matchupRound4{left:12px}div.matchupRound5{width:108px;position:relative;top:35px}div.matchupRound6{height:37px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:0px -650px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:0px 69px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.topTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.topTeam:hover{background-position:114px -650px}div.bracketItmRight1 div.matchupRound1 div.teamContainer.bottomTeam:hover,div.bracketItmRight2 div.matchupRound1 div.teamContainer.bottomTeam:hover{background-position:114px 69px}div.finalFourBracket div#roundContainer5>div.matchupRound5{float:left;background-position:0px -54px}div.finalFourBracket div#roundContainer5 div.matchupAnalysis{left:91px;top:18px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomActualCorrectPick{left:4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.teamContainer{padding:0 0 0 4px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam{background-position:2px -146px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.topTeam:hover{background-position:2px -252px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam{background-position:2px -175px}div.finalFourBracket div#roundContainer5 div.leftFinalFourGame div.bottomTeam:hover{background-position:2px -281px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame{float:right}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topActualCorrectPick,div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomActualCorrectPick{float:right;right:4px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam{background-position:159px -146px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.topTeam:hover{background-position:160px -252px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam{background-position:159px -175px}div.finalFourBracket div#roundContainer5 div.rightFinalFourGame div.bottomTeam:hover{background-position:160px -281px}div.finalFourBracket div.matchupRound5+div.matchupRound5{float:right !important;background-position:144px -54px !important}div.finalFourBracket div.matchupRound5+div.matchupRound5 div.matchupAnalysis{left:0px !important}div.championshipWinImgContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:-2px 248px;height:91px;left:39px;position:absolute;top:-135px;width:118px}img.championshipImgDisplay{display:block;height:85px;margin:0 auto;padding-top:3px;width:85px}div.championshipPickedTeam{color:#000}div.matchupRound6 div.championshipPickedTeam,div.matchupRound6 div.actualCorrectChampion{font:12px arial,verdana,times;font-weight:bold;left:39px;position:absolute;text-align:center;top:-39px;width:118px}div.matchupRound6 div.actualCorrectChampion{background:#ECECEC;color:#999;position:absolute;top:-26px}div.matchupRound6 div.topActualCorrectPick{bottom:-3px;left:3px;position:absolute}div.matchupRound6 div.bottomActualCorrectPick{bottom:-3px;position:absolute;right:4px}div.finalFourBracket div.topActualCorrectPick,div.finalFourBracket div.bottomActualCorrectPick{background:none}div.finalFourBracket div#roundContainerWinner{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");background-position:132px 92px;height:91px;left:149px;position:absolute;top:-17px;width:118px}div.finalFourBracket div#roundContainer6{height:37px;left:110px;position:relative;top:63px;width:200px}div.finalFourBracket div#roundContainer6 div.matchupAnalysis{left:92px;top:16px}div.finalFourBracket div.matchupRound6{background-position:0px -108px}div.finalFourBracket div.matchupRound6 div.leftTeam:hover{background-position:2px -252px}div.finalFourBracket div.matchupRound6 div.rightTeam:hover{background-position:160px -252px}div.finalFourBracket div.matchupRound6 div.leftTeam{background-position:2px -146px}div.finalFourBracket div.matchupRound6 div.rightTeam{background-position:159px -146px}div.finalFourBracket div.matchupRound6 div.teamName{width:86px}div.finalFourBracket div.matchupRound6 div.leftTeam{float:left;text-align:left;padding:1px 0 0 4px}div.finalFourBracket div.matchupRound6 div.rightTeam{padding:1px 0px 0 0px;text-align:right;float:right}div.finalFourBracket div.matchupRound6 div.rightTeam div.teamName{width:84px}div.teamContainer{font:11px arial,verdana,times;font-weight:bold;height:23px;margin-bottom:6px;width:93px;position:relative}div.roundContainer{float:left;width:108px}div#roundContainer1{width:127px}div.bracketItmLeft1 div.matchupRound1 div.teamContainer,div.bracketItmLeft2 div.matchupRound1 div.teamContainer{width:110px}div.bracketItmLeft1 div.matchupRound1 div.teamName,div.bracketItmLeft2 div.matchupRound1 div.teamName{width:110px;padding:7px 0px 0px 0px}div.bracketItmLeft1 div.matchupRound2 div.teamName,div.bracketItmLeft2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound3 div.teamName,div.bracketItmLeft2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px}div.bracketItmLeft1 div.matchupRound4 div.teamName,div.bracketItmLeft2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px}div.bracketItmRight1 div.matchupRound1 div.teamContainer,div.bracketItmRight2 div.matchupRound1 div.teamContainer{width:115px}div.bracketItmRight1 div.matchupRound1 div.teamName,div.bracketItmRight2 div.matchupRound1 div.teamName{width:90px;right:3px;position:relative;padding:6px 0px 0px 0px}div.bracketItmRight1 div.matchupRound2 div.teamName,div.bracketItmRight2 div.matchupRound2 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound3 div.teamName,div.bracketItmRight2 div.matchupRound3 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.bracketItmRight1 div.matchupRound4 div.teamName,div.bracketItmRight2 div.matchupRound4 div.teamName{padding:6px 0px 0px 2px;position:relative;right:6px}div.finalFourBracket div.leftFinalFourGame div.teamName{width:115px;padding:6px 0px 0px 2px}div.finalFourBracket div.rightFinalFourGame div.teamContainer{text-align:right;width:95px}div.finalFourBracket div.rightFinalFourGame div.teamContainer div.teamName{width:84px;padding:6px 0px 0px 4px}div.finalFourBracket div.matchupRound6 div.teamContainer.leftTeam div.teamName{padding:6px 0px 0px 2px}div.finalFourBracket div.matchupRound6 div.teamContainer.rightTeam div.teamName{padding:6px 0px 0px 10px;position:relative;right:6px}div.topActualCorrectPick,div.bottomActualCorrectPick{background:#fff;color:#999;float:left;font:11px arial,verdana,times;font-weight:bold;position:relative}div.topActualCorrectPick{margin-top:-15px}div.bottomActualCorrectPick{margin-top:-3px}div#bracketbg div.correctPick{color:#090}div#bracketbg div.incorrectPick{color:#900;text-decoration:line-through}div#bracketbg div.seed{color:#fff;left:-3px;padding:6px 0 0 0;position:relative;text-align:center;width:22px}div.matchupAnalysis{cursor:pointer;margin-top:auto;height:20px;position:absolute;width:20px;z-index:99}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer{background-image:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");cursor:pointer;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}div.matchupRound1 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound2 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound3 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound4 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound5 div.insideMatchupRoundUnlocked div.teamContainer:active,div.matchupRound6 div.insideMatchupRoundUnlocked div.teamContainer:active{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important}div.matchupRound2 div.insideMatchupRoundUnlocked div.empty,div.matchupRound3 div.insideMatchupRoundUnlocked div.empty,div.matchupRound4 div.insideMatchupRoundUnlocked div.empty,div.matchupRound5 div.insideMatchupRoundUnlocked div.empty,div.matchupRound6 div.insideMatchupRoundUnlocked div.empty{cursor:default;background-image:none !important}div.bracketItmLeft1 div.topActualCorrectPick,div.bracketItmLeft1 div.bottomActualCorrectPick,div.bracketItmLeft2 div.topActualCorrectPick,div.bracketItmLeft2 div.bottomActualCorrectPick{left:4px}div.bracketItmLeft1 div.matchupAnalysis,div.bracketItmLeft2 div.matchupAnalysis{right:0px;top:17px}div.bracketItmLeft1 div.teamContainer,div.bracketItmLeft2 div.teamContainer{float:left;padding:0 0 0 4px}div.bracketItmLeft1 div.seed,div.bracketItmLeft2 div.seed{float:left}div.bracketItmLeft1 div.matchupRound1 div.topTeam,div.bracketItmLeft2 div.matchupRound1 div.topTeam{background-position:0px 0px}div.bracketItmLeft1 div.matchupRound1 div.bottomTeam,div.bracketItmLeft2 div.matchupRound1 div.bottomTeam{background-position:0px -29px}div.bracketItmLeft1 div.matchupRound2 div.topTeam,div.bracketItmLeft1 div.matchupRound3 div.topTeam,div.bracketItmLeft1 div.matchupRound4 div.topTeam,div.bracketItmLeft2 div.matchupRound2 div.topTeam,div.bracketItmLeft2 div.matchupRound3 div.topTeam,div.bracketItmLeft2 div.matchupRound4 div.topTeam{background-position:2px -146px}div.bracketItmLeft1 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.topTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.topTeam:hover{background-position:2px -252px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam{background-position:2px -175px}div.bracketItmLeft1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmLeft2 div.matchupRound4 div.bottomTeam:hover{background-position:2px -281px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{width:95px}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{right:4px}div.bracketItmRight1 div.matchupAnalysis,div.bracketItmRight2 div.matchupAnalysis{left:3px;top:17px}div.bracketItmRight1 div.seed,div.bracketItmRight2 div.seed{float:right}div.bracketItmRight1 div.matchupRound1 div.topTeam,div.bracketItmRight2 div.matchupRound1 div.topTeam{background-position:114px 0px}div.bracketItmRight1 div.matchupRound1 div.bottomTeam,div.bracketItmRight2 div.matchupRound1 div.bottomTeam{background-position:114px -29px}div.bracketItmRight1 div.teamContainer,div.bracketItmRight2 div.teamContainer{float:right}div.bracketItmRight1 div.topActualCorrectPick,div.bracketItmRight1 div.bottomActualCorrectPick,div.bracketItmRight2 div.topActualCorrectPick,div.bracketItmRight2 div.bottomActualCorrectPick{float:right}div.bracketItmRight1 div.teamName,div.bracketItmRight2 div.teamName{text-align:right}div.bracketItmRight1 div.matchupRound2 div.topTeam,div.bracketItmRight1 div.matchupRound3 div.topTeam,div.bracketItmRight1 div.matchupRound4 div.topTeam,div.bracketItmRight2 div.matchupRound2 div.topTeam,div.bracketItmRight2 div.matchupRound3 div.topTeam,div.bracketItmRight2 div.matchupRound4 div.topTeam{background-position:159px -146px}div.bracketItmRight1 div.matchupRound2 div.topTeam:hover,div.bracketItmRight1 div.matchupRound3 div.topTeam:hover,div.bracketItmRight1 div.matchupRound4 div.topTeam:hover,div.bracketItmRight2 div.matchupRound2 div.topTeam:hover,div.bracketItmRight2 div.matchupRound3 div.topTeam:hover,div.bracketItmRight2 div.matchupRound4 div.topTeam:hover{background-position:160px -252px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam,div.bracketItmRight1 div.matchupRound3 div.bottomTeam,div.bracketItmRight1 div.matchupRound4 div.bottomTeam,div.bracketItmRight2 div.matchupRound2 div.bottomTeam,div.bracketItmRight2 div.matchupRound3 div.bottomTeam,div.bracketItmRight2 div.matchupRound4 div.bottomTeam{background-position:159px -175px}div.bracketItmRight1 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight1 div.matchupRound4 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound2 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound3 div.bottomTeam:hover,div.bracketItmRight2 div.matchupRound4 div.bottomTeam:hover{background-position:160px -281px}div.tieBreakerContainer{background-color:#fff;left:380px;position:absolute;top:635px;width:200px;padding:0 0 5px 0}div.finalfourGraphic{position:absolute;top:340px;left:413px;z-index:9}div.finalfourGraphic div.finalfourlogo{background:url("http://sports.cbsimg.net/images/fantasy/mayhem/finalfour_2017.png") no-repeat;background-size:148px 148px;height:148px;left:-8px;margin:-55px auto -20px auto;position:relative;width:148px}div.finalfourGraphic div.nationalChampion{font-weight:bold;overflow-wrap:break-word;padding-top:7px;text-align:center;width:127px}div.homeTeamInfoContainer,div.awayTeamInfoContainer,div.categoryTitle{float:left;width:35%}.tooltipIButton{color:#EFEDED;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:10px}#tooltip{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background:#113761;font-weight:normal;z-index:3005000;visibility:hidden}#tooltipContainer{border-radius:5px 5px 5px 5px;display:none;max-width:200px;min-width:100px;padding:5px;position:absolute;width:auto;z-index:3005005;border:1px solid #b9b8b8;background-color:#113761}#tooltipContainer .caret{background:url("http://images.cbssports.com/images/fantasy/mayhem/caret_tooltip_down.png") no-repeat scroll 0 transparent;height:14px;position:absolute;width:21px}#tooltipContainer .bottom{background-position:-409px 0}div#bracketbg .ui-draggable{z-index:9}div#bracketbg .ui-draggable-dragging{cursor:grabbing !important;cursor:-moz-grabbing !important;cursor:-webkit-grabbing !important;z-index:95;color:#fff}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg ui-draggable-helper-top-right,div#bracketbg .ui-draggable-helper-bottom-left,div#bracketbg ui-draggable-helper-bottom-right{background:url("http://images.cbssports.com/images/fantasy/mayhem/bracket_sprites2_with_i4.png");z-index:95}div#bracketbg .ui-draggable-helper-top-left,div#bracketbg .ui-draggable-helper-bottom-left{width:93px !important}div#bracketbg .ui-draggable-helper-top-left{background-position:2px -252px}div#bracketbg .ui-draggable-helper-top-right{background-position:160px -252px}div#bracketbg .ui-draggable-helper-bottom-left{background-position:2px -281px}div#bracketbg .ui-draggable-helper-bottom-right{background-position:160px -281px}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-left{background-position:2px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-top-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-top-right{background-position:160px -252px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-left{background-position:2px -281px !important}div.finalFourBracket div.leftFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right,div.finalFourBracket div.rightFinalFourGame div.teamContainer.ui-draggable-helper-bottom-right{background-position:160px -281px !important}#bracketSelectDropdown{max-width:195px;width:195px}div.optionsSelectWrapper{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:195px}button.social_media_sharing_button{background:none !important;border:none !important;border-radius:none !important;text-shadow:none !important;box-shadow:none !important;padding:0 !important;height:30px;margin:0 0 0 4px;width:30px}button.facebook_sharing{margin:0 0 0 5px}div.twitter_sharing_button,div.facebook_sharing_button{height:30px;width:30px;cursor:pointer}div.twitter_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/twitter_brackets_sharing.png) no-repeat}div.facebook_sharing_button{background:url(http://images.cbssports.com/images/openfantasy/mayhem/facebook_brackets_sharing.png) no-repeat}div#teamMatchupContainer{height:690px;padding:0px 15px 15px 15px}div#teamMatchupContainer table{border-spacing:0;padding-bottom:10px;width:100%}div.teamMatchupHeader{color:#3787d9;text-transform:uppercase;font-size:30px;height:35px;line-height:10px;text-align:center}div#teamMatchupContainer .pickPercentage{background:#e2e2e2;background:-moz-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e2e2e2), color-stop(36%, #e0e2e1), color-stop(100%, #bdc1c1));background:-webkit-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-o-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:-ms-linear-gradient(top, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);background:linear-gradient(to bottom, #e2e2e2 0%, #e0e2e1 36%, #bdc1c1 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#bdc1c1',GradientType=0 );border:1px solid #dadada;border-radius:5px;color:#999;font-weight:bold;font-size:30px;height:40px;line-height:40px;padding-left:4px;text-align:center;width:90px}div#teamMatchupContainer div.teamLogo{height:50px;width:50px}div#teamMatchupContainer .labelSmall{font-family:"proxima-nova","Helvetica","Arial",sans-serif;padding-top:5px;text-align:center}div#teamMatchupContainer .overallRecord{color:#333;font-weight:bold;font-size:18px}div#teamMatchupContainer .divisionRecord{color:#333;font-family:"proxima-nova","Helvetica","Arial",sans-serif;font-size:15px}div#teamMatchupContainer .teamName{font-weight:bold;font-size:17px}div#teamMatchupContainer .teamSchool{font-weight:lighter;font-size:14px;height:18px}div#teamMatchupContainer .seed{color:#999;font-size:20px;height:40px;line-height:40px;width:30%;text-align:center}div#teamMatchupContainer #teamStats{color:#263a4c;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer #teamLeaders{color:#092550;font-size:16px;text-align:center;padding-top:10px}div#teamMatchupContainer tr td{border-bottom:1px solid #e2e2e2}div#teamMatchupContainer tr td:first-child+td{background:#eaeaea;color:#333;width:90px !important}div#teamMatchupContainer tr td:first-child+td div{padding:6px 0px}div#teamMatchupContainer tr td:first-child{width:165px !important}div#teamMatchupContainer tr td:first-child+td+td{width:165px !important}div#teamMatchupContainer #teamRecords{padding-bottom:10px}.playerName{color:#505050}.outlookContent{color:#232323;padding-top:10px}#teamOutlooks{color:#263a4c;margin-bottom:20px}#teamOutlooks #awayOutlook,#teamOutlooks #homeOutlook{padding-top:10px}span.teamSchool{padding-right:5px}.rightAlign{text-align:right}.leftAlign{text-align:left}.halfWidth{width:45%}div.loader{text-align:center;padding:130px}div.matchupTitle{padding:0 0 10px 0}div.ncaaDontBetLogoContainer{position:absolute;left:423px;height:44px;top:860px;width:115px}div.shareableDialogBox{background:#fff !important}div.importBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:0 0;height:16px;margin-left:auto;margin-right:auto;width:68px}div.autofillBackground{background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-84px 0;height:16px;margin-left:auto;margin-right:auto;width:82px}div.printBackground{height:16px;width:57px;background-image:url(http://images.cbssports.com/images/openfantasy/mayhem/import_auto_print_btns_sprite.png);background-position:-186px 0;margin-left:auto;margin-right:auto}div#bracket_top,div#bracket_bottom{width:100%;text-align:center;padding:10px 0px} + + </style> + + + <div id="page_top"><div id="button_container" class="buttonContainer" style="width:800px; position: relative;"> + <div id="button_container_inner" style="text-align:center; height: 38px; position: absolute; width:800px; "> + <button type="button" class="btn-primary" style="width:145px;" name="import" id="import" om-event="Brackets|bpm|Import"> + <span class="icon-download icon-white spacerRight10"></span><span>IMPORT</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="auto-fill" id="auto-fill" om-event="Brackets|bpm|AutoFill"> + <span class="icon-edit icon-white spacerRight10"></span><span>AUTO-FILL</span> + </button> + <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> + <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> + </button> + </div> + </div><div id="dropdown_container" class="dropdownContainer"><form autocomplete="off" action="/brackets/1/9" method="get"> + <div class="optionsWrapper mBottom10 options"> + <div class="mButton10" style="margin: 10px 0px 0px 5px;"> + <div class="optionsSelectWrapper"> + <select id="bracketSelectDropdown" name="bracket_num"><option value="1,1" >moo moo #1</option><option value="break" disabled>--------------------</option><option value="1,2" >cw #1</option><option value="1,4" >Gopi Suresh #1</option><option value="1,8" >Jack He #1</option><option value="1,7" >Likai Wei #1</option><option value="1,9" selected="selected">Nathan Pilbrough #1</option><option value="1,3" >Prathyush Katukojwala #1</option><option value="1,5" >Tsang-Kai Chang #1</option><option value="1,6" >William Chen #1</option></select> + <span class="optionsSelectText">Nathan Pilbrough #1</span> + </div> + </div> + </div> + </form> + <div id="bracket_count" class="bracket_count_container" style="width: 205px;height: 25px;margin: 10px 0px 0px 0px;font-size: 12px;color: #333;text-align: center;"> + <div class="disabledActionBtn icon-plus icon-12 icon-grey-2" id="disabledBracketsBtn"></div> + <div id="max_brkts">All brackets created. (1/1)</div> + </div></div></div><div id="top_menu" class="topMenu"><div><div class="roundDate left r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div><div class="roundDate left r2"><p>ROUND 2</p> <p>3/18 & 3/19</p></div><div class="roundDate left ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate left ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate ff"><p>FINAL FOUR ®</p><p>4/1</p></div><div class="roundDate right ee"><p>ELITE EIGHT ®</p><p>3/25 & 3/26</p></div><div class="roundDate right ss"><p>SWEET 16 ®</p><p>3/23 & 3/24</p></div><div class="roundDate right r2"><p>ROUND 2</p><p>3/18 & 3/19</p></div><div class="roundDate right r1"><p>ROUND 1</p><p>3/16 & 3/17</p></div></div></div><div style='top:325px;' class="moreInfoText"><div class="fleft" style="margin:0 10px 0 0;">Click on the </div><div class="fleft"><div class="moreInfoButton"></div></div> <div class="fleft" style="margin: 0 0 0 12px;">for Game Analysis</div></div> + + <script> + (function(){var w=this;var k=w._;var D={};var C=Array.prototype,f=Object.prototype,r=Function.prototype;var G=C.push,o=C.slice,y=C.concat,d=f.toString,j=f.hasOwnProperty;var K=C.forEach,q=C.map,E=C.reduce,c=C.reduceRight,b=C.filter,B=C.every,p=C.some,n=C.indexOf,l=C.lastIndexOf,u=Array.isArray,e=Object.keys,F=r.bind;var L=function(M){if(M instanceof L){return M}if(!(this instanceof L)){return new L(M)}this._wrapped=M};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=L}exports._=L}else{w._=L}L.VERSION="1.4.4";var H=L.each=L.forEach=function(R,Q,P){if(R==null){return}if(K&&R.forEach===K){R.forEach(Q,P)}else{if(R.length===+R.length){for(var O=0,M=R.length;O<M;O++){if(Q.call(P,R[O],O,R)===D){return}}}else{for(var N in R){if(L.has(R,N)){if(Q.call(P,R[N],N,R)===D){return}}}}}};L.map=L.collect=function(P,O,N){var M=[];if(P==null){return M}if(q&&P.map===q){return P.map(O,N)}H(P,function(S,Q,R){M[M.length]=O.call(N,S,Q,R)});return M};var g="Reduce of empty array with no initial value";L.reduce=L.foldl=L.inject=function(Q,P,M,O){var N=arguments.length>2;if(Q==null){Q=[]}if(E&&Q.reduce===E){if(O){P=L.bind(P,O)}return N?Q.reduce(P,M):Q.reduce(P)}H(Q,function(T,R,S){if(!N){M=T;N=true}else{M=P.call(O,M,T,R,S)}});if(!N){throw new TypeError(g)}return M};L.reduceRight=L.foldr=function(S,P,M,O){var N=arguments.length>2;if(S==null){S=[]}if(c&&S.reduceRight===c){if(O){P=L.bind(P,O)}return N?S.reduceRight(P,M):S.reduceRight(P)}var R=S.length;if(R!==+R){var Q=L.keys(S);R=Q.length}H(S,function(V,T,U){T=Q?Q[--R]:--R;if(!N){M=S[T];N=true}else{M=P.call(O,M,S[T],T,U)}});if(!N){throw new TypeError(g)}return M};L.find=L.detect=function(P,O,N){var M;A(P,function(S,Q,R){if(O.call(N,S,Q,R)){M=S;return true}});return M};L.filter=L.select=function(P,O,N){var M=[];if(P==null){return M}if(b&&P.filter===b){return P.filter(O,N)}H(P,function(S,Q,R){if(O.call(N,S,Q,R)){M[M.length]=S}});return M};L.reject=function(O,N,M){return L.filter(O,function(R,P,Q){return !N.call(M,R,P,Q)},M)};L.every=L.all=function(P,O,N){O||(O=L.identity);var M=true;if(P==null){return M}if(B&&P.every===B){return P.every(O,N)}H(P,function(S,Q,R){if(!(M=M&&O.call(N,S,Q,R))){return D}});return !!M};var A=L.some=L.any=function(P,O,N){O||(O=L.identity);var M=false;if(P==null){return M}if(p&&P.some===p){return P.some(O,N)}H(P,function(S,Q,R){if(M||(M=O.call(N,S,Q,R))){return D}});return !!M};L.contains=L.include=function(N,M){if(N==null){return false}if(n&&N.indexOf===n){return N.indexOf(M)!=-1}return A(N,function(O){return O===M})};L.invoke=function(O,P){var M=o.call(arguments,2);var N=L.isFunction(P);return L.map(O,function(Q){return(N?P:Q[P]).apply(Q,M)})};L.pluck=function(N,M){return L.map(N,function(O){return O[M]})};L.where=function(N,M,O){if(L.isEmpty(M)){return O?null:[]}return L[O?"find":"filter"](N,function(Q){for(var P in M){if(M[P]!==Q[P]){return false}}return true})};L.findWhere=function(N,M){return L.where(N,M,true)};L.max=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.max.apply(Math,P)}if(!O&&L.isEmpty(P)){return -Infinity}var M={computed:-Infinity,value:-Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R>=M.computed&&(M={value:T,computed:R})});return M.value};L.min=function(P,O,N){if(!O&&L.isArray(P)&&P[0]===+P[0]&&P.length<65535){return Math.min.apply(Math,P)}if(!O&&L.isEmpty(P)){return Infinity}var M={computed:Infinity,value:Infinity};H(P,function(T,Q,S){var R=O?O.call(N,T,Q,S):T;R<M.computed&&(M={value:T,computed:R})});return M.value};L.shuffle=function(P){var O;var N=0;var M=[];H(P,function(Q){O=L.random(N++);M[N-1]=M[O];M[O]=Q});return M};var a=function(M){return L.isFunction(M)?M:function(N){return N[M]}};L.sortBy=function(P,O,M){var N=a(O);return L.pluck(L.map(P,function(S,Q,R){return{value:S,index:Q,criteria:N.call(M,S,Q,R)}}).sort(function(T,S){var R=T.criteria;var Q=S.criteria;if(R!==Q){if(R>Q||R===void 0){return 1}if(R<Q||Q===void 0){return -1}}return T.index<S.index?-1:1}),"value")};var t=function(R,Q,N,P){var M={};var O=a(Q||L.identity);H(R,function(U,S){var T=O.call(N,U,S,R);P(M,T,U)});return M};L.groupBy=function(O,N,M){return t(O,N,M,function(P,Q,R){(L.has(P,Q)?P[Q]:(P[Q]=[])).push(R)})};L.countBy=function(O,N,M){return t(O,N,M,function(P,Q){if(!L.has(P,Q)){P[Q]=0}P[Q]++})};L.sortedIndex=function(T,S,P,O){P=P==null?L.identity:a(P);var R=P.call(O,S);var M=0,Q=T.length;while(M<Q){var N=(M+Q)>>>1;P.call(O,T[N])<R?M=N+1:Q=N}return M};L.toArray=function(M){if(!M){return[]}if(L.isArray(M)){return o.call(M)}if(M.length===+M.length){return L.map(M,L.identity)}return L.values(M)};L.size=function(M){if(M==null){return 0}return(M.length===+M.length)?M.length:L.keys(M).length};L.first=L.head=L.take=function(O,N,M){if(O==null){return void 0}return(N!=null)&&!M?o.call(O,0,N):O[0]};L.initial=function(O,N,M){return o.call(O,0,O.length-((N==null)||M?1:N))};L.last=function(O,N,M){if(O==null){return void 0}if((N!=null)&&!M){return o.call(O,Math.max(O.length-N,0))}else{return O[O.length-1]}};L.rest=L.tail=L.drop=function(O,N,M){return o.call(O,(N==null)||M?1:N)};L.compact=function(M){return L.filter(M,L.identity)};var x=function(N,O,M){H(N,function(P){if(L.isArray(P)){O?G.apply(M,P):x(P,O,M)}else{M.push(P)}});return M};L.flatten=function(N,M){return x(N,M,[])};L.without=function(M){return L.difference(M,o.call(arguments,1))};L.uniq=L.unique=function(S,R,Q,P){if(L.isFunction(R)){P=Q;Q=R;R=false}var N=Q?L.map(S,Q,P):S;var O=[];var M=[];H(N,function(U,T){if(R?(!T||M[M.length-1]!==U):!L.contains(M,U)){M.push(U);O.push(S[T])}});return O};L.union=function(){return L.uniq(y.apply(C,arguments))};L.intersection=function(N){var M=o.call(arguments,1);return L.filter(L.uniq(N),function(O){return L.every(M,function(P){return L.indexOf(P,O)>=0})})};L.difference=function(N){var M=y.apply(C,o.call(arguments,1));return L.filter(N,function(O){return !L.contains(M,O)})};L.zip=function(){var M=o.call(arguments);var P=L.max(L.pluck(M,"length"));var O=new Array(P);for(var N=0;N<P;N++){O[N]=L.pluck(M,""+N)}return O};L.object=function(Q,O){if(Q==null){return{}}var M={};for(var P=0,N=Q.length;P<N;P++){if(O){M[Q[P]]=O[P]}else{M[Q[P][0]]=Q[P][1]}}return M};L.indexOf=function(Q,O,P){if(Q==null){return -1}var N=0,M=Q.length;if(P){if(typeof P=="number"){N=(P<0?Math.max(0,M+P):P)}else{N=L.sortedIndex(Q,O);return Q[N]===O?N:-1}}if(n&&Q.indexOf===n){return Q.indexOf(O,P)}for(;N<M;N++){if(Q[N]===O){return N}}return -1};L.lastIndexOf=function(Q,O,P){if(Q==null){return -1}var M=P!=null;if(l&&Q.lastIndexOf===l){return M?Q.lastIndexOf(O,P):Q.lastIndexOf(O)}var N=(M?P:Q.length);while(N--){if(Q[N]===O){return N}}return -1};L.range=function(R,P,Q){if(arguments.length<=1){P=R||0;R=0}Q=arguments[2]||1;var N=Math.max(Math.ceil((P-R)/Q),0);var M=0;var O=new Array(N);while(M<N){O[M++]=R;R+=Q}return O};L.bind=function(O,N){if(O.bind===F&&F){return F.apply(O,o.call(arguments,1))}var M=o.call(arguments,2);return function(){return O.apply(N,M.concat(o.call(arguments)))}};L.partial=function(N){var M=o.call(arguments,1);return function(){return N.apply(this,M.concat(o.call(arguments)))}};L.bindAll=function(N){var M=o.call(arguments,1);if(M.length===0){M=L.functions(N)}H(M,function(O){N[O]=L.bind(N[O],N)});return N};L.memoize=function(O,N){var M={};N||(N=L.identity);return function(){var P=N.apply(this,arguments);return L.has(M,P)?M[P]:(M[P]=O.apply(this,arguments))}};L.delay=function(N,O){var M=o.call(arguments,2);return setTimeout(function(){return N.apply(null,M)},O)};L.defer=function(M){return L.delay.apply(L,[M,1].concat(o.call(arguments,1)))};L.throttle=function(R,T){var P,O,S,M;var Q=0;var N=function(){Q=new Date;S=null;M=R.apply(P,O)};return function(){var U=new Date;var V=T-(U-Q);P=this;O=arguments;if(V<=0){clearTimeout(S);S=null;Q=U;M=R.apply(P,O)}else{if(!S){S=setTimeout(N,V)}}return M}};L.debounce=function(O,Q,N){var P,M;return function(){var U=this,T=arguments;var S=function(){P=null;if(!N){M=O.apply(U,T)}};var R=N&&!P;clearTimeout(P);P=setTimeout(S,Q);if(R){M=O.apply(U,T)}return M}};L.once=function(O){var M=false,N;return function(){if(M){return N}M=true;N=O.apply(this,arguments);O=null;return N}};L.wrap=function(M,N){return function(){var O=[M];G.apply(O,arguments);return N.apply(this,O)}};L.compose=function(){var M=arguments;return function(){var N=arguments;for(var O=M.length-1;O>=0;O--){N=[M[O].apply(this,N)]}return N[0]}};L.after=function(N,M){if(N<=0){return M()}return function(){if(--N<1){return M.apply(this,arguments)}}};L.keys=e||function(O){if(O!==Object(O)){throw new TypeError("Invalid object")}var N=[];for(var M in O){if(L.has(O,M)){N[N.length]=M}}return N};L.values=function(O){var M=[];for(var N in O){if(L.has(O,N)){M.push(O[N])}}return M};L.pairs=function(O){var N=[];for(var M in O){if(L.has(O,M)){N.push([M,O[M]])}}return N};L.invert=function(O){var M={};for(var N in O){if(L.has(O,N)){M[O[N]]=N}}return M};L.functions=L.methods=function(O){var N=[];for(var M in O){if(L.isFunction(O[M])){N.push(M)}}return N.sort()};L.extend=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){M[O]=N[O]}}});return M};L.pick=function(N){var O={};var M=y.apply(C,o.call(arguments,1));H(M,function(P){if(P in N){O[P]=N[P]}});return O};L.omit=function(O){var P={};var N=y.apply(C,o.call(arguments,1));for(var M in O){if(!L.contains(N,M)){P[M]=O[M]}}return P};L.defaults=function(M){H(o.call(arguments,1),function(N){if(N){for(var O in N){if(M[O]==null){M[O]=N[O]}}}});return M};L.clone=function(M){if(!L.isObject(M)){return M}return L.isArray(M)?M.slice():L.extend({},M)};L.tap=function(N,M){M(N);return N};var I=function(T,S,N,O){if(T===S){return T!==0||1/T==1/S}if(T==null||S==null){return T===S}if(T instanceof L){T=T._wrapped}if(S instanceof L){S=S._wrapped}var Q=d.call(T);if(Q!=d.call(S)){return false}switch(Q){case"[object String]":return T==String(S);case"[object Number]":return T!=+T?S!=+S:(T==0?1/T==1/S:T==+S);case"[object Date]":case"[object Boolean]":return +T==+S;case"[object RegExp]":return T.source==S.source&&T.global==S.global&&T.multiline==S.multiline&&T.ignoreCase==S.ignoreCase}if(typeof T!="object"||typeof S!="object"){return false}var M=N.length;while(M--){if(N[M]==T){return O[M]==S}}N.push(T);O.push(S);var V=0,W=true;if(Q=="[object Array]"){V=T.length;W=V==S.length;if(W){while(V--){if(!(W=I(T[V],S[V],N,O))){break}}}}else{var R=T.constructor,P=S.constructor;if(R!==P&&!(L.isFunction(R)&&(R instanceof R)&&L.isFunction(P)&&(P instanceof P))){return false}for(var U in T){if(L.has(T,U)){V++;if(!(W=L.has(S,U)&&I(T[U],S[U],N,O))){break}}}if(W){for(U in S){if(L.has(S,U)&&!(V--)){break}}W=!V}}N.pop();O.pop();return W};L.isEqual=function(N,M){return I(N,M,[],[])};L.isEmpty=function(N){if(N==null){return true}if(L.isArray(N)||L.isString(N)){return N.length===0}for(var M in N){if(L.has(N,M)){return false}}return true};L.isElement=function(M){return !!(M&&M.nodeType===1)};L.isArray=u||function(M){return d.call(M)=="[object Array]"};L.isObject=function(M){return M===Object(M)};H(["Arguments","Function","String","Number","Date","RegExp"],function(M){L["is"+M]=function(N){return d.call(N)=="[object "+M+"]"}});if(!L.isArguments(arguments)){L.isArguments=function(M){return !!(M&&L.has(M,"callee"))}}if(typeof(/./)!=="function"){L.isFunction=function(M){return typeof M==="function"}}L.isFinite=function(M){return isFinite(M)&&!isNaN(parseFloat(M))};L.isNaN=function(M){return L.isNumber(M)&&M!=+M};L.isBoolean=function(M){return M===true||M===false||d.call(M)=="[object Boolean]"};L.isNull=function(M){return M===null};L.isUndefined=function(M){return M===void 0};L.has=function(N,M){return j.call(N,M)};L.noConflict=function(){w._=k;return this};L.identity=function(M){return M};L.times=function(Q,P,O){var M=Array(Q);for(var N=0;N<Q;N++){M[N]=P.call(O,N)}return M};L.random=function(N,M){if(M==null){M=N;N=0}return N+Math.floor(Math.random()*(M-N+1))};var m={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};m.unescape=L.invert(m.escape);var J={escape:new RegExp("["+L.keys(m.escape).join("")+"]","g"),unescape:new RegExp("("+L.keys(m.unescape).join("|")+")","g")};L.each(["escape","unescape"],function(M){L[M]=function(N){if(N==null){return""}return(""+N).replace(J[M],function(O){return m[M][O]})}});L.result=function(M,O){if(M==null){return null}var N=M[O];return L.isFunction(N)?N.call(M):N};L.mixin=function(M){H(L.functions(M),function(N){var O=L[N]=M[N];L.prototype[N]=function(){var P=[this._wrapped];G.apply(P,arguments);return s.call(this,O.apply(L,P))}})};var z=0;L.uniqueId=function(M){var N=++z+"";return M?M+N:N};L.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var v=/(.)^/;var h={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};var i=/\\|'|\r|\n|\t|\u2028|\u2029/g;L.template=function(U,P,O){var N;O=L.defaults({},O,L.templateSettings);var Q=new RegExp([(O.escape||v).source,(O.interpolate||v).source,(O.evaluate||v).source].join("|")+"|$","g");var R=0;var M="__p+='";U.replace(Q,function(W,X,V,Z,Y){M+=U.slice(R,Y).replace(i,function(aa){return"\\"+h[aa]});if(X){M+="'+\n((__t=("+X+"))==null?'':_.escape(__t))+\n'"}if(V){M+="'+\n((__t=("+V+"))==null?'':__t)+\n'"}if(Z){M+="';\n"+Z+"\n__p+='"}R=Y+W.length;return W});M+="';\n";if(!O.variable){M="with(obj||{}){\n"+M+"}\n"}M="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+M+"return __p;\n";try{N=new Function(O.variable||"obj","_",M)}catch(S){S.source=M;throw S}if(P){return N(P,L)}var T=function(V){return N.call(this,V,L)};T.source="function("+(O.variable||"obj")+"){\n"+M+"}";return T};L.chain=function(M){return L(M).chain()};var s=function(M){return this._chain?L(M).chain():M};L.mixin(L);H(["pop","push","reverse","shift","sort","splice","unshift"],function(M){var N=C[M];L.prototype[M]=function(){var O=this._wrapped;N.apply(O,arguments);if((M=="shift"||M=="splice")&&O.length===0){delete O[0]}return s.call(this,O)}});H(["concat","join","slice"],function(M){var N=C[M];L.prototype[M]=function(){return s.call(this,N.apply(this._wrapped,arguments))}});L.extend(L.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}).call(this); + (function(){var u=this;var B=u.Backbone;var g=[];var D=g.push;var n=g.slice;var t=g.splice;var z;if(typeof exports!=="undefined"){z=exports}else{z=u.Backbone={}}z.VERSION="1.0.0";var L=u._;if(!L&&(typeof require!=="undefined")){L=require("underscore")}z.$=u.jQuery||u.Zepto||u.ender||u.$;z.noConflict=function(){u.Backbone=B;return this};z.emulateHTTP=false;z.emulateJSON=false;var J=z.Events={on:function(M,P,O){if(!x(this,"on",M,[P,O])||!P){return this}this._events||(this._events={});var N=this._events[M]||(this._events[M]=[]);N.push({callback:P,context:O,ctx:O||this});return this},once:function(N,Q,O){if(!x(this,"once",N,[Q,O])||!Q){return this}var M=this;var P=L.once(function(){M.off(N,P);Q.apply(this,arguments)});P._callback=Q;return this.on(N,P,O)},off:function(M,V,N){var T,U,W,S,R,O,Q,P;if(!this._events||!x(this,"off",M,[V,N])){return this}if(!M&&!V&&!N){this._events={};return this}S=M?[M]:L.keys(this._events);for(R=0,O=S.length;R<O;R++){M=S[R];if(W=this._events[M]){this._events[M]=T=[];if(V||N){for(Q=0,P=W.length;Q<P;Q++){U=W[Q];if((V&&V!==U.callback&&V!==U.callback._callback)||(N&&N!==U.context)){T.push(U)}}}if(!T.length){delete this._events[M]}}}return this},trigger:function(O){if(!this._events){return this}var N=n.call(arguments,1);if(!x(this,"trigger",O,N)){return this}var P=this._events[O];var M=this._events.all;if(P){b(P,N)}if(M){b(M,arguments)}return this},stopListening:function(P,M,R){var N=this._listeners;if(!N){return this}var O=!M&&!R;if(typeof M==="object"){R=this}if(P){(N={})[P._listenerId]=P}for(var Q in N){N[Q].off(M,R,this);if(O){delete this._listeners[Q]}}return this}};var w=/\s+/;var x=function(T,R,N,Q){if(!N){return true}if(typeof N==="object"){for(var P in N){T[R].apply(T,[P,N[P]].concat(Q))}return false}if(w.test(N)){var S=N.split(w);for(var O=0,M=S.length;O<M;O++){T[R].apply(T,[S[O]].concat(Q))}return false}return true};var b=function(R,P){var S,Q=-1,O=R.length,N=P[0],M=P[1],T=P[2];switch(P.length){case 0:while(++Q<O){(S=R[Q]).callback.call(S.ctx)}return;case 1:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N)}return;case 2:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M)}return;case 3:while(++Q<O){(S=R[Q]).callback.call(S.ctx,N,M,T)}return;default:while(++Q<O){(S=R[Q]).callback.apply(S.ctx,P)}}};var C={listenTo:"on",listenToOnce:"once"};L.each(C,function(M,N){J[N]=function(Q,O,S){var P=this._listeners||(this._listeners={});var R=Q._listenerId||(Q._listenerId=L.uniqueId("l"));P[R]=Q;if(typeof O==="object"){S=this}Q[M](O,S,this);return this}});J.bind=J.on;J.unbind=J.off;L.extend(z,J);var E=z.Model=function(M,O){var P;var N=M||{};O||(O={});this.cid=L.uniqueId("c");this.attributes={};L.extend(this,L.pick(O,F));if(O.parse){N=this.parse(N,O)||{}}if(P=L.result(this,"defaults")){N=L.defaults({},N,P)}this.set(N,O);this.changed={};this.initialize.apply(this,arguments)};var F=["url","urlRoot","collection"];L.extend(E.prototype,J,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(M){return L.clone(this.attributes)},sync:function(){return z.sync.apply(this,arguments)},get:function(M){return this.attributes[M]},escape:function(M){return L.escape(this.get(M))},has:function(M){return this.get(M)!=null},set:function(U,M,Y){var S,V,W,T,R,X,O,Q;if(U==null){return this}if(typeof U==="object"){V=U;Y=M}else{(V={})[U]=M}Y||(Y={});if(!this._validate(V,Y)){return false}W=Y.unset;R=Y.silent;T=[];X=this._changing;this._changing=true;if(!X){this._previousAttributes=L.clone(this.attributes);this.changed={}}Q=this.attributes,O=this._previousAttributes;if(this.idAttribute in V){this.id=V[this.idAttribute]}for(S in V){M=V[S];if(!L.isEqual(Q[S],M)){T.push(S)}if(!L.isEqual(O[S],M)){this.changed[S]=M}else{delete this.changed[S]}W?delete Q[S]:Q[S]=M}if(!R){if(T.length){this._pending=true}for(var P=0,N=T.length;P<N;P++){this.trigger("change:"+T[P],this,Q[T[P]],Y)}}if(X){return this}if(!R){while(this._pending){this._pending=false;this.trigger("change",this,Y)}}this._pending=false;this._changing=false;return this},unset:function(M,N){return this.set(M,void 0,L.extend({},N,{unset:true}))},clear:function(N){var M={};for(var O in this.attributes){M[O]=void 0}return this.set(M,L.extend({},N,{unset:true}))},hasChanged:function(M){if(M==null){return !L.isEmpty(this.changed)}return L.has(this.changed,M)},changedAttributes:function(O){if(!O){return this.hasChanged()?L.clone(this.changed):false}var Q,P=false;var N=this._changing?this._previousAttributes:this.attributes;for(var M in O){if(L.isEqual(N[M],(Q=O[M]))){continue}(P||(P={}))[M]=Q}return P},previous:function(M){if(M==null||!this._previousAttributes){return null}return this._previousAttributes[M]},previousAttributes:function(){return L.clone(this._previousAttributes)},fetch:function(N){N=N?L.clone(N):{};if(N.parse===void 0){N.parse=true}var M=this;var O=N.success;N.success=function(P){if(!M.set(M.parse(P,N),N)){return false}if(O){O(M,P,N)}M.trigger("sync",M,P,N)};H(this,N);return this.sync("read",this,N)},save:function(Q,N,U){var R,M,T,O=this.attributes;if(Q==null||typeof Q==="object"){R=Q;U=N}else{(R={})[Q]=N}if(R&&(!U||!U.wait)&&!this.set(R,U)){return false}U=L.extend({validate:true},U);if(!this._validate(R,U)){return false}if(R&&U.wait){this.attributes=L.extend({},O,R)}if(U.parse===void 0){U.parse=true}var P=this;var S=U.success;U.success=function(W){P.attributes=O;var V=P.parse(W,U);if(U.wait){V=L.extend(R||{},V)}if(L.isObject(V)&&!P.set(V,U)){return false}if(S){S(P,W,U)}P.trigger("sync",P,W,U)};H(this,U);M=this.isNew()?"create":(U.patch?"patch":"update");if(M==="patch"){U.attrs=R}T=this.sync(M,this,U);if(R&&U.wait){this.attributes=O}return T},destroy:function(N){N=N?L.clone(N):{};var M=this;var Q=N.success;var O=function(){M.trigger("destroy",M,M.collection,N)};N.success=function(R){if(N.wait||M.isNew()){O()}if(Q){Q(M,R,N)}if(!M.isNew()){M.trigger("sync",M,R,N)}};if(this.isNew()){N.success();return false}H(this,N);var P=this.sync("delete",this,N);if(!N.wait){O()}return P},url:function(){var M=L.result(this,"urlRoot")||L.result(this.collection,"url")||r();if(this.isNew()){return M}return M+(M.charAt(M.length-1)==="/"?"":"/")+encodeURIComponent(this.id)},parse:function(N,M){return N},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},isValid:function(M){return this._validate({},L.extend(M||{},{validate:true}))},_validate:function(O,N){if(!N.validate||!this.validate){return true}O=L.extend({},this.attributes,O);var M=this.validationError=this.validate(O,N)||null;if(!M){return true}this.trigger("invalid",this,M,L.extend(N||{},{validationError:M}));return false}});var a=["keys","values","pairs","invert","pick","omit"];L.each(a,function(M){E.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.attributes);return L[M].apply(L,N)}});var c=z.Collection=function(N,M){M||(M={});if(M.url){this.url=M.url}if(M.model){this.model=M.model}if(M.comparator!==void 0){this.comparator=M.comparator}this._reset();this.initialize.apply(this,arguments);if(N){this.reset(N,L.extend({silent:true},M))}};var o={add:true,remove:true,merge:true};var K={add:true,merge:false,remove:false};L.extend(c.prototype,J,{model:E,initialize:function(){},toJSON:function(M){return this.map(function(N){return N.toJSON(M)})},sync:function(){return z.sync.apply(this,arguments)},add:function(N,M){return this.set(N,L.defaults(M||{},K))},remove:function(R,P){R=L.isArray(R)?R.slice():[R];P||(P={});var Q,M,O,N;for(Q=0,M=R.length;Q<M;Q++){N=this.get(R[Q]);if(!N){continue}delete this._byId[N.id];delete this._byId[N.cid];O=this.indexOf(N);this.models.splice(O,1);this.length--;if(!P.silent){P.index=O;N.trigger("remove",N,this,P)}this._removeReference(N)}return this},set:function(N,Z){Z=L.defaults(Z||{},o);if(Z.parse){N=this.parse(N,Z)}if(!L.isArray(N)){N=N?[N]:[]}var U,Q,W,X,O,V;var P=Z.at;var T=this.comparator&&(P==null)&&Z.sort!==false;var R=L.isString(this.comparator)?this.comparator:null;var Y=[],M=[],S={};for(U=0,Q=N.length;U<Q;U++){if(!(W=this._prepareModel(N[U],Z))){continue}if(O=this.get(W)){if(Z.remove){S[O.cid]=true}if(Z.merge){O.set(W.attributes,Z);if(T&&!V&&O.hasChanged(R)){V=true}}}else{if(Z.add){Y.push(W);W.on("all",this._onModelEvent,this);this._byId[W.cid]=W;if(W.id!=null){this._byId[W.id]=W}}}}if(Z.remove){for(U=0,Q=this.length;U<Q;++U){if(!S[(W=this.models[U]).cid]){M.push(W)}}if(M.length){this.remove(M,Z)}}if(Y.length){if(T){V=true}this.length+=Y.length;if(P!=null){t.apply(this.models,[P,0].concat(Y))}else{D.apply(this.models,Y)}}if(V){this.sort({silent:true})}if(Z.silent){return this}for(U=0,Q=Y.length;U<Q;U++){(W=Y[U]).trigger("add",W,this,Z)}if(V){this.trigger("sort",this,Z)}return this},reset:function(P,N){N||(N={});for(var O=0,M=this.models.length;O<M;O++){this._removeReference(this.models[O])}N.previousModels=this.models;this._reset();this.add(P,L.extend({silent:true},N));if(!N.silent){this.trigger("reset",this,N)}return this},push:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:this.length},M));return N},pop:function(N){var M=this.at(this.length-1);this.remove(M,N);return M},unshift:function(N,M){N=this._prepareModel(N,M);this.add(N,L.extend({at:0},M));return N},shift:function(N){var M=this.at(0);this.remove(M,N);return M},slice:function(N,M){return this.models.slice(N,M)},get:function(M){if(M==null){return void 0}return this._byId[M.id!=null?M.id:M.cid||M]},at:function(M){return this.models[M]},where:function(M,N){if(L.isEmpty(M)){return N?void 0:[]}return this[N?"find":"filter"](function(O){for(var P in M){if(M[P]!==O.get(P)){return false}}return true})},findWhere:function(M){return this.where(M,true)},sort:function(M){if(!this.comparator){throw new Error("Cannot sort a set without a comparator")}M||(M={});if(L.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(L.bind(this.comparator,this))}if(!M.silent){this.trigger("sort",this,M)}return this},sortedIndex:function(M,P,N){P||(P=this.comparator);var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L.sortedIndex(this.models,M,O,N)},pluck:function(M){return L.invoke(this.models,"get",M)},fetch:function(M){M=M?L.clone(M):{};if(M.parse===void 0){M.parse=true}var O=M.success;var N=this;M.success=function(P){var Q=M.reset?"reset":"set";N[Q](P,M);if(O){O(N,P,M)}N.trigger("sync",N,P,M)};H(this,M);return this.sync("read",this,M)},create:function(N,M){M=M?L.clone(M):{};if(!(N=this._prepareModel(N,M))){return false}if(!M.wait){this.add(N,M)}var P=this;var O=M.success;M.success=function(Q){if(M.wait){P.add(N,M)}if(O){O(N,Q,M)}};N.save(null,M);return N},parse:function(N,M){return N},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(O,N){if(O instanceof E){if(!O.collection){O.collection=this}return O}N||(N={});N.collection=this;var M=new this.model(O,N);if(!M._validate(O,N)){this.trigger("invalid",this,O,N);return false}return M},_removeReference:function(M){if(this===M.collection){delete M.collection}M.off("all",this._onModelEvent,this)},_onModelEvent:function(O,N,P,M){if((O==="add"||O==="remove")&&P!==this){return}if(O==="destroy"){this.remove(N,M)}if(N&&O==="change:"+N.idAttribute){delete this._byId[N.previous(N.idAttribute)];if(N.id!=null){this._byId[N.id]=N}}this.trigger.apply(this,arguments)}});var y=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];L.each(y,function(M){c.prototype[M]=function(){var N=n.call(arguments);N.unshift(this.models);return L[M].apply(L,N)}});var k=["groupBy","countBy","sortBy"];L.each(k,function(M){c.prototype[M]=function(P,N){var O=L.isFunction(P)?P:function(Q){return Q.get(P)};return L[M](this.models,O,N)}});var G=z.View=function(M){this.cid=L.uniqueId("view");this._configure(M||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var v=/^(\S+)\s*(.*)$/;var e=["model","collection","el","id","attributes","className","tagName","events"];L.extend(G.prototype,J,{tagName:"div",$:function(M){return this.$el.find(M)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(M,N){if(this.$el){this.undelegateEvents()}this.$el=M instanceof z.$?M:z.$(M);this.el=this.$el[0];if(N!==false){this.delegateEvents()}return this},delegateEvents:function(Q){if(!(Q||(Q=L.result(this,"events")))){return this}this.undelegateEvents();for(var P in Q){var R=Q[P];if(!L.isFunction(R)){R=this[Q[P]]}if(!R){continue}var O=P.match(v);var N=O[1],M=O[2];R=L.bind(R,this);N+=".delegateEvents"+this.cid;if(M===""){this.$el.on(N,R)}else{this.$el.on(N,M,R)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_configure:function(M){if(this.options){M=L.extend({},L.result(this,"options"),M)}L.extend(this,L.pick(M,e));this.options=M},_ensureElement:function(){if(!this.el){var M=L.extend({},L.result(this,"attributes"));if(this.id){M.id=L.result(this,"id")}if(this.className){M["class"]=L.result(this,"className")}var N=z.$("<"+L.result(this,"tagName")+">").attr(M);this.setElement(N,false)}else{this.setElement(L.result(this,"el"),false)}}});z.sync=function(S,N,M){var P=j[S];L.defaults(M||(M={}),{emulateHTTP:z.emulateHTTP,emulateJSON:z.emulateJSON});var R={type:P,dataType:"json"};if(!M.url){R.url=L.result(N,"url")||r()}if(M.data==null&&N&&(S==="create"||S==="update"||S==="patch")){R.contentType="application/json";R.data=JSON.stringify(M.attrs||N.toJSON(M))}if(M.emulateJSON){R.contentType="application/x-www-form-urlencoded";R.data=R.data?{model:R.data}:{}}if(M.emulateHTTP&&(P==="PUT"||P==="DELETE"||P==="PATCH")){R.type="POST";if(M.emulateJSON){R.data._method=P}var O=M.beforeSend;M.beforeSend=function(T){T.setRequestHeader("X-HTTP-Method-Override",P);if(O){return O.apply(this,arguments)}}}if(R.type!=="GET"&&!M.emulateJSON){R.processData=false}if(R.type==="PATCH"&&window.ActiveXObject&&!(window.external&&window.external.msActiveXFilteringEnabled)){R.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var Q=M.xhr=z.ajax(L.extend(R,M));N.trigger("request",N,Q,M);return Q};var j={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};z.ajax=function(){return z.$.ajax.apply(z.$,arguments)};var p=z.Router=function(M){M||(M={});if(M.routes){this.routes=M.routes}this._bindRoutes();this.initialize.apply(this,arguments)};var q=/\((.*?)\)/g;var s=/(\(\?)?:\w+/g;var d=/\*\w+/g;var h=/[\-{}\[\]+?.,\\\^$|#\s]/g;L.extend(p.prototype,J,{initialize:function(){},route:function(N,O,P){if(!L.isRegExp(N)){N=this._routeToRegExp(N)}if(L.isFunction(O)){P=O;O=""}if(!P){P=this[O]}var M=this;z.history.route(N,function(R){var Q=M._extractParameters(N,R);P&&P.apply(M,Q);M.trigger.apply(M,["route:"+O].concat(Q));M.trigger("route",O,Q);z.history.trigger("route",M,O,Q)});return this},navigate:function(N,M){z.history.navigate(N,M);return this},_bindRoutes:function(){if(!this.routes){return}this.routes=L.result(this,"routes");var N,M=L.keys(this.routes);while((N=M.pop())!=null){this.route(N,this.routes[N])}},_routeToRegExp:function(M){M=M.replace(h,"\\$&").replace(q,"(?:$1)?").replace(s,function(O,N){return N?O:"([^/]+)"}).replace(d,"(.*?)");return new RegExp("^"+M+"$")},_extractParameters:function(M,N){var O=M.exec(N).slice(1);return L.map(O,function(P){return P?decodeURIComponent(P):null})}});var i=z.History=function(){this.handlers=[];L.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var A=/^[#\/]|\s+$/g;var f=/^\/+|\/+$/g;var I=/msie [\w.]+/;var m=/\/$/;i.started=false;L.extend(i.prototype,J,{interval:50,getHash:function(N){var M=(N||this).location.href.match(/#(.*)$/);return M?M[1]:""},getFragment:function(O,N){if(O==null){if(this._hasPushState||!this._wantsHashChange||N){O=this.location.pathname;var M=this.root.replace(m,"");if(!O.indexOf(M)){O=O.substr(M.length)}}else{O=this.getHash()}}return O.replace(A,"")},start:function(O){if(i.started){throw new Error("Backbone.history has already been started")}i.started=true;this.options=L.extend({},{root:"/"},this.options,O);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var N=this.getFragment();var M=document.documentMode;var Q=(I.exec(navigator.userAgent.toLowerCase())&&(!M||M<=7));this.root=("/"+this.root+"/").replace(f,"/");if(Q&&this._wantsHashChange){this.iframe=z.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow;this.navigate(N)}if(this._hasPushState){z.$(window).on("popstate",this.checkUrl)}else{if(this._wantsHashChange&&("onhashchange" in window)&&!Q){z.$(window).on("hashchange",this.checkUrl)}else{if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}}}this.fragment=N;var R=this.location;var P=R.pathname.replace(/[^\/]$/,"$&/")===this.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!P){this.fragment=this.getFragment(null,true);this.location.replace(this.root+this.location.search+"#"+this.fragment);return true}else{if(this._wantsPushState&&this._hasPushState&&P&&R.hash){this.fragment=this.getHash().replace(A,"");this.history.replaceState({},document.title,this.root+this.fragment+R.search)}}if(!this.options.silent){return this.loadUrl()}},stop:function(){z.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);clearInterval(this._checkUrlInterval);i.started=false},route:function(M,N){this.handlers.unshift({route:M,callback:N})},checkUrl:function(N){var M=this.getFragment();if(M===this.fragment&&this.iframe){M=this.getFragment(this.getHash(this.iframe))}if(M===this.fragment){return false}if(this.iframe){this.navigate(M)}this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(O){var N=this.fragment=this.getFragment(O);var M=L.any(this.handlers,function(P){if(P.route.test(N)){P.callback(N);return true}});return M},navigate:function(O,N){if(!i.started){return false}if(!N||N===true){N={trigger:N}}O=this.getFragment(O||"");if(this.fragment===O){return}this.fragment=O;var M=this.root+O;if(this._hasPushState){this.history[N.replace?"replaceState":"pushState"]({},document.title,M)}else{if(this._wantsHashChange){this._updateHash(this.location,O,N.replace);if(this.iframe&&(O!==this.getFragment(this.getHash(this.iframe)))){if(!N.replace){this.iframe.document.open().close()}this._updateHash(this.iframe.location,O,N.replace)}}else{return this.location.assign(M)}}if(N.trigger){this.loadUrl(O)}},_updateHash:function(M,O,P){if(P){var N=M.href.replace(/(javascript:|#).*$/,"");M.replace(N+"#"+O)}else{M.hash="#"+O}}});z.history=new i;var l=function(M,O){var N=this;var Q;if(M&&L.has(M,"constructor")){Q=M.constructor}else{Q=function(){return N.apply(this,arguments)}}L.extend(Q,N,O);var P=function(){this.constructor=Q};P.prototype=N.prototype;Q.prototype=new P;if(M){L.extend(Q.prototype,M)}Q.__super__=N.prototype;return Q};E.extend=c.extend=p.extend=G.extend=i.extend=l;var r=function(){throw new Error('A "url" property or function must be specified')};var H=function(O,N){var M=N.error;N.error=function(P){if(M){M(O,P,N)}O.trigger("error",O,P,N)}}}).call(this);Backbone.Model.prototype._super=function(a){return this.constructor.__super__[a].apply(this,_.rest(arguments))}; + // MarionetteJS (Backbone.Marionette) +// ---------------------------------- +// v1.0.2 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://marionettejs.com + + + +/*! + * Includes BabySitter + * https://github.com/marionettejs/backbone.babysitter/ + * + * Includes Wreqr + * https://github.com/marionettejs/backbone.wreqr/ + */ + +// Backbone.BabySitter +// ------------------- +// v0.0.5 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/babysitterjs/backbone.babysitter + +// Backbone.ChildViewContainer +// --------------------------- +// +// Provide a container to store, retrieve and +// shut down child views. + +Backbone.ChildViewContainer = (function(Backbone, _){ + + // Container Constructor + // --------------------- + + var Container = function(initialViews){ + this._views = {}; + this._indexByModel = {}; + this._indexByCollection = {}; + this._indexByCustom = {}; + this._updateLength(); + + this._addInitialViews(initialViews); + }; + + // Container Methods + // ----------------- + + _.extend(Container.prototype, { + + // Add a view to this container. Stores the view + // by `cid` and makes it searchable by the model + // and/or collection of the view. Optionally specify + // a custom key to store an retrieve the view. + add: function(view, customIndex){ + var viewCid = view.cid; + + // store the view + this._views[viewCid] = view; + + // index it by model + if (view.model){ + this._indexByModel[view.model.cid] = viewCid; + } + + // index it by collection + if (view.collection){ + this._indexByCollection[view.collection.cid] = viewCid; + } + + // index by custom + if (customIndex){ + this._indexByCustom[customIndex] = viewCid; + } + + this._updateLength(); + }, + + // Find a view by the model that was attached to + // it. Uses the model's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByModel: function(model){ + var viewCid = this._indexByModel[model.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by the collection that was attached to + // it. Uses the collection's `cid` to find it, and + // retrieves the view by it's `cid` from the result + findByCollection: function(col){ + var viewCid = this._indexByCollection[col.cid]; + return this.findByCid(viewCid); + }, + + // Find a view by a custom indexer. + findByCustom: function(index){ + var viewCid = this._indexByCustom[index]; + return this.findByCid(viewCid); + }, + + // Find by index. This is not guaranteed to be a + // stable index. + findByIndex: function(index){ + return _.values(this._views)[index]; + }, + + // retrieve a view by it's `cid` directly + findByCid: function(cid){ + return this._views[cid]; + }, + + // Remove a view + remove: function(view){ + var viewCid = view.cid; + + // delete model index + if (view.model){ + delete this._indexByModel[view.model.cid]; + } + + // delete collection index + if (view.collection){ + delete this._indexByCollection[view.collection.cid]; + } + + // delete custom index + var cust; + + for (var key in this._indexByCustom){ + if (this._indexByCustom.hasOwnProperty(key)){ + if (this._indexByCustom[key] === viewCid){ + cust = key; + break; + } + } + } + + if (cust){ + delete this._indexByCustom[cust]; + } + + // remove the view from the container + delete this._views[viewCid]; + + // update the length + this._updateLength(); + }, + + // Call a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.call`. + call: function(method, args){ + args = Array.prototype.slice.call(arguments, 1); + this.apply(method, args); + }, + + // Apply a method on every view in the container, + // passing parameters to the call method one at a + // time, like `function.apply`. + apply: function(method, args){ + var view; + + // fix for IE < 9 + args = args || []; + + _.each(this._views, function(view, key){ + if (_.isFunction(view[method])){ + view[method].apply(view, args); + } + }); + + }, + + // Update the `.length` attribute on this container + _updateLength: function(){ + this.length = _.size(this._views); + }, + + // set up an initial list of views + _addInitialViews: function(views){ + if (!views){ return; } + + var view, i, + length = views.length; + + for (i=0; i<length; i++){ + view = views[i]; + this.add(view); + } + } + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + Container.prototype[method] = function() { + var views = _.values(this._views); + var args = [views].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + // return the public API + return Container; +})(Backbone, _); + +// Backbone.Wreqr (Backbone.Marionette) +// ---------------------------------- +// v0.2.0 +// +// Copyright (c)2013 Derick Bailey, Muted Solutions, LLC. +// Distributed under MIT license +// +// http://github.com/marionettejs/backbone.wreqr + + +Backbone.Wreqr = (function(Backbone, Marionette, _){ + "use strict"; + var Wreqr = {}; + + // Handlers +// -------- +// A registry of functions to call, given a name + +Wreqr.Handlers = (function(Backbone, _){ + "use strict"; + + // Constructor + // ----------- + + var Handlers = function(options){ + this.options = options; + this._wreqrHandlers = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + Handlers.extend = Backbone.Model.extend; + + // Instance Members + // ---------------- + + _.extend(Handlers.prototype, Backbone.Events, { + + // Add multiple handlers using an object literal configuration + setHandlers: function(handlers){ + _.each(handlers, function(handler, name){ + var context = null; + + if (_.isObject(handler) && !_.isFunction(handler)){ + context = handler.context; + handler = handler.callback; + } + + this.setHandler(name, handler, context); + }, this); + }, + + // Add a handler for the given name, with an + // optional context to run the handler within + setHandler: function(name, handler, context){ + var config = { + callback: handler, + context: context + }; + + this._wreqrHandlers[name] = config; + + this.trigger("handler:add", name, handler, context); + }, + + // Determine whether or not a handler is registered + hasHandler: function(name){ + return !! this._wreqrHandlers[name]; + }, + + // Get the currently registered handler for + // the specified name. Throws an exception if + // no handler is found. + getHandler: function(name){ + var config = this._wreqrHandlers[name]; + + if (!config){ + throw new Error("Handler not found for '" + name + "'"); + } + + return function(){ + var args = Array.prototype.slice.apply(arguments); + return config.callback.apply(config.context, args); + }; + }, + + // Remove a handler for the specified name + removeHandler: function(name){ + delete this._wreqrHandlers[name]; + }, + + // Remove all handlers from this registry + removeAllHandlers: function(){ + this._wreqrHandlers = {}; + } + }); + + return Handlers; +})(Backbone, _); + + // Wreqr.CommandStorage +// -------------------- +// +// Store and retrieve commands for execution. +Wreqr.CommandStorage = (function(){ + "use strict"; + + // Constructor function + var CommandStorage = function(options){ + this.options = options; + this._commands = {}; + + if (_.isFunction(this.initialize)){ + this.initialize(options); + } + }; + + // Instance methods + _.extend(CommandStorage.prototype, Backbone.Events, { + + // Get an object literal by command name, that contains + // the `commandName` and the `instances` of all commands + // represented as an array of arguments to process + getCommands: function(commandName){ + var commands = this._commands[commandName]; + + // we don't have it, so add it + if (!commands){ + + // build the configuration + commands = { + command: commandName, + instances: [] + }; + + // store it + this._commands[commandName] = commands; + } + + return commands; + }, + + // Add a command by name, to the storage and store the + // args for the command + addCommand: function(commandName, args){ + var command = this.getCommands(commandName); + command.instances.push(args); + }, + + // Clear all commands for the given `commandName` + clearCommands: function(commandName){ + var command = this.getCommands(commandName); + command.instances = []; + } + }); + + return CommandStorage; +})(); + + // Wreqr.Commands +// -------------- +// +// A simple command pattern implementation. Register a command +// handler and execute it. +Wreqr.Commands = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + // default storage type + storageType: Wreqr.CommandStorage, + + constructor: function(options){ + this.options = options || {}; + + this._initializeStorage(this.options); + this.on("handler:add", this._executeCommands, this); + + var args = Array.prototype.slice.call(arguments); + Wreqr.Handlers.prototype.constructor.apply(this, args); + }, + + // Execute a named command with the supplied args + execute: function(name, args){ + name = arguments[0]; + args = Array.prototype.slice.call(arguments, 1); + + if (this.hasHandler(name)){ + this.getHandler(name).apply(this, args); + } else { + this.storage.addCommand(name, args); + } + + }, + + // Internal method to handle bulk execution of stored commands + _executeCommands: function(name, handler, context){ + var command = this.storage.getCommands(name); + + // loop through and execute all the stored command instances + _.each(command.instances, function(args){ + handler.apply(context, args); + }); + + this.storage.clearCommands(name); + }, + + // Internal method to initialize storage either from the type's + // `storageType` or the instance `options.storageType`. + _initializeStorage: function(options){ + var storage; + + var StorageType = options.storageType || this.storageType; + if (_.isFunction(StorageType)){ + storage = new StorageType(); + } else { + storage = StorageType; + } + + this.storage = storage; + } + }); + +})(Wreqr); + + // Wreqr.RequestResponse +// --------------------- +// +// A simple request/response implementation. Register a +// request handler, and return a response from it +Wreqr.RequestResponse = (function(Wreqr){ + "use strict"; + + return Wreqr.Handlers.extend({ + request: function(){ + var name = arguments[0]; + var args = Array.prototype.slice.call(arguments, 1); + + return this.getHandler(name).apply(this, args); + } + }); + +})(Wreqr); + + // Event Aggregator +// ---------------- +// A pub-sub object that can be used to decouple various parts +// of an application through event-driven architecture. + +Wreqr.EventAggregator = (function(Backbone, _){ + "use strict"; + var EA = function(){}; + + // Copy the `extend` function used by Backbone's classes + EA.extend = Backbone.Model.extend; + + // Copy the basic Backbone.Events on to the event aggregator + _.extend(EA.prototype, Backbone.Events); + + return EA; +})(Backbone, _); + + + return Wreqr; +})(Backbone, Backbone.Marionette, _); + +var Marionette = (function(global, Backbone, _){ + "use strict"; + + // Define and export the Marionette namespace + var Marionette = {}; + Backbone.Marionette = Marionette; + + // Get the DOM manipulator for later use + Marionette.$ = Backbone.$; + +// Helpers +// ------- + +// For slicing `arguments` in functions +var protoSlice = Array.prototype.slice; +function slice(args) { + return protoSlice.call(args); +} + +function throwError(message, name) { + var error = new Error(message); + error.name = name || 'Error'; + throw error; +} + +// Marionette.extend +// ----------------- + +// Borrow the Backbone `extend` method so we can use it as needed +Marionette.extend = Backbone.Model.extend; + +// Marionette.getOption +// -------------------- + +// Retrieve an object, function or other value from a target +// object or it's `options`, with `options` taking precedence. +Marionette.getOption = function(target, optionName){ + if (!target || !optionName){ return; } + var value; + + if (target.options && (optionName in target.options) && (target.options[optionName] !== undefined)){ + value = target.options[optionName]; + } else { + value = target[optionName]; + } + + return value; +}; + +// Trigger an event and a corresponding method name. Examples: +// +// `this.triggerMethod("foo")` will trigger the "foo" event and +// call the "onFoo" method. +// +// `this.triggerMethod("foo:bar") will trigger the "foo:bar" event and +// call the "onFooBar" method. +Marionette.triggerMethod = (function(){ + + // split the event name on the : + var splitter = /(^|:)(\w)/gi; + + // take the event section ("section1:section2:section3") + // and turn it in to uppercase name + function getEventName(match, prefix, eventName) { + return eventName.toUpperCase(); + } + + // actual triggerMethod name + var triggerMethod = function(event) { + // get the method name from the event name + var methodName = 'on' + event.replace(splitter, getEventName); + var method = this[methodName]; + + // trigger the event + this.trigger.apply(this, arguments); + + // call the onMethodName if it exists + if (_.isFunction(method)) { + // pass all arguments, except the event name + return method.apply(this, _.tail(arguments)); + } + }; + + return triggerMethod; +})(); + +// DOMRefresh +// ---------- +// +// Monitor a view's state, and after it has been rendered and shown +// in the DOM, trigger a "dom:refresh" event every time it is +// re-rendered. + +Marionette.MonitorDOMRefresh = (function(){ + // track when the view has been rendered + function handleShow(view){ + view._isShown = true; + triggerDOMRefresh(view); + } + + // track when the view has been shown in the DOM, + // using a Marionette.Region (or by other means of triggering "show") + function handleRender(view){ + view._isRendered = true; + triggerDOMRefresh(view); + } + + // Trigger the "dom:refresh" event and corresponding "onDomRefresh" method + function triggerDOMRefresh(view){ + if (view._isShown && view._isRendered){ + if (_.isFunction(view.triggerMethod)){ + view.triggerMethod("dom:refresh"); + } + } + } + + // Export public API + return function(view){ + view.listenTo(view, "show", function(){ + handleShow(view); + }); + + view.listenTo(view, "render", function(){ + handleRender(view); + }); + }; +})(); + + +// Marionette.bindEntityEvents & unbindEntityEvents +// --------------------------- +// +// These methods are used to bind/unbind a backbone "entity" (collection/model) +// to methods on a target object. +// +// The first parameter, `target`, must have a `listenTo` method from the +// EventBinder object. +// +// The second parameter is the entity (Backbone.Model or Backbone.Collection) +// to bind the events from. +// +// The third parameter is a hash of { "event:name": "eventHandler" } +// configuration. Multiple handlers can be separated by a space. A +// function can be supplied instead of a string handler name. + +(function(Marionette){ + "use strict"; + + // Bind the event to handlers specified as a string of + // handler names on the target object + function bindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + + var method = target[methodName]; + if(!method) { + throwError("Method '"+ methodName +"' was configured as an event handler, but does not exist."); + } + + target.listenTo(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function bindToFunction(target, entity, evt, method){ + target.listenTo(entity, evt, method, target); + } + + // Bind the event to handlers specified as a string of + // handler names on the target object + function unbindFromStrings(target, entity, evt, methods){ + var methodNames = methods.split(/\s+/); + + _.each(methodNames,function(methodName) { + var method = target[method]; + target.stopListening(entity, evt, method, target); + }); + } + + // Bind the event to a supplied callback function + function unbindToFunction(target, entity, evt, method){ + target.stopListening(entity, evt, method, target); + } + + + // generic looping function + function iterateEvents(target, entity, bindings, functionCallback, stringCallback){ + if (!entity || !bindings) { return; } + + // allow the bindings to be a function + if (_.isFunction(bindings)){ + bindings = bindings.call(target); + } + + // iterate the bindings and bind them + _.each(bindings, function(methods, evt){ + + // allow for a function as the handler, + // or a list of event names as a string + if (_.isFunction(methods)){ + functionCallback(target, entity, evt, methods); + } else { + stringCallback(target, entity, evt, methods); + } + + }); + } + + // Export Public API + Marionette.bindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, bindToFunction, bindFromStrings); + }; + + Marionette.unbindEntityEvents = function(target, entity, bindings){ + iterateEvents(target, entity, bindings, unbindToFunction, unbindFromStrings); + }; + +})(Marionette); + + +// Callbacks +// --------- + +// A simple way of managing a collection of callbacks +// and executing them at a later point in time, using jQuery's +// `Deferred` object. +Marionette.Callbacks = function(){ + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; +}; + +_.extend(Marionette.Callbacks.prototype, { + + // Add a callback to be executed. Callbacks added here are + // guaranteed to execute, even if they are added after the + // `run` method is called. + add: function(callback, contextOverride){ + this._callbacks.push({cb: callback, ctx: contextOverride}); + + this._deferred.done(function(context, options){ + if (contextOverride){ context = contextOverride; } + callback.call(context, options); + }); + }, + + // Run all registered callbacks with the context specified. + // Additional callbacks can be added after this has been run + // and they will still be executed. + run: function(options, context){ + this._deferred.resolve(context, options); + }, + + // Resets the list of callbacks to be run, allowing the same list + // to be run multiple times - whenever the `run` method is called. + reset: function(){ + var callbacks = this._callbacks; + this._deferred = Marionette.$.Deferred(); + this._callbacks = []; + + _.each(callbacks, function(cb){ + this.add(cb.cb, cb.ctx); + }, this); + } +}); + + +// Marionette Controller +// --------------------- +// +// A multi-purpose object to use as a controller for +// modules and routers, and as a mediator for workflow +// and coordination of other objects, views, and more. +Marionette.Controller = function(options){ + this.triggerMethod = Marionette.triggerMethod; + this.options = options || {}; + + if (_.isFunction(this.initialize)){ + this.initialize(this.options); + } +}; + +Marionette.Controller.extend = Marionette.extend; + +// Controller Methods +// -------------- + +// Ensure it can trigger events with Backbone.Events +_.extend(Marionette.Controller.prototype, Backbone.Events, { + close: function(){ + this.stopListening(); + this.triggerMethod("close"); + this.unbind(); + } +}); + +// Region +// ------ +// +// Manage the visual regions of your composite application. See +// http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/ + +Marionette.Region = function(options){ + this.options = options || {}; + + this.el = Marionette.getOption(this, "el"); + + if (!this.el){ + var err = new Error("An 'el' must be specified for a region."); + err.name = "NoElError"; + throw err; + } + + if (this.initialize){ + var args = Array.prototype.slice.apply(arguments); + this.initialize.apply(this, args); + } +}; + + +// Region Type methods +// ------------------- + +_.extend(Marionette.Region, { + + // Build an instance of a region by passing in a configuration object + // and a default region type to use if none is specified in the config. + // + // The config object should either be a string as a jQuery DOM selector, + // a Region type directly, or an object literal that specifies both + // a selector and regionType: + // + // ```js + // { + // selector: "#foo", + // regionType: MyCustomRegion + // } + // ``` + // + buildRegion: function(regionConfig, defaultRegionType){ + var regionIsString = (typeof regionConfig === "string"); + var regionSelectorIsString = (typeof regionConfig.selector === "string"); + var regionTypeIsUndefined = (typeof regionConfig.regionType === "undefined"); + var regionIsType = (typeof regionConfig === "function"); + + if (!regionIsType && !regionIsString && !regionSelectorIsString) { + throw new Error("Region must be specified as a Region type, a selector string or an object with selector property"); + } + + var selector, RegionType; + + // get the selector for the region + + if (regionIsString) { + selector = regionConfig; + } + + if (regionConfig.selector) { + selector = regionConfig.selector; + } + + // get the type for the region + + if (regionIsType){ + RegionType = regionConfig; + } + + if (!regionIsType && regionTypeIsUndefined) { + RegionType = defaultRegionType; + } + + if (regionConfig.regionType) { + RegionType = regionConfig.regionType; + } + + // build the region instance + var region = new RegionType({ + el: selector + }); + + // override the `getEl` function if we have a parentEl + // this must be overridden to ensure the selector is found + // on the first use of the region. if we try to assign the + // region's `el` to `parentEl.find(selector)` in the object + // literal to build the region, the element will not be + // guaranteed to be in the DOM already, and will cause problems + if (regionConfig.parentEl){ + + region.getEl = function(selector) { + var parentEl = regionConfig.parentEl; + if (_.isFunction(parentEl)){ + parentEl = parentEl(); + } + return parentEl.find(selector); + }; + } + + return region; + } + +}); + +// Region Instance Methods +// ----------------------- + +_.extend(Marionette.Region.prototype, Backbone.Events, { + + // Displays a backbone view instance inside of the region. + // Handles calling the `render` method for you. Reads content + // directly from the `el` attribute. Also calls an optional + // `onShow` and `close` method on your view, just after showing + // or just before closing the view, respectively. + show: function(view){ + + this.ensureEl(); + + if (view !== this.currentView) { + this.close(); + view.render(); + this.open(view); + } else { + view.render(); + } + + Marionette.triggerMethod.call(view, "show"); + Marionette.triggerMethod.call(this, "show", view); + + this.currentView = view; + }, + + ensureEl: function(){ + if (!this.$el || this.$el.length === 0){ + this.$el = this.getEl(this.el); + } + }, + + // Override this method to change how the region finds the + // DOM element that it manages. Return a jQuery selector object. + getEl: function(selector){ + return Marionette.$(selector); + }, + + // Override this method to change how the new view is + // appended to the `$el` that the region is managing + open: function(view){ + this.$el.empty().append(view.el); + }, + + // Close the current view, if there is one. If there is no + // current view, it does nothing and returns immediately. + close: function(){ + var view = this.currentView; + if (!view || view.isClosed){ return; } + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + Marionette.triggerMethod.call(this, "close"); + + delete this.currentView; + }, + + // Attach an existing view to the region. This + // will not call `render` or `onShow` for the new view, + // and will not replace the current HTML for the `el` + // of the region. + attachView: function(view){ + this.currentView = view; + }, + + // Reset the region by closing any existing view and + // clearing out the cached `$el`. The next time a view + // is shown via this region, the region will re-query the + // DOM for the region's `el`. + reset: function(){ + this.close(); + delete this.$el; + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Region.extend = Marionette.extend; + +// Marionette.RegionManager +// ------------------------ +// +// Manage one or more related `Marionette.Region` objects. +Marionette.RegionManager = (function(Marionette){ + + var RegionManager = Marionette.Controller.extend({ + constructor: function(options){ + this._regions = {}; + Marionette.Controller.prototype.constructor.call(this, options); + }, + + // Add multiple regions using an object literal, where + // each key becomes the region name, and each value is + // the region definition. + addRegions: function(regionDefinitions, defaults){ + var regions = {}; + + _.each(regionDefinitions, function(definition, name){ + if (typeof definition === "string"){ + definition = { selector: definition }; + } + + if (definition.selector){ + definition = _.defaults({}, definition, defaults); + } + + var region = this.addRegion(name, definition); + regions[name] = region; + }, this); + + return regions; + }, + + // Add an individual region to the region manager, + // and return the region instance + addRegion: function(name, definition){ + var region; + + var isObject = _.isObject(definition); + var isString = _.isString(definition); + var hasSelector = !!definition.selector; + + if (isString || (isObject && hasSelector)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else if (_.isFunction(definition)){ + region = Marionette.Region.buildRegion(definition, Marionette.Region); + } else { + region = definition; + } + + this._store(name, region); + this.triggerMethod("region:add", name, region); + return region; + }, + + // Get a region by name + get: function(name){ + return this._regions[name]; + }, + + // Remove a region by name + removeRegion: function(name){ + var region = this._regions[name]; + this._remove(name, region); + }, + + // Close all regions in the region manager, and + // remove them + removeRegions: function(){ + _.each(this._regions, function(region, name){ + this._remove(name, region); + }, this); + }, + + // Close all regions in the region manager, but + // leave them attached + closeRegions: function(){ + _.each(this._regions, function(region, name){ + region.close(); + }, this); + }, + + // Close all regions and shut down the region + // manager entirely + close: function(){ + this.removeRegions(); + var args = Array.prototype.slice.call(arguments); + Marionette.Controller.prototype.close.apply(this, args); + }, + + // internal method to store regions + _store: function(name, region){ + this._regions[name] = region; + this.length = _.size(this._regions); + }, + + // internal method to remove a region + _remove: function(name, region){ + region.close(); + delete this._regions[name]; + this.triggerMethod("region:remove", name, region); + } + + }); + + // Borrowing this code from Backbone.Collection: + // http://backbonejs.org/docs/backbone.html#section-106 + // + // Mix in methods from Underscore, for iteration, and other + // collection related features. + var methods = ['forEach', 'each', 'map', 'find', 'detect', 'filter', + 'select', 'reject', 'every', 'all', 'some', 'any', 'include', + 'contains', 'invoke', 'toArray', 'first', 'initial', 'rest', + 'last', 'without', 'isEmpty', 'pluck']; + + _.each(methods, function(method) { + RegionManager.prototype[method] = function() { + var regions = _.values(this._regions); + var args = [regions].concat(_.toArray(arguments)); + return _[method].apply(_, args); + }; + }); + + return RegionManager; +})(Marionette); + + +// Template Cache +// -------------- + +// Manage templates stored in `<script>` blocks, +// caching them for faster access. +Marionette.TemplateCache = function(templateId){ + this.templateId = templateId; +}; + +// TemplateCache object-level methods. Manage the template +// caches from these method calls instead of creating +// your own TemplateCache instances +_.extend(Marionette.TemplateCache, { + templateCaches: {}, + + // Get the specified template by id. Either + // retrieves the cached version, or loads it + // from the DOM. + get: function(templateId){ + var cachedTemplate = this.templateCaches[templateId]; + + if (!cachedTemplate){ + cachedTemplate = new Marionette.TemplateCache(templateId); + this.templateCaches[templateId] = cachedTemplate; + } + + return cachedTemplate.load(); + }, + + // Clear templates from the cache. If no arguments + // are specified, clears all templates: + // `clear()` + // + // If arguments are specified, clears each of the + // specified templates from the cache: + // `clear("#t1", "#t2", "...")` + clear: function(){ + var i; + var args = slice(arguments); + var length = args.length; + + if (length > 0){ + for(i=0; i<length; i++){ + delete this.templateCaches[args[i]]; + } + } else { + this.templateCaches = {}; + } + } +}); + +// TemplateCache instance methods, allowing each +// template cache object to manage it's own state +// and know whether or not it has been loaded +_.extend(Marionette.TemplateCache.prototype, { + + // Internal method to load the template + load: function(){ + // Guard clause to prevent loading this template more than once + if (this.compiledTemplate){ + return this.compiledTemplate; + } + + // Load the template and compile it + var template = this.loadTemplate(this.templateId); + this.compiledTemplate = this.compileTemplate(template); + + return this.compiledTemplate; + }, + + // Load a template from the DOM, by default. Override + // this method to provide your own template retrieval + // For asynchronous loading with AMD/RequireJS, consider + // using a template-loader plugin as described here: + // https://github.com/marionettejs/backbone.marionette/wiki/Using-marionette-with-requirejs + loadTemplate: function(templateId){ + var template = Marionette.$(templateId).html(); + + if (!template || template.length === 0){ + throwError("Could not find template: '" + templateId + "'", "NoTemplateError"); + } + + return template; + }, + + // Pre-compile the template before caching it. Override + // this method if you do not need to pre-compile a template + // (JST / RequireJS for example) or if you want to change + // the template engine used (Handebars, etc). + compileTemplate: function(rawTemplate){ + return _.template(rawTemplate); + } +}); + + +// Renderer +// -------- + +// Render a template with data by passing in the template +// selector and the data to render. +Marionette.Renderer = { + + // Render a template with data. The `template` parameter is + // passed to the `TemplateCache` object to retrieve the + // template function. Override this method to provide your own + // custom rendering and template handling for all of Marionette. + render: function(template, data){ + var templateFunc = typeof template === 'function' ? template : Marionette.TemplateCache.get(template); + return templateFunc(data); + } +}; + + + +// Marionette.View +// --------------- + +// The core view type that other Marionette views extend from. +Marionette.View = Backbone.View.extend({ + + constructor: function(){ + _.bindAll(this, "render"); + + var args = Array.prototype.slice.apply(arguments); + Backbone.View.prototype.constructor.apply(this, args); + + Marionette.MonitorDOMRefresh(this); + this.listenTo(this, "show", this.onShowCalled, this); + }, + + // import the "triggerMethod" to trigger events with corresponding + // methods if the method exists + triggerMethod: Marionette.triggerMethod, + + // Get the template for this view + // instance. You can set a `template` attribute in the view + // definition or pass a `template: "whatever"` parameter in + // to the constructor options. + getTemplate: function(){ + return Marionette.getOption(this, "template"); + }, + + // Mix in template helper methods. Looks for a + // `templateHelpers` attribute, which can either be an + // object literal, or a function that returns an object + // literal. All methods and attributes from this object + // are copies to the object passed in. + mixinTemplateHelpers: function(target){ + target = target || {}; + var templateHelpers = this.templateHelpers; + if (_.isFunction(templateHelpers)){ + templateHelpers = templateHelpers.call(this); + } + return _.extend(target, templateHelpers); + }, + + // Configure `triggers` to forward DOM events to view + // events. `triggers: {"click .foo": "do:foo"}` + configureTriggers: function(){ + if (!this.triggers) { return; } + + var triggerEvents = {}; + + // Allow `triggers` to be configured as a function + var triggers = _.result(this, "triggers"); + + // Configure the triggers, prevent default + // action and stop propagation of DOM events + _.each(triggers, function(value, key){ + + // build the event handler function for the DOM event + triggerEvents[key] = function(e){ + + // stop the event in it's tracks + if (e && e.preventDefault){ e.preventDefault(); } + if (e && e.stopPropagation){ e.stopPropagation(); } + + // build the args for the event + var args = { + view: this, + model: this.model, + collection: this.collection + }; + + // trigger the event + this.triggerMethod(value, args); + }; + + }, this); + + return triggerEvents; + }, + + // Overriding Backbone.View's delegateEvents to handle + // the `triggers`, `modelEvents`, and `collectionEvents` configuration + delegateEvents: function(events){ + this._delegateDOMEvents(events); + Marionette.bindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.bindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // internal method to delegate DOM events and triggers + _delegateDOMEvents: function(events){ + events = events || this.events; + if (_.isFunction(events)){ events = events.call(this); } + + var combinedEvents = {}; + var triggers = this.configureTriggers(); + _.extend(combinedEvents, events, triggers); + + Backbone.View.prototype.delegateEvents.call(this, combinedEvents); + }, + + // Overriding Backbone.View's undelegateEvents to handle unbinding + // the `triggers`, `modelEvents`, and `collectionEvents` config + undelegateEvents: function(){ + var args = Array.prototype.slice.call(arguments); + Backbone.View.prototype.undelegateEvents.apply(this, args); + + Marionette.unbindEntityEvents(this, this.model, Marionette.getOption(this, "modelEvents")); + Marionette.unbindEntityEvents(this, this.collection, Marionette.getOption(this, "collectionEvents")); + }, + + // Internal method, handles the `show` event. + onShowCalled: function(){}, + + // Default `close` implementation, for removing a view from the + // DOM and unbinding it. Regions will call this method + // for you. You can specify an `onClose` method in your view to + // add custom code that is called after the view is closed. + close: function(){ + if (this.isClosed) { return; } + + // allow the close to be stopped by returning `false` + // from the `onBeforeClose` method + var shouldClose = this.triggerMethod("before:close"); + if (shouldClose === false){ + return; + } + + // mark as closed before doing the actual close, to + // prevent infinite loops within "close" event handlers + // that are trying to close other views + this.isClosed = true; + this.triggerMethod("close"); + + // unbind UI elements + this.unbindUIElements(); + + // remove the view from the DOM + this.remove(); + }, + + // This method binds the elements specified in the "ui" hash inside the view's code with + // the associated jQuery selectors. + bindUIElements: function(){ + if (!this.ui) { return; } + + // store the ui hash in _uiBindings so they can be reset later + // and so re-rendering the view will be able to find the bindings + if (!this._uiBindings){ + this._uiBindings = this.ui; + } + + // get the bindings result, as a function or otherwise + var bindings = _.result(this, "_uiBindings"); + + // empty the ui so we don't have anything to start with + this.ui = {}; + + // bind each of the selectors + _.each(_.keys(bindings), function(key) { + var selector = bindings[key]; + this.ui[key] = this.$(selector); + }, this); + }, + + // This method unbinds the elements specified in the "ui" hash + unbindUIElements: function(){ + if (!this.ui){ return; } + + // delete all of the existing ui bindings + _.each(this.ui, function($el, name){ + delete this.ui[name]; + }, this); + + // reset the ui element to the original bindings configuration + this.ui = this._uiBindings; + delete this._uiBindings; + } +}); + +// Item View +// --------- + +// A single item view implementation that contains code for rendering +// with underscore.js templates, serializing the view's model or collection, +// and calling several methods on extended views, such as `onRender`. +Marionette.ItemView = Marionette.View.extend({ + constructor: function(){ + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + }, + + // Serialize the model or collection for the view. If a model is + // found, `.toJSON()` is called. If a collection is found, `.toJSON()` + // is also called, but is used to populate an `items` array in the + // resulting data. If both are found, defaults to the model. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model) { + data = this.model.toJSON(); + } + else if (this.collection) { + data = { items: this.collection.toJSON() }; + } + + return data; + }, + + // Render the view, defaulting to underscore.js templates. + // You can override this in your view definition to provide + // a very specific rendering for your view. In general, though, + // you should override the `Marionette.Renderer` object to + // change how Marionette renders views. + render: function(){ + this.isClosed = false; + + this.triggerMethod("before:render", this); + this.triggerMethod("item:before:render", this); + + var data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + var html = Marionette.Renderer.render(template, data); + this.$el.html(html); + this.bindUIElements(); + + this.triggerMethod("render", this); + this.triggerMethod("item:rendered", this); + + return this; + }, + + // Override the default close event to add a few + // more events that are triggered. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod('item:before:close'); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + + this.triggerMethod('item:closed'); + } +}); + +// Collection View +// --------------- + +// A view that iterates over a Backbone.Collection +// and renders an individual ItemView for each model. +Marionette.CollectionView = Marionette.View.extend({ + // used as the prefix for item view events + // that are forwarded through the collectionview + itemViewEventPrefix: "itemview", + + // constructor + constructor: function(options){ + this._initChildViewStorage(); + + Marionette.View.prototype.constructor.apply(this, slice(arguments)); + + this._initialEvents(); + }, + + // Configured the initial events that the collection view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this.render, this); + } + }, + + // Handle a child item added to the collection + addChildView: function(item, collection, options){ + this.closeEmptyView(); + var ItemView = this.getItemView(item); + var index = this.collection.indexOf(item); + this.addItemView(item, ItemView, index); + }, + + // Override from `Marionette.View` to guarantee the `onShow` method + // of child views is called. + onShowCalled: function(){ + this.children.each(function(child){ + Marionette.triggerMethod.call(child, "show"); + }); + }, + + // Internal method to trigger the before render callbacks + // and events + triggerBeforeRender: function(){ + this.triggerMethod("before:render", this); + this.triggerMethod("collection:before:render", this); + }, + + // Internal method to trigger the rendered callbacks and + // events + triggerRendered: function(){ + this.triggerMethod("render", this); + this.triggerMethod("collection:rendered", this); + }, + + // Render the collection of items. Override this method to + // provide your own implementation of a render function for + // the collection view. + render: function(){ + this.isClosed = false; + this.triggerBeforeRender(); + this._renderChildren(); + this.triggerRendered(); + return this; + }, + + // Internal method. Separated so that CompositeView can have + // more control over events being triggered, around the rendering + // process + _renderChildren: function(){ + this.closeEmptyView(); + this.closeChildren(); + + if (this.collection && this.collection.length > 0) { + this.showCollection(); + } else { + this.showEmptyView(); + } + }, + + // Internal method to loop through each item in the + // collection view and show it + showCollection: function(){ + var ItemView; + this.collection.each(function(item, index){ + ItemView = this.getItemView(item); + this.addItemView(item, ItemView, index); + }, this); + }, + + // Internal method to show an empty view in place of + // a collection of item views, when the collection is + // empty + showEmptyView: function(){ + var EmptyView = Marionette.getOption(this, "emptyView"); + + if (EmptyView && !this._showingEmptyView){ + this._showingEmptyView = true; + var model = new Backbone.Model(); + this.addItemView(model, EmptyView, 0); + } + }, + + // Internal method to close an existing emptyView instance + // if one exists. Called when a collection view has been + // rendered empty, and then an item is added to the collection. + closeEmptyView: function(){ + if (this._showingEmptyView){ + this.closeChildren(); + delete this._showingEmptyView; + } + }, + + // Retrieve the itemView type, either from `this.options.itemView` + // or from the `itemView` in the object definition. The "options" + // takes precedence. + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView"); + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Render the child item's view and add it to the + // HTML for the collection view. + addItemView: function(item, ItemView, index){ + // get the itemViewOptions if any were specified + var itemViewOptions = Marionette.getOption(this, "itemViewOptions"); + if (_.isFunction(itemViewOptions)){ + itemViewOptions = itemViewOptions.call(this, item, index); + } + + // build the view + var view = this.buildItemView(item, ItemView, itemViewOptions); + + // set up the child view event forwarding + this.addChildViewEventForwarding(view); + + // this view is about to be added + this.triggerMethod("before:item:added", view); + + // Store the child view itself so we can properly + // remove and/or close it later + this.children.add(view); + + // Render it and show it + this.renderItemView(view, index); + + // call the "show" method if the collection view + // has already been shown + if (this._isShown){ + Marionette.triggerMethod.call(view, "show"); + } + + // this view was added + this.triggerMethod("after:item:added", view); + }, + + // Set up the child view event forwarding. Uses an "itemview:" + // prefix in front of all forwarded events. + addChildViewEventForwarding: function(view){ + var prefix = Marionette.getOption(this, "itemViewEventPrefix"); + + // Forward all child item view events through the parent, + // prepending "itemview:" to the event name + this.listenTo(view, "all", function(){ + var args = slice(arguments); + args[0] = prefix + ":" + args[0]; + args.splice(1, 0, view); + + Marionette.triggerMethod.apply(this, args); + }, this); + }, + + // render the item view + renderItemView: function(view, index) { + view.render(); + this.appendHtml(this, view, index); + }, + + // Build an `itemView` for every model in the collection. + buildItemView: function(item, ItemViewType, itemViewOptions){ + var options = _.extend({model: item}, itemViewOptions); + return new ItemViewType(options); + }, + + // get the child view by item it holds, and remove it + removeItemView: function(item){ + var view = this.children.findByModel(item); + this.removeChildView(view); + this.checkEmpty(); + }, + + // Remove the child view and close it + removeChildView: function(view){ + + // shut down the child view properly, + // including events that the collection has from it + if (view){ + this.stopListening(view); + + // call 'close' or 'remove', depending on which is found + if (view.close) { view.close(); } + else if (view.remove) { view.remove(); } + + this.children.remove(view); + } + + this.triggerMethod("item:removed", view); + }, + + // helper to show the empty view if the collection is empty + checkEmpty: function() { + // check if we're empty now, and if we are, show the + // empty view + if (!this.collection || this.collection.length === 0){ + this.showEmptyView(); + } + }, + + // Append the HTML to the collection's `el`. + // Override this method to do something other + // then `.append`. + appendHtml: function(collectionView, itemView, index){ + collectionView.$el.append(itemView.el); + }, + + // Internal method to set up the `children` object for + // storing all of the child views + _initChildViewStorage: function(){ + this.children = new Backbone.ChildViewContainer(); + }, + + // Handle cleanup and other closing needs for + // the collection of views. + close: function(){ + if (this.isClosed){ return; } + + this.triggerMethod("collection:before:close"); + this.closeChildren(); + this.triggerMethod("collection:closed"); + + Marionette.View.prototype.close.apply(this, slice(arguments)); + }, + + // Close the child views that this collection view + // is holding on to, if any + closeChildren: function(){ + this.children.each(function(child){ + this.removeChildView(child); + }, this); + this.checkEmpty(); + } +}); + + +// Composite View +// -------------- + +// Used for rendering a branch-leaf, hierarchical structure. +// Extends directly from CollectionView and also renders an +// an item view as `modelView`, for the top leaf +Marionette.CompositeView = Marionette.CollectionView.extend({ + constructor: function(options){ + Marionette.CollectionView.apply(this, slice(arguments)); + + this.itemView = this.getItemView(); + }, + + // Configured the initial events that the composite view + // binds to. Override this method to prevent the initial + // events, or to add your own initial events. + _initialEvents: function(){ + if (this.collection){ + this.listenTo(this.collection, "add", this.addChildView, this); + this.listenTo(this.collection, "remove", this.removeItemView, this); + this.listenTo(this.collection, "reset", this._renderChildren, this); + } + }, + + // Retrieve the `itemView` to be used when rendering each of + // the items in the collection. The default is to return + // `this.itemView` or Marionette.CompositeView if no `itemView` + // has been defined + getItemView: function(item){ + var itemView = Marionette.getOption(this, "itemView") || this.constructor; + + if (!itemView){ + throwError("An `itemView` must be specified", "NoItemViewError"); + } + + return itemView; + }, + + // Serialize the collection for the view. + // You can override the `serializeData` method in your own view + // definition, to provide custom serialization for your view's data. + serializeData: function(){ + var data = {}; + + if (this.model){ + data = this.model.toJSON(); + } + + return data; + }, + + // Renders the model once, and the collection once. Calling + // this again will tell the model's view to re-render itself + // but the collection will not re-render. + render: function(){ + this.isRendered = true; + this.isClosed = false; + this.resetItemViewContainer(); + + this.triggerBeforeRender(); + var html = this.renderModel(); + this.$el.html(html); + // the ui bindings is done here and not at the end of render since they + // will not be available until after the model is rendered, but should be + // available before the collection is rendered. + this.bindUIElements(); + this.triggerMethod("composite:model:rendered"); + + this._renderChildren(); + + this.triggerMethod("composite:rendered"); + this.triggerRendered(); + return this; + }, + + _renderChildren: function(){ + if (this.isRendered){ + Marionette.CollectionView.prototype._renderChildren.call(this); + this.triggerMethod("composite:collection:rendered"); + } + }, + + // Render an individual model, if we have one, as + // part of a composite view (branch / leaf). For example: + // a treeview. + renderModel: function(){ + var data = {}; + data = this.serializeData(); + data = this.mixinTemplateHelpers(data); + + var template = this.getTemplate(); + return Marionette.Renderer.render(template, data); + }, + + // Appends the `el` of itemView instances to the specified + // `itemViewContainer` (a jQuery selector). Override this method to + // provide custom logic of how the child item view instances have their + // HTML appended to the composite view instance. + appendHtml: function(cv, iv){ + var $container = this.getItemViewContainer(cv); + $container.append(iv.el); + }, + + // Internal method to ensure an `$itemViewContainer` exists, for the + // `appendHtml` method to use. + getItemViewContainer: function(containerView){ + if ("$itemViewContainer" in containerView){ + return containerView.$itemViewContainer; + } + + var container; + if (containerView.itemViewContainer){ + + var selector = _.result(containerView, "itemViewContainer"); + container = containerView.$(selector); + if (container.length <= 0) { + throwError("The specified `itemViewContainer` was not found: " + containerView.itemViewContainer, "ItemViewContainerMissingError"); + } + + } else { + container = containerView.$el; + } + + containerView.$itemViewContainer = container; + return container; + }, + + // Internal method to reset the `$itemViewContainer` on render + resetItemViewContainer: function(){ + if (this.$itemViewContainer){ + delete this.$itemViewContainer; + } + } +}); + + +// Layout +// ------ + +// Used for managing application layouts, nested layouts and +// multiple regions within an application or sub-application. +// +// A specialized view type that renders an area of HTML and then +// attaches `Region` instances to the specified `regions`. +// Used for composite view management and sub-application areas. +Marionette.Layout = Marionette.ItemView.extend({ + regionType: Marionette.Region, + + // Ensure the regions are available when the `initialize` method + // is called. + constructor: function (options) { + options = options || {}; + + this._firstRender = true; + this._initializeRegions(options); + + Marionette.ItemView.call(this, options); + }, + + // Layout's render will use the existing region objects the + // first time it is called. Subsequent calls will close the + // views that the regions are showing and then reset the `el` + // for the regions to the newly rendered DOM elements. + render: function(){ + + if (this._firstRender){ + // if this is the first render, don't do anything to + // reset the regions + this._firstRender = false; + } else if (this.isClosed){ + // a previously closed layout means we need to + // completely re-initialize the regions + this._initializeRegions(); + } else { + // If this is not the first render call, then we need to + // re-initializing the `el` for each region + this._reInitializeRegions(); + } + + var args = Array.prototype.slice.apply(arguments); + var result = Marionette.ItemView.prototype.render.apply(this, args); + + return result; + }, + + // Handle closing regions, and then close the view itself. + close: function () { + if (this.isClosed){ return; } + this.regionManager.close(); + var args = Array.prototype.slice.apply(arguments); + Marionette.ItemView.prototype.close.apply(this, args); + }, + + // Add a single region, by name, to the layout + addRegion: function(name, definition){ + var regions = {}; + regions[name] = definition; + return this.addRegions(regions)[name]; + }, + + // Add multiple regions as a {name: definition, name2: def2} object literal + addRegions: function(regions){ + this.regions = _.extend(this.regions || {}, regions); + return this._buildRegions(regions); + }, + + // Remove a single region from the Layout, by name + removeRegion: function(name){ + return this.regionManager.removeRegion(name); + }, + + // internal method to build regions + _buildRegions: function(regions){ + var that = this; + + var defaults = { + parentEl: function(){ return that.$el; } + }; + + return this.regionManager.addRegions(regions, defaults); + }, + + // Internal method to initialize the regions that have been defined in a + // `regions` attribute on this layout. + _initializeRegions: function (options) { + var regions; + this._initRegionManager(); + + if (_.isFunction(this.regions)) { + regions = this.regions(options); + } else { + regions = this.regions || {}; + } + + this.addRegions(regions); + }, + + // Internal method to re-initialize all of the regions by updating the `el` that + // they point to + _reInitializeRegions: function(){ + this.regionManager.closeRegions(); + this.regionManager.each(function(region){ + region.reset(); + }); + }, + + // Internal method to initialize the region manager + // and all regions in it + _initRegionManager: function(){ + this.regionManager = new Marionette.RegionManager(); + + this.listenTo(this.regionManager, "region:add", function(name, region){ + this[name] = region; + this.trigger("region:add", name, region); + }); + + this.listenTo(this.regionManager, "region:remove", function(name, region){ + delete this[name]; + this.trigger("region:remove", name, region); + }); + } +}); + + +// AppRouter +// --------- + +// Reduce the boilerplate code of handling route events +// and then calling a single method on another object. +// Have your routers configured to call the method on +// your object, directly. +// +// Configure an AppRouter with `appRoutes`. +// +// App routers can only take one `controller` object. +// It is recommended that you divide your controller +// objects in to smaller pieces of related functionality +// and have multiple routers / controllers, instead of +// just one giant router and controller. +// +// You can also add standard routes to an AppRouter. + +Marionette.AppRouter = Backbone.Router.extend({ + + constructor: function(options){ + Backbone.Router.prototype.constructor.apply(this, slice(arguments)); + + this.options = options; + + if (this.appRoutes){ + var controller = Marionette.getOption(this, "controller"); + this.processAppRoutes(controller, this.appRoutes); + } + }, + + // Internal method to process the `appRoutes` for the + // router, and turn them in to routes that trigger the + // specified method on the specified `controller`. + processAppRoutes: function(controller, appRoutes) { + var routeNames = _.keys(appRoutes).reverse(); // Backbone requires reverted order of routes + + _.each(routeNames, function(route) { + var methodName = appRoutes[route]; + var method = controller[methodName]; + + if (!method) { + throw new Error("Method '" + methodName + "' was not found on the controller"); + } + + this.route(route, methodName, _.bind(method, controller)); + }, this); + } +}); + + +// Application +// ----------- + +// Contain and manage the composite application as a whole. +// Stores and starts up `Region` objects, includes an +// event aggregator as `app.vent` +Marionette.Application = function(options){ + this._initRegionManager(); + this._initCallbacks = new Marionette.Callbacks(); + this.vent = new Backbone.Wreqr.EventAggregator(); + this.commands = new Backbone.Wreqr.Commands(); + this.reqres = new Backbone.Wreqr.RequestResponse(); + this.submodules = {}; + + _.extend(this, options); + + this.triggerMethod = Marionette.triggerMethod; +}; + +_.extend(Marionette.Application.prototype, Backbone.Events, { + // Command execution, facilitated by Backbone.Wreqr.Commands + execute: function(){ + var args = Array.prototype.slice.apply(arguments); + this.commands.execute.apply(this.commands, args); + }, + + // Request/response, facilitated by Backbone.Wreqr.RequestResponse + request: function(){ + var args = Array.prototype.slice.apply(arguments); + return this.reqres.request.apply(this.reqres, args); + }, + + // Add an initializer that is either run at when the `start` + // method is called, or run immediately if added after `start` + // has already been called. + addInitializer: function(initializer){ + this._initCallbacks.add(initializer); + }, + + // kick off all of the application's processes. + // initializes all of the regions that have been added + // to the app, and runs all of the initializer functions + start: function(options){ + this.triggerMethod("initialize:before", options); + this._initCallbacks.run(options, this); + this.triggerMethod("initialize:after", options); + + this.triggerMethod("start", options); + }, + + // Add regions to your app. + // Accepts a hash of named strings or Region objects + // addRegions({something: "#someRegion"}) + // addRegions({something: Region.extend({el: "#someRegion"}) }); + addRegions: function(regions){ + return this._regionManager.addRegions(regions); + }, + + // Removes a region from your app. + // Accepts the regions name + // removeRegion('myRegion') + removeRegion: function(region) { + this._regionManager.removeRegion(region); + }, + + // Create a module, attached to the application + module: function(moduleNames, moduleDefinition){ + // slice the args, and add this application object as the + // first argument of the array + var args = slice(arguments); + args.unshift(this); + + // see the Marionette.Module object for more information + return Marionette.Module.create.apply(Marionette.Module, args); + }, + + // Internal method to set up the region manager + _initRegionManager: function(){ + this._regionManager = new Marionette.RegionManager(); + + this.listenTo(this._regionManager, "region:add", function(name, region){ + this[name] = region; + }); + + this.listenTo(this._regionManager, "region:remove", function(name, region){ + delete this[name]; + }); + } +}); + +// Copy the `extend` function used by Backbone's classes +Marionette.Application.extend = Marionette.extend; + +// Module +// ------ + +// A simple module system, used to create privacy and encapsulation in +// Marionette applications +Marionette.Module = function(moduleName, app){ + this.moduleName = moduleName; + + // store sub-modules + this.submodules = {}; + + this._setupInitializersAndFinalizers(); + + // store the configuration for this module + this.app = app; + this.startWithParent = true; + + this.triggerMethod = Marionette.triggerMethod; +}; + +// Extend the Module prototype with events / listenTo, so that the module +// can be used as an event aggregator or pub/sub. +_.extend(Marionette.Module.prototype, Backbone.Events, { + + // Initializer for a specific module. Initializers are run when the + // module's `start` method is called. + addInitializer: function(callback){ + this._initializerCallbacks.add(callback); + }, + + // Finalizers are run when a module is stopped. They are used to teardown + // and finalize any variables, references, events and other code that the + // module had set up. + addFinalizer: function(callback){ + this._finalizerCallbacks.add(callback); + }, + + // Start the module, and run all of its initializers + start: function(options){ + // Prevent re-starting a module that is already started + if (this._isInitialized){ return; } + + // start the sub-modules (depth-first hierarchy) + _.each(this.submodules, function(mod){ + // check to see if we should start the sub-module with this parent + if (mod.startWithParent){ + mod.start(options); + } + }); + + // run the callbacks to "start" the current module + this.triggerMethod("before:start", options); + + this._initializerCallbacks.run(options, this); + this._isInitialized = true; + + this.triggerMethod("start", options); + }, + + // Stop this module by running its finalizers and then stop all of + // the sub-modules for this module + stop: function(){ + // if we are not initialized, don't bother finalizing + if (!this._isInitialized){ return; } + this._isInitialized = false; + + Marionette.triggerMethod.call(this, "before:stop"); + + // stop the sub-modules; depth-first, to make sure the + // sub-modules are stopped / finalized before parents + _.each(this.submodules, function(mod){ mod.stop(); }); + + // run the finalizers + this._finalizerCallbacks.run(undefined,this); + + // reset the initializers and finalizers + this._initializerCallbacks.reset(); + this._finalizerCallbacks.reset(); + + Marionette.triggerMethod.call(this, "stop"); + }, + + // Configure the module with a definition function and any custom args + // that are to be passed in to the definition function + addDefinition: function(moduleDefinition, customArgs){ + this._runModuleDefinition(moduleDefinition, customArgs); + }, + + // Internal method: run the module definition function with the correct + // arguments + _runModuleDefinition: function(definition, customArgs){ + if (!definition){ return; } + + // build the correct list of arguments for the module definition + var args = _.flatten([ + this, + this.app, + Backbone, + Marionette, + Marionette.$, _, + customArgs + ]); + + definition.apply(this, args); + }, + + // Internal method: set up new copies of initializers and finalizers. + // Calling this method will wipe out all existing initializers and + // finalizers. + _setupInitializersAndFinalizers: function(){ + this._initializerCallbacks = new Marionette.Callbacks(); + this._finalizerCallbacks = new Marionette.Callbacks(); + } +}); + +// Type methods to create modules +_.extend(Marionette.Module, { + + // Create a module, hanging off the app parameter as the parent object. + create: function(app, moduleNames, moduleDefinition){ + var module = app; + + // get the custom args passed in after the module definition and + // get rid of the module name and definition function + var customArgs = slice(arguments); + customArgs.splice(0, 3); + + // split the module names and get the length + moduleNames = moduleNames.split("."); + var length = moduleNames.length; + + // store the module definition for the last module in the chain + var moduleDefinitions = []; + moduleDefinitions[length-1] = moduleDefinition; + + // Loop through all the parts of the module definition + _.each(moduleNames, function(moduleName, i){ + var parentModule = module; + module = this._getModule(parentModule, moduleName, app); + this._addModuleDefinition(parentModule, module, moduleDefinitions[i], customArgs); + }, this); + + // Return the last module in the definition chain + return module; + }, + + _getModule: function(parentModule, moduleName, app, def, args){ + // Get an existing module of this name if we have one + var module = parentModule[moduleName]; + + if (!module){ + // Create a new module if we don't have one + module = new Marionette.Module(moduleName, app); + parentModule[moduleName] = module; + // store the module on the parent + parentModule.submodules[moduleName] = module; + } + + return module; + }, + + _addModuleDefinition: function(parentModule, module, def, args){ + var fn; + var startWithParent; + + if (_.isFunction(def)){ + // if a function is supplied for the module definition + fn = def; + startWithParent = true; + + } else if (_.isObject(def)){ + // if an object is supplied + fn = def.define; + startWithParent = def.startWithParent; + + } else { + // if nothing is supplied + startWithParent = true; + } + + // add module definition if needed + if (fn){ + module.addDefinition(fn, args); + } + + // `and` the two together, ensuring a single `false` will prevent it + // from starting with the parent + module.startWithParent = module.startWithParent && startWithParent; + + // setup auto-start if needed + if (module.startWithParent && !module.startWithParentIsConfigured){ + + // only configure this once + module.startWithParentIsConfigured = true; + + // add the module initializer config + parentModule.addInitializer(function(options){ + if (module.startWithParent){ + module.start(options); + } + }); + + } + + } +}); + + + + return Marionette; +})(this, Backbone, _); + + + var savedPicks; + var create_funnel_tracking_end = "0"; + + $(window).bind("beforeunload", function(e) { + if ( savedPicks != undefined && parseInt(savedPicks) < 1 ) { + return "You have unsaved changes to your bracket. All changes will be lost if you continue without saving."; + } + }); + + var leagueId = 'uclalemur', + leagueType = 'bpm', + isCommissioner = '1', + imageServer = 'http://sports.cbsimg.net', + year = '2017', + lastTwoDigitsYear = '17', + teamId = '1', + showTeamId = '9', + managerAction = '1', + renvBracketNumber = '1', + accessToken = 'U2FsdGVkX1_yio3lCN4REqRIG9rUBh8dREYhMHj0hzba7XwC3FzeVlX25y_gBs15RAyPjHOi8J25nHksNhROkGjUOa8YSZ3KgzCAnq23D3k', + needsTiebreaker = '1', + showInterstitial = '0', + interstitialLink = '', + showInterstitialForAd = '', + //showInterstitialForAd = 1, + cookieToSetName = '', + timeToLock = '0', + apiFantasyServer = 'http://api.cbssports.com/fantasy', + isFakeTeam = '', + isAnonymousUser = '0', + signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', + isMobile = '0', + isIpad1 = '0', + shareableURL = 'http://uclalemur.mayhem.cbssports.com/brackets/shareable-bracket/6bb92702424201fdca5c2be76de72100?randkey=995062', + showTeamName = ''; + + // This sets and initializes the bootstrapBracketsData used below to pass to the application start + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"VATECH","result":"wrong"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SC","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FLA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NWEST","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NWEST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MICHST","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"LVILLE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"WINTHR","result":"wrong"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"CINCY","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WINTHR","result":"eliminated"},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UNC","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"160","timestamp":"1489637409","team_id":9,"team_name":"Nathan Pilbrough","bracket_number":"1"}},"opm_transfer":0}; + </script> + + </div> + <div style="margin: 0 auto; width: 960px;"> + <div id="bracketContainer"> + <div id="bracketbg"> + <div class="bracketItmLeft1"><div id="region1_title" class="bracketTitle">east</div><div id="1" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="1_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="1_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="1_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="1_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="1_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="1_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="1_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="1_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="1_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="1_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight1"><div id="region3_title" class="bracketTitle">midwest</div><div id="3" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="3_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="3_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="3_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="3_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="3_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="3_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="3_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="3_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="3_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="3_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="bracketItmLeft2"><div id="region2_title" class="bracketTitle">west</div><div id="2" class="bracketContainer"><div id="roundContainer1" class="roundContainer"><div id="2_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_5_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_5_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_6_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_6_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_7_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_7_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="2_1_8_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound1"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_1_8_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="2_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_3_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_3_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="2_2_4_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound2"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_2_4_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="2_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div><div id="2_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="2_3_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound3"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_3_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer4" class="roundContainer"><div id="2_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="2_4_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound4"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="2_4_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div class="bracketItmRight2"><div id="region4_title" class="bracketTitle">south</div><div id="4" class="bracketContainer"><div id="roundContainer4" class="roundContainer"><div id="4_4_1" class="matchupRound4"><div class="teamContainer topTeam" id="4_4_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound4"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_4_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound4"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer3" class="roundContainer"><div id="4_3_1" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_3_2" class="matchupRound3"><div class="teamContainer topTeam" id="4_3_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound3"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_3_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound3"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer2" class="roundContainer"><div id="4_2_1" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_2" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_3" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_2_4" class="matchupRound2"><div class="teamContainer topTeam" id="4_2_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound2"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_2_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound2"></div> + <div class="seed bottomSeed"></div> + </div></div></div><div id="roundContainer1" class="roundContainer"><div id="4_1_1" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_1_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_1_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_2" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_2_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_2_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_3" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_3_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_3_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_4" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_4_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_4_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_5" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_5_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_5_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_6" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_6_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_6_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_7" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_7_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_7_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div><div id="4_1_8" class="matchupRound1"><div class="teamContainer topTeam" id="4_1_8_top_team" ><div class="score topScore"></div> + <div class="text topText teamTextRound1"></div> + <div class="seed topSeed"></div> + </div><div class="teamContainer bottomTeam" id="4_1_8_bottom_team" ><div class="score bottomScore"></div> + <div class="text bottomText teamTextRound1"></div> + <div class="seed bottomSeed"></div> + </div></div></div></div></div> + <div class="finalfourGraphic"> + <div class="finalfourlogo"></div> + <div class="nationalChampion">NATIONAL CHAMPION 4/3</div> + </div> + <div class="finalFourBracket"><div id="5" class="bracketContainer"><div id="roundContainer5" class="roundContainer"><div id="5_5_1" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div><div id="5_5_2" class="matchupRound5"><div class="teamContainer topTeam" id="5_5_2_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound5"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_5_2_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound5"></div> + <div class="score bottomScore"></div> + </div></div></div><div id="roundContainer6" class="roundContainer"><div id="5_6_1" class="matchupRound6"><div class="teamContainer topTeam" id="5_6_1_top_team" ><div class="seed topSeed"></div> + <div class="text topText teamTextRound6"></div> + <div class="score topScore"></div> + </div><div class="teamContainer bottomTeam" id="5_6_1_bottom_team" ><div class="seed bottomSeed"></div> + <div class="text bottomText teamTextRound6"></div> + <div class="score bottomScore"></div> + </div></div></div></div></div> + <div id="tie_breaker_container" class="tieBreakerContainer"><div id="" style="width:90%;margin:5px auto;font-weight:bold;font-family: arial;font-size:12px;text-align:center;">Total Combined Final Score Tiebreaker</div> + <div id="finalGameScore" style="width:26%;margin:5px 0px 0 71px;font-weight:bold;font-family: arial;font-size:12px;text-align:center;"><input type="text" id="finalGameScoreTxt" name="finalGameScoreTxt" style="height:25px;width:45px;border:solid 1px #000;text-align:center;" maxlength="3"></div><div id="" style="margin:4px 0 0 18px;"><button type="button" class="btn-primary" name="save" id="btnSave">Save</button><span style="margin-left:10px"><a href="#" class="btn-default" id="btnReset">Reset</a></span></div><div id="" style="margin:4px 0 0 24px;"><span><a class="btn-default deleteBracketBtn" href="/brackets/delete-bracket/1/9">Delete Bracket</a></span></div></div> + + <div class="ncaaDontBetLogoContainer"> + <img src="http://sports.cbsimg.net/images/openfantasy/mayhem/ncaa_dont_bet_on_it.png"> + </div> + + </div> + </div> + + <!-- TEMPLATES --> + <script id="game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(roundId > 1) { %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="game-finished-layout-template" type="text/template"> + <div class="insideMatchupRound<%= roundId %>"> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="actualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="actualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else {%> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="picks-locked-game-layout-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(bracketLayout == "right") { %> + <div class="matchupAnalysis"></div> + <% } %> + <% if(roundId > 1) { %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick"><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick"><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= topTeamSeed %></div> + <div class="teamName"><%= topTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= topTeamName %></div> + <div class="seed" style="float:right;"><%= topTeamSeed %></div> + <% } %> + </div> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <% if(bracketLayout == "left") { %> + <div class="seed"><%= bottomTeamSeed %></div> + <div class="teamName"><%= bottomTeamName %></div> + <% } else { %> + <div class="teamName" style="float:left;"><%= bottomTeamName %></div> + <div class="seed" style="float:right;"><%= bottomTeamSeed %></div> + <% } %> + </div> + <% } %> + <% if(bracketLayout == "left") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template-pre-lock" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="final-four-template" type="text/template"> + <div class="insideMatchupRound<%= locked %>"> + <% if(gameId == "5-5-2") { %> + <div class="matchupAnalysis"></div> + <div class="rightFinalFourGame"> + <% } + else { %> + <div class="leftFinalFourGame"> + <% } %> + <% if(incorrectTopTeam == 1) { %> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + </div> + <% if(gameId == "5-5-1") { %> + <div class="matchupAnalysis"></div> + <% } %> + </div> +</script> + + <script id="championship-game-template-pre-lock" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="insideMatchupRound<%= locked %>"> + <% if(emptyTopGame == 1) { %> + <div class="teamContainer leftTeam topTeam empty" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(emptyBottomGame == 1) { %> + <div class="teamContainer rightTeam bottomTeam empty" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + <script id="championship-game-template" type="text/template"> + <div class="championshipWinImgContainer"> + <% if (championshipTeamImgSource != "") { %> + <img id="championshipWinImg" src="<%= championshipTeamImgSource %>" class="championshipImgDisplay"> + <% } %> + </div> + <% if(incorrectChampionshipPick == 1) { %> + <div id="winningTeamPick" class="championshipPickedTeam incorrectPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <div class="actualCorrectChampion"><%= actualWinnerName %></div> + <% } else if(incorrectChampionshipPick == "0" && gameStatus == "F") { %> + <div id="winningTeamPick" class="championshipPickedTeam correctPick" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } + else { %> + <div id="winningTeamPick" class="championshipPickedTeam" data-id="<%= winnerAbbr %>"><%= winnerName %></div> + <% } %> + <div class="insideMatchupRound<%= locked %>"> + <% if(incorrectTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName incorrectPick" ><%= topTeamName %></div> + </div> + <div class="topActualCorrectPick"><%= actualCorrectTopTeamName %></div> + <% } else if (correctTopTeam == 1) { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName correctPick" ><%= topTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer leftTeam topTeam" data-id="<%= topTeamCengAbbr %>" id="<%= gameId %>-Top"> + <div class="teamName"><%= topTeamName %></div> + </div> + <% } %> + <% if(incorrectBottomTeam == 1) { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName incorrectPick" ><%= bottomTeamName %></div> + </div> + <div class="bottomActualCorrectPick"><%= actualCorrectBottomTeamName %></div> + <% } else if (correctBottomTeam == 1){%> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName correctPick" ><%= bottomTeamName %></div> + </div> + <% } + else { %> + <div class="teamContainer rightTeam bottomTeam" data-id="<%= bottomTeamCengAbbr %>" id="<%= gameId %>-Bottom"> + <div class="teamName"><%= bottomTeamName %></div> + </div> + <% } %> + <div class="matchupAnalysis"></div> + </div> +</script> + + + <div id="currentView" class=""></div> + <div id="autofill-dialog" class="autofillDialogBox" title="Auto-Fill Your Bracket"></div> + <div id="import-dialog" class="importDialogBox" title="Import Your Bracket"></div> + <div id="matchup-analysis-dialog" class="matchupAnalysisDialogBox" title="Matchup Analysis"></div> + <div id="interstitial-dialog" class="interstitialDialogBox" title="Interstitial"></div> + <div id="transfer-picks-dialog" class="transferPicksDialogBox" title="Your Picks Have Been Transferred"></div> + <div id="register-dialog" class="registerDialogBox" title="You Must Register To Enter the Contest!"></div> + <div id="shareable-dialog" class="shareableDialogBox" title="Confirmation"></div> + <div id="saved-dialog" class="savedDialogBox" title="Bracket Saved!"></div> + <div id="alert-dialog" class="alertDialogBox"></div> + + <script> + $(document).ready(function() { + Fantasy = {}; + if(typeof Fantasy.app=="undefined"||!Fantasy.app){Fantasy.app={}}Fantasy.app.Brackets=new Backbone.Marionette.Application({_parseBootstrap:function(b){var c=this;var a=b.game_and_pick_list;this.openingRoundWinners=a.opening_round_winners;this._loadTeams(a.teams);this._loadRegions(a.regions);this.locked=a.locked;this.pickData=a.pick_data;setTimeout(function(){c.vent.trigger("data:done")},0);this._setTieBreakerValue();this.opmTransfer=b.opm_transfer;if(this.opmTransfer){savedPicks=0}this._overlaySave()},_loadRegions:function(a){this.regions=new Fantasy.app.Brackets.collection.Regions(a,{model:Fantasy.app.Brackets.model.Region})},_loadTeams:function(a){this.teams=new Fantasy.app.Brackets.collection.Teams(a,{model:Fantasy.app.Brackets.model.Team})},_setTieBreakerValue:function(){if(needsTiebreaker==1){var a=this.pickData.tiebreaker!=""?this.pickData.tiebreaker:"";$(finalGameScoreTxt).attr("value",a);if(this.locked==1&&isCommissioner!=1){$(finalGameScoreTxt).attr("disabled","disabled")}}},getNextGameData:function(h){var f=this.getGame(h);if(f==null){return}var b=f.get("nextRoundGameId"),g=b.split("-"),a=g[0],c=g[1],e=f.get("nextRoundGamePosition");if(b==""){return}var i=this.getGame(b);if(i==null){return}var d={nextGame:i,position:e};return d},getPrevGames:function(c){var b=this.getGame(c);if(b==null){return}var d=b.get("prevRoundTopGameId"),a=b.get("prevRoundBottomGameId");prevTopGame=this.getGame(d),prevBottomGame=this.getGame(a),prevGames={topGame:{},bottomGame:{}};if(prevTopGame!=null&&prevBottomGame!=null){prevGames.topGame=prevTopGame;prevGames.bottomGame=prevBottomGame}return prevGames},setGameCorrectTeams:function(i,g){var h=g.get("regionId"),k=g.get("roundId"),j=g.get("id");if(this.locked==1&&k>1){var b,e,d,f,a=this.getPrevGames(j);b=a.topGame;e=b.get("userPick");d=a.bottomGame;f=d.get("userPick");if(e!=null){if(e.result=="wrong"){var c=b.get("winningTeam");i.incorrectTopTeam=1;i.correctTopTeam=0;if(c!=null){i.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[e.pick]=1}else{if(e.result=="right"){i.correctTopTeam=1;i.incorrectTopTeam=0}else{if(this.incorrectTeams[e.pick]==1){i.incorrectTopTeam=1;i.correctTopTeam=0}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}}}}else{i.incorrectTopTeam=0;i.correctTopTeam=0;i.actualCorrectTopTeamName=""}if(f!=null){if(f.result=="wrong"){var c=d.get("winningTeam");i.incorrectBottomTeam=1;i.correctBottomTeam=0;if(c!=null){i.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[f.pick]=1}else{if(f.result=="right"){i.correctBottomTeam=1;i.incorrectBottomTeam=0}else{if(this.incorrectTeams[f.pick]==1){i.incorrectBottomTeam=1;i.correctBottomTeam=0}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}}}else{i.incorrectBottomTeam=0;i.correctBottomTeam=0;i.actualCorrectBottomTeamName=""}}if(g.get("isChampionshipGame")==1&&g.get("userPick")!=null){i.championshipTeam=g.get("userPick").pick;if(this.incorrectTeams[g.get("userPick").pick]==1){i.incorrectChampionshipPick=1}else{i.incorrectChampionshipPick=0}}return},initializeDisplayTeams:function(m,k){var l=k.get("regionId"),o=k.get("roundId"),n=k.get("id");if(k.get("topTeam")!=null&&k.get("bottomTeam")!=null){return}else{var h={},f={};if(o>1){var b,g,e,j,a=this.getPrevGames(n);if(!jQuery.isEmptyObject(a)){b=a.topGame;g=b.get("userPick");e=a.bottomGame;j=e.get("userPick");m.topPrevGameStatus=b.get("status");if(g!=null&&g.pick!=""){var i=this.teams.get(g.pick);h=i;if(g.result=="wrong"){var c=b.get("winningTeam");m.incorrectTopTeam=1;if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[g.pick]=1}}if(g!=null&&this.incorrectTeams[g.pick]==1){m.incorrectTopTeam=1;var c=b.get("winningTeam");if(c!=null){m.actualCorrectTopTeamName=this.teams.get(c.get("id")).get("name")}}}if(!jQuery.isEmptyObject(e)){m.bottomPrevGameStatus=e.get("status");if(j!=null&&j.pick!=""){var d=this.teams.get(j.pick);f=d;if(j.result=="wrong"){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}this.incorrectTeams[j.pick]=1}}if(j!=null&&this.incorrectTeams[j.pick]==1){var c=e.get("winningTeam");m.incorrectBottomTeam=1;if(c!=null){m.actualCorrectBottomTeamName=this.teams.get(c.get("id")).get("name")}}}if(k.get("isChampionshipGame")==1&&k.get("userPick")!=null){m.championshipTeam=k.get("userPick").pick;if(this.incorrectTeams[k.get("userPick").pick]==1){m.incorrectChampionshipPick=1}else{m.incorrectChampionshipPick=0}}}else{if(o==1){h=k.get("homeTeam");f=k.get("awayTeam")}}k.setTopTeam(h);k.setBottomTeam(f);return}},createPickForTeam:function(a,b){var c={pick:a,result:""};if(this.locked==1){var e=b.get("status");if(e=="F"){var d=b.get("winningTeam");if(d.get("id")==a){c.result="right"}else{c.result="wrong"}}}return c},advancePick:function(d,i){if(this.canMakePicks()==0){return}var h=i.model,j=h.get("id"),b=h.get("userPick"),k=$(d.currentTarget).data("id");if(k==null||k==""){return}else{if(b!=null&&k==b.pick){return}}var a=this.createPickForTeam(k,h);h.makePick(a);var c={},g=this.getNextGameData(j);if(g==undefined){return}var l=g.nextGame,f=g.position;if(f=="top"){l.setTopTeam(this.teams.get(k))}else{l.setBottomTeam(this.teams.get(k))}this.traverseBracket(k,l,b);return},traverseBracket:function(h,f,a){var g=f.get("id"),e=this.getNextGameData(g);if(f.get("userPick")==null||a==null){return}if(f.get("isChampionshipGame")==1){if(a.pick==f.get("userPick").pick){f.clearPick();return}}if(e==undefined){return}var i=e.nextGame,d=e.position;if(i==undefined){return}var c=this.teams.get(h);if(a.pick==f.get("userPick").pick){f.clearPick();var b=d=="top"?i.get("topTeam"):i.get("bottomTeam");if(b!=null){if(d=="top"){i.clearTopTeam()}else{i.clearBottomTeam()}this.traverseBracket(h,i,a)}else{return}}},getDroppableTargets:function(f,a,g){var h=f.get("id"),d=this.getNextGameData(h);if(d==undefined||f.get("isChampionshipGame")==1){return a.join("")}var i=d.nextGame,c=d.position;var e=c=="top"?"-Top":"-Bottom",b=i.get("id");a.push(["#",b,e,","].join(""));return this.getDroppableTargets(i,a,g)},advancePickThroughRounds:function(n,p,a,q){selectedGame=this.getGame(a),droppedGameAndPositionComponents=p.split("-"),teamPickedPosition=droppedGameAndPositionComponents[droppedGameAndPositionComponents.length-1],droppedRegionId=droppedGameAndPositionComponents[0],droppedRoundId=droppedGameAndPositionComponents[1],droppedGameId=[droppedRegionId,"-",droppedRoundId,"-",droppedGameAndPositionComponents[2]].join("");droppedGame=this.getGame(droppedGameId),droppedGamePick=droppedGame.get("userPick");var g=(teamPickedPosition=="Top"?this.getGame(droppedGame.get("prevRoundTopGameId")):this.getGame(droppedGame.get("prevRoundBottomGameId"))),d=g.get("userPick");var m=selectedGame.get("userPick"),l=q=="top"?selectedGame.get("topTeam"):selectedGame.get("bottomTeam");if(l==null){return}var e=this.createPickForTeam(l.get("id"),selectedGame);if(droppedGamePick!=null&&droppedGamePick.pick!=""&&droppedGamePick.pick==e.pick){return}selectedGame.makePick(e);var b=n.split(",");var g,d;for(var i=0;i<b.length;i++){var k=b[i],j=k.split("-"),s=j[j.length-1];var o=j[0];o=o.substring(1);var h=j[1],c=[o,"-",h,"-",j[2]].join(""),r=this.getGame(c);if(s=="Top"){r.setTopTeam(this.teams.get(l.get("id")))}else{r.setBottomTeam(this.teams.get(l.get("id")))}if(k==("#"+p)){break}else{var f=this.createPickForTeam(l.get("id"),r);r.makePick(f)}}if(droppedGamePick!=null&&d!=null&&droppedGamePick.pick==d.pick){this.traverseBracket(l.get("id"),droppedGame,d)}return},getGame:function(d){if(d){var c=d.split("-"),g=c[0],f=c[1],e=this.regions.get(g);if(e==undefined){return}var b=e.get("rounds").get(f);if(b==undefined){return}var a=b.get("games").get(d);return a}return},traverseBracketAndClearPicks:function(f,a){var c=a.get("id"),e=this.getNextGameData(c);if(e==undefined){return}var d=e.nextGame,g=e.position;if(d==undefined){return}a.clearPick();var b=g=="top"?d.get("topTeam"):d.get("bottomTeam");if(b!=null){if(g=="top"){d.clearTopTeam()}else{d.clearBottomTeam()}this.traverseBracketAndClearPicks(f,d)}else{return}},clearPicks:function(){var a=this;a.regions.each(function(e,d,f){if(d<4){var c=e.get("rounds"),b=c.get("1"),g=b.get("games");g.each(function(j,h,i){var k=j.get("topTeam").get("id");a.traverseBracketAndClearPicks(k,j)})}});if(needsTiebreaker==1){$(finalGameScoreTxt).val("")}},hasValidTiebreaker:function(){var a=needsTiebreaker==1?$(finalGameScoreTxt).val():"";if((needsTiebreaker==1&&a=="")||(needsTiebreaker==1&&!(a.match(/^\d{1,3}$/)))){return false}return true},isBracketFilledOut:function(){var b=this,c=true;b.regions.each(function(f,e,g){var d=f.get("rounds");if(c){d.each(function(i,j,h){var k=i.get("games");if(c){k.each(function(n,l,m){if(n.get("userPick")==null||n.get("userPick")["pick"]==""){c=false;return false}})}})}});var a=b.hasValidTiebreaker();if(a==false&&c==true){c=false}return c},canMakePicks:function(){var a=0;if(this.locked==0){a=1}else{if(this.locked==1&&isCommissioner==1){a=1}}return a},savePicks:function(){var e=this,b=needsTiebreaker==1?$(finalGameScoreTxt).val():"",d={team_id:showTeamId,manager_action:managerAction,bracket_number:renvBracketNumber,tiebreaker:b,action:"save",validate_picks:1,picks:[],pick_source:"desktop",appsrc:"d"};var c=e.hasValidTiebreaker();if(!c){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Final Game Total Score",});$("#alert-dialog").html("Your pool manager has setup a tiebreaker. You must enter the Final Game Total Score before the bracket can be saved. The Final Game Total Score is the combined score of both teams in the Championship Game and can only contain digits.");return}e.regions.each(function(i,h,j){var g=i.get("rounds");g.each(function(l,m,k){games=l.get("games");games.each(function(p,n,o){var r=p.get("userPick"),q={game_id:p.get("id"),pick:r!=null?r.pick:""};d.picks.push(q)})})});$("#bracketContainer").fadeTo("1","0.2");var f=e.pickListParams();f.payload=JSON.stringify(d);f.cbs_bps="desktop";var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"pick_list",params:f,type:"POST",callback:{success:function(){var g=this;savedPicks=1;$("#bracketContainer").fadeTo("1","1");if(e.opmTransfer==1){$("#transfer-picks-dialog").dialog("close")}if(isAnonymousUser==1||isFakeTeam==1){var j=this.data();if(j&&j.pick_list["team_id"]){var i=new Date();i.setTime(i.getTime()+timeToLock);var h="; expires="+i.toGMTString(),k=leagueType+"_anonymous_id";document.cookie=escape(k)+"="+escape(j.pick_list["team_id"])+h+";domain=cbssports.com";e.registerDialog()}}if(showInterstitial==1){e.showInterstitialDialogBox()}else{if(showTeamId==teamId){e.showShareableDialogBox()}else{e.showSavedDialogBox()}}},failure:function(){$("#bracketContainer").fadeTo("1","1");var i=this,j=i.exceptions();if(j!=null&&j.length){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Something went wrong!",});for(var h=0,g=j.length;h<g;h++){if(j[h].type=="validate_picks"){$("#alert-dialog").html("Incomplete picks submitted. Please submit a full bracket.")}else{$("#alert-dialog").html(j[h].msg)}}}},}})},registerDialog:function(){$("#register-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:220,modal:true});$("#register-dialog").html(this.registerHTML());return},registerHTML:function(){var a=[];a.push("<div style='text-align:center; padding:10px;'>To complete your bracket entry and become eligible to win a trip to the 2017 Final Four<sup>®</sup>, you must log in with a CBSSports.com account and create an entry name. Make sure to enter by Thursday, March 17 at 11 am ET!");a.push("<div style='margin-top:10px;margin-bottom:20px;'><button id='registerBracketsBtn' class='btn-primary'>Register and Enter Now</button></div></div>");return a.join("")},autofillableBrackets:function(){var a=this;var b={};$("#autofill-dialog").html("Loading...");var c={SPORT:"mayhem",version:"3.0",league_id:leagueId,response_format:"json",include_disabled:1,};Waldo.retrieve({uri:"/api/league/brackets/autofill-types",uriAlias:"auto_fill_types",params:c,type:"GET",callback:{success:function(){var d=this.data();var e=d.league_details;var g=e.types;var j=e.experts;var h=e.sportsline;b.one_click=[];b.experts=[];b.sportsline=[];if(g&&g.length&&g.length>0){for(var f=0;f<g.length;f++){if(g[f].id=="experts"||g[f].id=="sportsline"){continue}b.one_click.push({type:g[f].id,name:g[f].name,description:g[f].description,disabled:g[f].disabled||0})}}if(j&&j.length&&j.length>0){for(var f=0;f<j.length;f++){b.experts.push({type:j[f].id,name:j[f].name,description:j[f].description,disabled:j[f].disabled||0})}}if(h&&h.length&&h.length>0){for(var f=0;f<h.length;f++){b.sportsline.push({type:h[f].id,name:h[f].name,description:h[f].description,disabled:h[f].disabled||0})}}a._autoFillHTML(b)},failure:function(){var d=this;console.log("FAIL!");return}}});return b},_autoFillHTML:function(b){var h,e,d,c=this,g=[];g.push("<div style=''>Make your bracket selections with just one click! Don't worry you can make adjustments to any of the picks to make it your own!<br><br>");if(b&&b.one_click){g.push("<dl>");g.push("<dt>Quick Picks:</dt>");for(bracketIndex=0,len=b.one_click.length;bracketIndex<len;bracketIndex++){h=b.one_click[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='"+h.type+"' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.experts){g.push("<br><dl>");g.push("<dt>Expert Picks:</dt>");for(bracketIndex=0,len=b.experts.length;bracketIndex<len;bracketIndex++){h=b.experts[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='experts:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}if(b&&b.sportsline){g.push("<br><dl>");g.push("<dt>SportsLine Picks: <a href='http://www.sportsline.com/brackets/?ttag=SL17_os_cbssports_autofill' target='_blank'><img src='"+CBSi.imageServer+"/images/sportsline/sportsline_logo.png' style='float:right; height:20px;' /></a></dt>");for(bracketIndex=0,len=b.sportsline.length;bracketIndex<len;bracketIndex++){h=b.sportsline[bracketIndex];var a=h.disabled?"disabled":"",f=h.disabled?' style="color:grey;"':"";d=h.name;g.push("<dd"+f+"><input dwTrackEvent='"+leagueType+";click;autofill;"+d+"_radio' type='radio' name='bracketNumber' value='sportsline:"+h.type+":1' "+a+"/><b>"+h.name+":</b> "+h.description+"</dd>")}g.push("</dl>")}g.push("<div align='right' style='text-align: center; padding-top: 20px;'><button id='autofillPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+";click;autofill;load_btn'>Auto-Fill Bracket</button>");g.push('<span id="cancelAutofill" style="" class="btn-default" role="button">Cancel</span></div>');g.push("</div>");$("#autofill-dialog").html(g.join(""));return},autoFillLoad:function(){var a=$("#autofill-dialog :input[name=bracketNumber]:checked");if(a.val()){var d={action:"autofill"};if(a.val().match(/expert/)||a.val().match(/sportsline/)){var c=a.val().split(":")[1],b=c;d.expert_id=b;d.type="experts";if(a.val().match(/sportsline/)){d.type="sportsline"}}else{d.type=a.val()}console.log(d);this.getPicks(d);$("#autofill-dialog").dialog("close")}else{}},autoFillEvent:function(){var a=this;this.autofillableBrackets(),$("#autofill-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true,position:["center",200],})},autoFillBracket:function(d){var n=this,c=n.picks;if(c!=undefined){for(var i=0,b=c.length;i<b;i++){var e=c[i],k=e.game_id,l=e.pick,j=this.getGame(k),a=this.createPickForTeam(l,j);j.makePick(a);var f={},h=this.getNextGameData(k);if(h==undefined){continue}var m=h.nextGame,g=h.position;if(g=="top"){m.setTopTeam(this.teams.get(l))}else{m.setBottomTeam(this.teams.get(l))}this.traverseBracket(l,m,a)}if(needsTiebreaker==1&&d){$(finalGameScoreTxt).attr("value",d)}savedPicks=0}return},importEvent:function(){var a=this;$("#import-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,modal:true});$("#import-dialog").html('<div style=\'text-align:center;width:100%;padding-top:10px;\'><img style="margin-right:5px;" src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading Brackets...</div>');this.getUserTeams();return},importPicksLoad:function(){var g=$("#import-dialog :input[name=bracketNumber]:checked");if(g.val()){var d=g.val(),c=d.split(":"),b=c[0],e=c[1],f=c[2],a={action:"import",leagueId:e,bracketNumber:b};this.getPicks(a);$("#import-dialog").dialog("close")}},_importHTML:function(){var a,d,e,p=this,k=130,g=[];g.push("<div style='padding:10px;'>Import your picks from one of your other CBSSports.com Brackets. Select a bracket below to import your picks into this bracket:");g.push("<hr/>");if(this.importableBrackets&&this.importableBrackets.length){var e,f,m,c,o,a,j,l=false,b=[];for(var h=0;h<this.importableBrackets.length;h++){c=this.importableBrackets[h];if(c.type=="opcr"){continue}m=c.league_id;e=c.league_name;o=c.brackets;j=c.team_id;for(var n=0;n<o.length;n++){a=o[n];f=o[n].number;if(f==renvBracketNumber&&m==leagueId){continue}if(a.status=="complete"){b.push("<dd><input type='radio' name='bracketNumber' value='");b.push([f,":",m,":",j].join(""));b.push(["' />Bracket #",f,"</dd>"].join(""));l=true;k+=16}}if(b.length){g.push("<dl>");g.push(["<b>",e,"</b>"].join(""));g.push(b.join(""));b=[];g.push("</dl>");k+=22}}if(l){g.push("<div align='center'><button id='importPicksButton' class='btn-primary' dwTrackEvent='"+leagueType+';click;import;load_btn\'>Import Picks</button><a class=\'btn-default\' id="closeImport" href="#">Cancel</a></div>')}else{g.push("<div align='center' style='padding-top:15px;font-weight:bold;'>You have no other brackets to import from.</div><div align='center'><a id=\"closeImport\" href=\"#\">Cancel</a></div>")}}else{g.push("<div align='center' style='font-weight:bold;'>You have no other brackets to import from.</div>")}g.push("</div>");$("#import-dialog").height(k);$("#import-dialog").html(g.join(""));return},printBracketEvent:function(){if(this._isBracketComplete()==0){$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Fill out your bracket",});$("#alert-dialog").html("You must completely fill out your bracket before you can print it.")}else{var c=this;var d=this.pickListParams(),b={picks:c._getTeamsAndPicksForAllGames()};d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/create-printable-pdf",uriAlias:"create_printable_pdf",params:d,type:"POST",callback:{success:function(){var e=this.data(),f=window.open("/brackets/show-printable-pdf","NewWin");if(f==null||typeof(f)=="undefined"){$("#alert-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"turn off your pop-up blocker",})}$("#alert-dialog").html("Please turn off your pop-up blocker to view the printable pdf.")},failure:function(){var e=this;console.log("FAIL!")}}})}return},openMatchupAnalysis:function(c){var f=this,a=c.get("topTeam"),h=c.get("bottomTeam"),d=0,e=0;if(!this.cachedAnalysisForTeams[a.get("abbr")]){d=1}if(!this.cachedAnalysisForTeams[h.get("abbr")]){e=1}if(d||e){var g=this.pickListParams();g.away_team_abbr=(e?h.get("cengAbbr"):"");g.home_team_abbr=(d?a.get("cengAbbr"):"");var b=Waldo.retrieve({uri:"/api/league/brackets/matchup-analysis",uriAlias:"matchup_analysis",params:g,type:"GET",callback:{success:function(){var i=this.data(),k=i.matchup_analysis,j=k.away_team,l=k.home_team;if(d==1){f.cachedAnalysisForTeams[l.abbr]=l}if(e==1){f.cachedAnalysisForTeams[j.abbr]=j}f.openMatchupAnalysisModal(c)},failure:function(){var i=this;console.log("FAIL!")}}})}else{this.openMatchupAnalysisModal(c)}},getPlayersForMatchupAnalysis:function(g,b){var e={home:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}},away:{rebounds_per_game:{name:"",value:"",stat:"rbg"},assists_per_game:{name:"",value:"",stat:"apg"},points_per_game:{name:"",value:"",stat:"ppg"}}};for(var d=0,a=g.leaders.length;d<a;d++){var c=g.leaders[d].player,f=g.leaders[d].type;if(e.away[f]){e.away[f].value=c.stats[e.away[f].stat];e.away[f].name=c.first_name[0]+". "+c.last_name}}for(var d=0,a=b.leaders.length;d<a;d++){var c=b.leaders[d].player,f=b.leaders[d].type;if(e.away[f]){e.home[f].value=c.stats[e.home[f].stat];e.home[f].name=c.first_name[0]+". "+c.last_name}}return e},openMatchupAnalysisModal:function(b){var f=this.cachedAnalysisForTeams[b.get("bottomTeam").get("cengAbbr")],d=this.cachedAnalysisForTeams[b.get("topTeam").get("cengAbbr")],c=b.get("roundId")-1,g=[],e=this.getPlayersForMatchupAnalysis(f,d);var a=window.innerHeight-120;if(a>930){a="auto"}$("#matchup-analysis-dialog").dialog({dialogClass:"help-dialog",resizable:false,height:a,width:490,modal:true,title:f.name+" vs. "+d.name,position:["center",70],});g=['<div class="teamMatchupHeader">Matchup Analysis</div><div id="teamMatchupContainer"><div id="pickPercentages"><div class="fleft halfWidth"><div class="fleft"><div class="pickPercentage">',Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="fright teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',f.abbr,'.png"/></div><div class="clear"></div></div><div class="fright halfWidth"><div class="fleft teamLogo"><img width="50px" height="50px" src="http://sports.cbsimg.net/images/collegebasketball/logos/50x50/',d.abbr,'.png"/></div><div class="fright"><div class="pickPercentage">',100-Math.round(f.user_pick_percentage.rounds[c].percentage),'%</div><div class="labelSmall">User Pick</div></div><div class="clear"></div></div><div class="clear"></div></div><div id="teamRecords"><div class="fleft halfWidth rightAlign"><div class="overallRecord">',f.record.overall,'</div><div class="divisionRecord">',f.record.conference,f.record.conference?", ":" ",f.record.standing,'</div></div><div class="fright halfWidth leftAlign"><div class="overallRecord">',d.record.overall,'</div><div class="divisionRecord">',d.record.conference,d.record.conference?", ":" ",d.record.standing,'</div></div><div class="clear"></div></div><div id="teamStats">','<div class="homeTeamInfoContainer">','<div class="fright seed">',f.seed,'</div><div class="fright team leftAlign" style="width: 70%;">','<div class="teamSchool">',f.medium_name,"</div>",'<div class="teamName">',f.nickname,"</div></div></div>",'<div class="categoryTitle" style="width: 30%;"><div class=\'vcenterLabel\'>CATEGORY</div></div>','<div class="awayTeamInfoContainer">','<div class="fleft seed">',d.seed,'</div><div class="fleft team rightAlign" style="width: 70%;">','<div class="teamSchool">',d.medium_name,"</div>",'<div class="teamName">',d.nickname,"</div></div></div>",'<div class="clear"></div>',"<table><tr><td><div>",f.rpi.rank,"</div></td><td><div class='vcenterLabel'>RPI</div></td><td><div>",d.rpi.rank,"</div></td></tr><tr><td><div>",f.strength_of_schedule.rank,"</div></td><td ><div>Strength of schedule</div></td><td><div>",d.strength_of_schedule.rank,"</div></td></tr><tr><td><div>",f.points_per_game,"</div></td><td><div>Points per game</div></td><td><div>",d.points_per_game,"</div></td></tr><tr><td><div>",f.opponent_points_per_game,"</div></td><td><div>Points allowed</div></td><td><div>",d.opponent_points_per_game,'</div></td></tr></table></div><div id="teamLeaders"><div class="matchupTitle">TEAM LEADERS</div><table><tr><td><div class="playerName">',e.away.points_per_game.name,"</div><div>",e.away.points_per_game.value,'</div></td><td><div>Points per game</div></td><td><div class="playerName">',e.home.points_per_game.name,"</div><div>",e.home.points_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.assists_per_game.name,"</div><div>",e.away.assists_per_game.value,'</div></td><td><div>Assists per game</div></td><td><div class="playerName">',e.home.assists_per_game.name,"</div><div>",e.home.assists_per_game.value,'</div></td></tr><tr><td><div class="playerName">',e.away.rebounds_per_game.name,"</div><div>",e.away.rebounds_per_game.value,'</div></td><td><div>Rebounds per game</div></td><td><div class="playerName">',e.home.rebounds_per_game.name,"</div><div>",e.home.rebounds_per_game.value,'</div></td></tr></table></div><div id="teamOutlooks"><div id="awayOutlook"><div><span class="teamSchool">',f.medium_name,'</span><span class="teamName">',f.nickname,'</span></div><div class="outlookContent">',f.team_outlook,'</div></div><div id="homeOutlook"><div><span class="teamSchool">',d.medium_name,'</span><span class="teamName">',d.nickname,'</span></div><div class="outlookContent">',d.team_outlook,"</div></div></div></div>"];$("#matchup-analysis-dialog").html(g.join(""))},getUserTeams:function(){var b=this,c={response_format:"json",version:"3.0",access_token:this.accessToken},a=Waldo.retrieve({uri:"/api/users/teams",uriAlias:"bracketTeams",params:c,type:"GET",callback:{success:function(){var d=this.data(),e=d.fantasy_teams;b.importableBrackets=e;b._importHTML()},failure:function(){var d=this}}})},getPicks:function(a){var c=this;var d=c.pickListParams(a);if(a.action=="import"){d.league_id=a.leagueId;d.bracket_number=a.bracketNumber}else{d.type=a.type;if(a.expert_id){d.expert_id=a.expert_id}}var b=Waldo.retrieve({uri:apiFantasyServer+"/league/brackets/pick-list",uriAlias:"pick_list",params:d,type:"EXTERNAL",callback:{success:function(){var e=this.data();c.picks=e.pick_list["picks"];var f=e.pick_list["tiebreaker"];if(a.action=="autofill"||a.action=="import"){c.autoFillBracket(f)}},failure:function(){var e=this},}})},addBracketEvent:function(){var c=this,b={manager_action:managerAction,team_id:showTeamId,action:"create"},d=c.pickListParams();d.payload=JSON.stringify(b);var a=Waldo.retrieve({uri:"/api/league/brackets/pick-list",uriAlias:"create_pick_list",params:d,type:"POST",callback:{success:function(){var f=this,e=f.data().pick_list.bracket_number;c.switchBracket(e,showTeamId)},failure:function(){var g=this,h=g.exceptions();if(h!=null&&h.length){for(var f=0,e=h.length;f<e;f++){alert(h[f].msg)}}},}})},showSavedDialogBox:function(){$("#saved-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:331,height:"auto",modal:true});$("#saved-dialog").html(this._savedPanelHTML())},_savedPanelHTML:function(){var a;a=['<div id="textBoxContainer" style="width:295px;float: left;padding:3px;display:block;">','<div style="float:left; width:285px;" id="shareTextContainer">',"The picks were successfully saved.","</div>","</div>",];return a.join("")},showShareableDialogBox:function(){$("#shareable-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:566,height:"auto",modal:true});$("#shareable-dialog").html(this._shareablePanelHTML("twitter"))},_getSocialMediaContainerHTML:function(){var c,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),j=this.getGame("5-6-1"),i=j.get("userPick").pick,h=this.teams.get(i).get("name");var g=b.get("topTeam").get("name");var f=b.get("bottomTeam").get("name");var e=a.get("topTeam").get("name");var d=a.get("bottomTeam").get("name");shareMessage="My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+g+", "+f+", "+e+", "+d+". And, the winner is..."+h+"! Now, who's your Final Four? ";c=['<div id="textBoxContainer" style="width:100%;height:76px; padding:3px 0px;display:block;margin-bottom:10px;">','<div style="float:left; width:100%; height:76px;" id="shareTextContainer">','<textarea style="resize:none; height:35px;width:483px;" disabled>',shareMessage,"</textarea>","</div>",'<div style="float:right;padding-right:10px;"></div>','<div style="clear:both"></div>',"</div>",];return c.join("")},_shareablePanelHTML:function(a){var b=this._getSocialMediaContainerHTML(a);var c=this.getGame("5-6-1"),g=c.get("userPick").pick,f=this.teams.get(g).get("name");var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+g+".jpg";var e=['<div id="saveConfirmation" style="font-size: 13px; padding-bottom:10px; text-align: center; width: 100%; color: #40a251;">Your Picks Have Been Saved!</div>','<div><img width="525px;" src="'+d+'" /></div>','<div id="socialMediaModalContainer">',b,'<div id="shareBtnContainer">','<div style="float:left; margin: 0 0 0 149px;">','<div style="float:left;padding-right:20px;padding-top:10px;font-size: 13px;">SHARE YOUR BRACKET</div>','<button type="button" id="facebookModalBtn" class="social_media_sharing_button facebook_sharing" om-event="mmsharetools|'+leagueType+'|facebook">','<div class="facebook_sharing_button"></div>',"</button>","</div>",'<div style="float:left;">','<button type="button" id="twitterModalBtn" class="social_media_sharing_button twitter_sharing" om-event="mmsharetools|'+leagueType+'|twitter">','<div class="twitter_sharing_button"></div>',"</button>","</div>","</div>","</div>"];return e.join("")},showInterstitialDialogBox:function(a){$("#interstitial-dialog").dialog({dialogClass:"help-dialog hide-header",resizable:false,width:440,height:622,title:((a==1)?"Max number of brackets reached!":"Your Picks have been saved!"),modal:true,open:function(){$(".ui-dialog-titlebar").hide();$("div.ui-dialog.ui-widget-content").css("border","none")}});$("#interstitial-dialog").html(this._savePanelInterstitialHTML());this.setInterstitialCookie();showInterstitial=0},_savePanelInterstitialHTML:function(d){var e,k,g,h,i,a,f,j,c="disclaimer";var b="";if(!d){d="Your picks have been saved."}if(leagueType=="bpm"){f="interstitialBpcBg";j="bpcLogo";i="prizeBPC";a="closeBPC";e="Enter this Bracket<br>for a chance to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialCopyBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>It's <span class='boldText'>free</span> to play and only takes<br><span class='boldText'>one click</span> to submit your picks!</div>";h="No purchase necessary. See <a target='_blank' href='http://freebracketchallenge.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}else{f="interstitialRbrBg";j="rbrLogo";i="prizeRbR";a="closeRbR";e="Enter these picks<br>for more chances to<br>";k="<div class='prizeText'>Win a trip to the<br>2018 Final Four<span class='registeredTrademark'>®</span></div>";g="<button id='interstitialRbrBtn' class='interstitialEnterBtn' type='button'>ENTER NOW</button>";gameMessage="<div class='gameMessage'>Submit your round one picks with<br>just <span class='boldText'>one click</span> - it's free to play!</div>";h="No purchase necessary. See <a target='_blank' href='http://freeroundbyround.0.mayhem.cbssports.com/brackets/rules'>rules</a> for details."}return["<div class='interstitial'>","<a href='#' id='interstitialCancelLink'><div class='closeBtn'></div></a>","<div class='logo ",j,"'></div>","<div class='picksSavedText'><span class='icon-check icon-orange-1'></span> Your picks have been saved!</div>","<div class='infoContainer'>","<div class='prodAdTextCont'>",e,"</div>","<div><span class='smallSpacerMid'></span></div>","<div class='prodAdTextCont2 ",i,"'>",k,"</div>","<div class='playNowBtnCont'>","<a id='interstitialContinueLink' href='",interstitialLink,"' target='",b,"'>",g,"</a>","</div>","<div class='gameMessageCont'>",gameMessage,"</div>","<div class='",c,"'>",h,"</div>","</div>","</div>"].join("")},setInterstitialCookie:function(){var b=new Date();b.setTime(b.getTime()+timeToLock);var a="; expires="+b.toGMTString();var c=cookieToSetName;document.cookie=escape(c)+"="+escape("alreadySeen=1")+"; "+a+";domain=cbssports.com"},selectDropdownTeam:function(b){if(b=="break"){return}var d=b.split(","),a=d[0],c=d[1];if(this.locked==0&&managerAction==0&&c!=teamId){return}this.switchBracket(a,c)},switchBracket:function(a,b){redirectURL=["/brackets/",a,"/",b].join("");window.location.href=redirectURL},_overlaySave:function(){if(this.opmTransfer==1){$("#transfer-picks-dialog").dialog({dialogClass:"help-dialog",resizable:false,width:415,height:170,modal:true});var a=["<div style='text-align:center; padding:6px; font-size:14px;'>Your bracket has been completed and may now be saved</div><br />",];a.push("<div align='center'><input type='button' id='savePanelBtn' class='saveBtn btn-primary' value='Save Bracket'> <input type='button' class='saveBtn btn-primary' id='cancelPanelBtn' value='Continue Editing' style=''></div></div>");$("#transfer-picks-dialog").html(a.join(""))}return},shareData:function(c){var f,b=this.getGame("5-5-1"),a=this.getGame("5-5-2"),l=this.getGame("5-6-1"),k=l.get("userPick").pick,j=this.teams.get(k).get("name");var i=b.get("topTeam").get("name");var h=b.get("bottomTeam").get("name");var g=a.get("topTeam").get("name");var e=a.get("bottomTeam").get("name");if(c=="facebook"){var d="http://sports.cbsimg.net/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+k+".jpg";f={bpm:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpc:{caption:"",logo:d,description:"Don't forget to fill yours out!",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "},bpcr:{caption:"",logo:d,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"My CBS Sports Final Four"+unescape("%AE")+" is an absolute lock - "+i+", "+h+", "+g+", "+e+". And, the winner is..."+j+"! Now, who's your Final Four? "}}}else{if(c=="twitter"){f={bpm:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpc:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"},bpcr:{text:"I've got "+j+" as my national champ on CBS Sports. Who's your pick?"}}}}return f[leagueType]},shareData_Winner:function(a){var d,b=this.getGame("5-6-1"),f=b.get("userPick").pick,e=this.teams.get(f).get("name");if(a=="facebook"){var c=imageServer+"/images/collegebasketball/ncaa-tournament/brackets/teams/"+year+"/"+f+".jpg";d={bpm:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Manager.",name:"I've got "+e},bpc:{caption:"",logo:c,description:"I just filled out my bracket in CBS Sports Bracket Challenge.",name:"I've got "+e},bpcr:{caption:"",logo:c,description:"I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. ",name:"I've got "+e}}}else{if(a=="twitter"){d={bpm:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Manager. @cbssports #MarchMadness"},bpc:{text:"I've got "+e+". I just filled out my bracket in CBS Sports Bracket Challenge. @cbssports #MarchMadness"},bpcr:{text:"I've got "+e+". I just made my picks in CBS Sports Round by Round for Coaches vs. Cancer. @cbssports #MarchMadness"}}}}return d[leagueType]},facebookShareEvent:function(e){if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}return false}var b=this.shareData("facebook"),d=leagueType=="bpm"?"BM":"BC";var a=e==1?"Don't forget to fill yours out!":b.description;om.trackClick({item:"mmsharetools|"+leagueType+"|facebook"});FB.ui({method:"feed",link:shareableURL+"&ttag="+d+lastTwoDigitsYear+"_fb_share",name:b.name,description:a+" @cbssports #MarchMadness",picture:b.logo,display:"popup"},function(f){});return},twitterShareEvent:function(a){var i=this.getGame("5-6-1"),e=i.get("userPick").pick,b=this.teams.get(e).get("name");if(this.isBracketFilledOut()==false){var c=this.hasValidTiebreaker();$("#alert-dialog").remove();$("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({dialogClass:"help-dialog",resizable:false,width:400,height:180,modal:true,title:"Complete your bracket",});if(c==false){$("#alert-dialog").html("Your bracket must have a valid tiebreaker before sharing it.")}else{$("#alert-dialog").html("Your bracket must be complete before sharing it.")}}else{var f=this.shareData("twitter"),g=leagueType=="bpm"?"BM":"BC",h=f.text;om.trackClick({item:"mmsharetools|"+leagueType+"|twitter"});if(a==1){var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four%20%AE.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";window.open(url,"_blank")}else{g=leagueType=="bpm"?"BM":"BC";var d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness");if(d.indexOf("Final%20Four.")>0){d=escape("I've got "+b+" as my national champ on CBS Sports. Who's your pick? @cbssports #MarchMadness").replace("Final%20Four%20%AE.","Final%20Four%20%C2%AE.")}url="https://twitter.com/share?text="+d+"&url="+shareableURL+"%26ttag="+g+lastTwoDigitsYear+"_tw_sh";$("a#twitterShareBtnHref").attr("href",url);window.open(url,"_blank")}}return},pickListParams:function(a){var b=a?a.leagueId:"";if((b==""||b==undefined)&&leagueId=="bpc"){b="freebracketchallenge.1"}return{SPORT:"mayhem",IGNORE_CACHE:1,version:"3.0",league_id:b?b:leagueId,access_token:accessToken,appsrc:"d"}},_isBracketComplete:function(){var a=1;this.regions.each(function(d,c,e){var b=d.get("rounds");b.each(function(g,h,f){games=g.get("games");games.each(function(k,i,j){if(k.hasUserPick()==0){a=0;return}})})});if(needsTiebreaker==1&&$(finalGameScoreTxt).val()==""){a=0}return a},_getTeamsAndPicksForAllGames:function(){var b=this;if(!this._isBracketComplete()){return}var a={};this.regions.each(function(e,d,f){var c=e.get("rounds");c.each(function(h,i,g){games=h.get("games");games.each(function(m,j,l){var o=m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("status"):"",p=m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("status"):"",k=o=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundTopGameId")).get("winningTeam").get("name"):""):"",n=p=="F"?(m.get("roundId")>1?b.getGame(m.get("prevRoundBottomGameId")).get("winningTeam").get("name"):""):"";a[m.get("id")]={top_team_seed:m.get("topTeam").get("seed"),top_team_name:m.get("topTeam").get("name"),bottom_team_seed:m.get("bottomTeam").get("seed"),bottom_team_name:m.get("bottomTeam").get("name"),top_team_correct:m.topTeamCorrect(),bottom_team_correct:m.bottomTeamCorrect(),top_prev_game_status:o,bottom_prev_game_status:p,actual_correct_top_team_name:k,actual_correct_bottom_team_name:n,user_pick:m.get("userPick"),winning_team:m.get("winningTeam")}})})});a.champion_pick_name=this.teams.get(this.getGame("5-6-1").get("userPick").pick).get("name");a.tiebreaker=needsTiebreaker==1?$(finalGameScoreTxt).val():"";a.bracket_number=renvBracketNumber;a.team_name=showTeamName;a.show_team_id=showTeamId;return JSON.stringify(a)},buildAppView:function(){var a=this;if(this.appView){this.appView.remove()}this.appView=new Fantasy.app.Brackets.view.AppView({model:this.bracket});this.appView.launchView(this.regions)}});Fantasy.app.Brackets.addInitializer(function(a){var b=this;this.regions=null;this.locked="";this.pickData=null;this.teams=null;this.openingRoundWinners={};this.incorrectTeams={};this.importableBrackets={};this.picks=[];this.cachedAnalysisForTeams={};this.opmTransfer="";this._parseBootstrap(a);if(showInterstitialForAd==1){this.showInterstitialDialogBox(1)}this.vent.on("data:done",function(){b.buildAppView()})}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Bracket=Backbone.Model.extend({defaults:{locked:"",pick_data:null,pickData:null,regions:null},constructor:function(a,b){a.regions=new Fantasy.app.Brackets.collection.Regions(a.regions,{model:Fantasy.app.Brackets.model.Region});a.pickData=a.pick_data;delete a.pick_data;delete a.opening_round;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Round=Backbone.Model.extend({defaults:{id:"",games:null,name:"",short_display_date:"",shortDisplayDate:""},constructor:function(a,b){a.games=new Fantasy.app.Brackets.collection.Games(a.games,{model:Fantasy.app.Brackets.model.Game});a.shortDisplayDate=a.short_display_date;delete a.short_display_date;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Region=Backbone.Model.extend({defaults:{id:"",name:"",rounds:null,position:"",quadrant:""},constructor:function(a,b){a.rounds=new Fantasy.app.Brackets.collection.Rounds(a.rounds,{model:Fantasy.app.Brackets.model.Round});Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Team=Backbone.Model.extend({defaults:{id:"",name:"",seed:null,abbr:"",regionId:"",region_id:"",ceng_abbr:"",cengAbbr:""},constructor:function(a,b){a.regionId=a.region_id;delete a.region_id;var c=Brackets.openingRoundWinners.hasOwnProperty(a.abbr)?true:false;if(c){if(typeof Brackets.openingRoundWinners[a.abbr]["abbr"]!="undefined"&&Brackets.openingRoundWinners[a.abbr]["abbr"]!=""){a.ceng_abbr=Brackets.openingRoundWinners[a.abbr]["abbr"];a.name=Brackets.openingRoundWinners[a.abbr]["name"]}}a.cengAbbr=a.ceng_abbr;a.id=a.ceng_abbr;delete a.ceng_abbr;Backbone.Model.apply(this,arguments)}}); + if(typeof Fantasy.app.Brackets.model=="undefined"||!Fantasy.app.Brackets.model){Fantasy.app.Brackets.model={}}Fantasy.app.Brackets.model.Game=Backbone.Model.extend({defaults:{id:"",roundId:"",regionId:"",matchupAnalysisURL:"",winningTeam:null,homeTeam:null,awayTeam:null,userPick:null,status:"",topTeam:null,bottomTeam:null,nextRoundGameId:"",nextRoundGamePosition:"",prevRoundTopGameId:"",prevRoundBottomGameId:"",isChampionshipGame:0},constructor:function(a,b){a.winningTeam=Brackets.teams.get(a.winner_abbr);delete a.winner_id;delete a.winner_name;delete a.winner_abbr;a.homeTeam=Brackets.teams.get(a.home_abbr);delete a.home_id;delete a.home_name;delete a.home_abbr;a.awayTeam=Brackets.teams.get(a.away_abbr);delete a.away_id;delete a.away_name;delete a.away_abbr;a.userPick=a.user_pick;delete a.user_pick;a.roundId=a.round_id;delete a.round_id;a.regionId=a.region_id;delete a.region_id;a.nextRoundGameId=a.next_round_game_id_for_pick;delete a.next_round_game_id_for_pick;a.nextRoundGamePosition=a.next_round_placement_for_pick;delete a.next_round_placement_for_pick;a.prevRoundTopGameId=a.top_from;delete a.top_from;a.prevRoundBottomGameId=a.bottom_from;delete a.bottom_from;if(a.championship_game!=null){a.isChampionshipGame=a.championship_game;delete a.championship_game}Backbone.Model.apply(this,arguments)},makePick:function(a){if(a==null){return}savedPicks=0;this.set("userPick",a)},clearPick:function(){savedPicks=0;this.set("userPick",null)},clearTopTeam:function(){this.set("topTeam",null)},clearBottomTeam:function(){this.set("bottomTeam",null)},setTopTeam:function(a){this.set("topTeam",a)},setBottomTeam:function(a){this.set("bottomTeam",a)},hasUserPick:function(){var a=this.get("userPick");if(a==null||a.pick==""){return 0}return 1},topTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundTopGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}},bottomTeamCorrect:function(){var a=Brackets.getGame(this.get("prevRoundBottomGameId"));if(a==undefined||a.get("winningTeam")==null){return}if(a.hasUserPick()==1&&(a.get("userPick").pick==a.get("winningTeam").get("cengAbbr"))){return 1}else{return 0}}}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Rounds=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Round}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Regions=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Region}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Games=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Game}); + if(typeof Fantasy.app.Brackets.collection=="undefined"||!Fantasy.app.Brackets.collection){Fantasy.app.Brackets.collection={}}Fantasy.app.Brackets.collection.Teams=Backbone.Collection.extend({model:Fantasy.app.Brackets.model.Team}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.AppView=Backbone.View.extend({initialize:function(a,b){this.bracket=a.model;this.regionManager=new Marionette.RegionManager()},cleanUpView:function(){if(this.currentView){this.currentView.close()}},launchView:function(c,b){var a=this;c.each(function(i,g,j){var d=i.get("rounds");var h=i.get("position");var e=/left/;var f=e.test(h)?"left":"right";d.each(function(l,m,k){var n=l.get("games");n.each(function(r,p,q){var s=r.get("id");var o=s.replace(/-/g,"_");var u=new Fantasy.app.Brackets.view.Game({model:r,bracketLayout:f});var t=a.regionManager.addRegion(s,"#"+o);t.show(u)})})})},resetBracket:function(){Brackets.clearPicks()}}); + if(typeof Fantasy.app.Brackets.view=="undefined"||!Fantasy.app.Brackets.view){Fantasy.app.Brackets.view={}}Fantasy.app.Brackets.view.Game=Backbone.Marionette.ItemView.extend({getTemplate:function(){var b=Brackets.locked;if(b==1){var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template"}else{return"#championship-game-template"}}return"#picks-locked-game-layout-template"}else{var a=this.model,d=a.get("regionId"),c=a.get("roundId");if(d==5){if(c==5){return"#final-four-template-pre-lock"}else{return"#championship-game-template-pre-lock"}}return"#game-layout-template"}},initialize:function(b){var c=this,a=this.model;this.game=a;this.incorrectTopTeam=0;this.incorrectBottomTeam=0;this.correctTopTeam=0;this.correctBottomTeam=0;this.topPrevGameStatus="";this.bottomPrevGameStatus="";this.picksLocked=Brackets.locked;this.bracketLayout=b.bracketLayout;this.initializeDisplayTeams(a);this.championshipTeam="";if(a!=null){this.listenTo(a,"change",function(){c.render();c.enableDragging()})}},events:function(){if(isMobile==1&&isIpad1==0){return{"touchend .teamContainer":"advancePick","touchend .matchupAnalysis":"openMatchupAnalysis"}}else{return{"click .teamContainer":"advancePick","click .matchupAnalysis":"openMatchupAnalysis"}}},initializeDisplayTeams:function(a){var b=this;return Brackets.initializeDisplayTeams(b,a)},getDisplayTeams:function(a){var b=this;return Brackets.getDisplayTeams(b,a)},_isTeamEmpty:function(a){var b=this.game.get(a);for(var c in b){if(b.hasOwnProperty(c)){return false}}return true},_isGameEmpty:function(){var a=this.game.get("topTeam");var c=this.game.get("bottomTeam");for(var b in a){if(a.hasOwnProperty(b)){return false}}for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},advancePick:function(a){a.preventDefault();Brackets.advancePick(a,this)},openMatchupAnalysis:function(a){Brackets.openMatchupAnalysis(this.game)},onBeforeRender:function(){Brackets.setGameCorrectTeams(this,this.game)},onShow:function(){if(Brackets.canMakePicks()==0){return}this.enableDragging()},enableDragging:function(d){var b=this.game,c=b.get("id"),a="",f=Brackets.getDroppableTargets(b,[],b.get("regionId"));if(f==""){return}if(f.substring(f.length-1,f.length)==","){f=f.substring(0,f.length-1)}$("#"+c+"-Top,#"+c+"-Bottom").draggable({snap:f,snapMode:"inner",snapTolerance:10,helper:"clone",revert:function(g,h){var e=$(this).data("draggable"),i=true;$.each(e.snapElements,function(j,k){if(k.snapping){i=false;return}});return i},start:function(l,j){a=$(this)[0].className.match(/topTeam/)?"top":"bottom";var n=$(this).attr("id"),k=n.substring(0,1);var i=$(j.helper).children().hasClass("seed");var m;if(k<=2){m="left"}else{if(k<5){m="right"}}if(k==5){var h=$(this).attr("id");var g=h.split("-");if(g[2]=="1"){m="left"}else{if(g[2]=="2"){m="right"}}}$(j.helper).addClass("ui-draggable-helper-"+a+"-"+m);$(j.helper).html($(j.helper).children(".teamName"))},stop:function(g,h){var e=$(this).data("draggable");$.each(e.snapElements,function(i,j){if(j.snapping){Brackets.advancePickThroughRounds(f,j.item.id,c,a)}})},drag:function(e,g){}})},serializeData:function(){var e=this,d={};if(this.model){d=this.model.toJSON();d.picksLocked=this.picksLocked;d.bracketLayout=e.bracketLayout;d.topPrevGameStatus=this.topPrevGameStatus;d.bottomPrevGameStatus=this.bottomPrevGameStatus;d.incorrectTopTeam=this.incorrectTopTeam;d.incorrectBottomTeam=this.incorrectBottomTeam;d.correctTopTeam=this.correctTopTeam;d.correctBottomTeam=this.correctBottomTeam;d.actualCorrectTopTeamName=this.actualCorrectTopTeamName;d.actualCorrectBottomTeamName=this.actualCorrectBottomTeamName;d.gameId=this.game.id;d.gameStatus=this.game.get("status");d.bracketSprite=Brackets.canMakePicks()?"bracketSprite":"";d.locked=Brackets.canMakePicks()?"Unlocked":"Locked";d.championshipTeamImgSource="";d.incorrectChampionshipPick="";d.winnerName="";d.winnerAbbr="";d.actualWinnerName="";d.emptyTopGame=0;d.emptyBottomGame=0;if(!this._isGameEmpty()){if(!this._isTeamEmpty("topTeam")){var a=this.game.get("topTeam");d.topTeamName=a.get("name");d.topTeamAbbr=a.get("id");d.topTeamSeed=a.get("seed");d.topTeamCengAbbr=a.get("cengAbbr")}else{d.emptyTopGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr=""}if(!this._isTeamEmpty("bottomTeam")){var f=this.game.get("bottomTeam");d.bottomTeamName=f.get("name");d.bottomTeamAbbr=f.get("id");d.bottomTeamSeed=f.get("seed");d.bottomTeamCengAbbr=f.get("cengAbbr")}else{d.emptyBottomGame=1;d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}if(this.game.get("isChampionshipGame")==1){var b=this.game.get("userPick");if(b!=null&&this.championshipTeam!=null&&this.championshipTeam!=""){d.championshipTeamImgSource=[imageServer,"/images/collegebasketball/logos/90x90/",this.championshipTeam,".png"].join("");d.winnerName=Brackets.teams.get(this.championshipTeam).get("name");d.winnerAbbr=this.championshipTeam;if(this.game.get("status")=="F"){var c=this.game.get("winningTeam");d.incorrectChampionshipPick=b.result=="right"?0:1;d.actualWinnerName=Brackets.teams.get(c.get("id")).get("name")}else{if(this.incorrectChampionshipPick==1){d.incorrectChampionshipPick=1}}}}}else{d.emptyTopGame=1;d.emptyBottomGame=1;d.topTeamName="";d.topTeamAbbr="";d.topTeamSeed="";d.topTeamCengAbbr="";d.bottomTeamName="";d.bottomTeamAbbr="";d.bottomTeamSeed="";d.bottomTeamCengAbbr=""}}return d}}); + + Brackets = Fantasy.app.Brackets; + + Brackets.start(bootstrapBracketsData); + + + $(".deleteBracketBtn").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + var href = $(this).attr("href"); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 160, + modal: true, + title:"Delete your bracket", + buttons: [ + { + text: "DELETE", + click: function() { + window.location.href = href; + }, + 'class':"btn-primary" + }, + { + text: "CANCEL", + click: function() { + $(this).dialog("close"); + }, + 'class':"closePanel btn-default" + } + ] + }); + $("#alert-dialog").html("Are you sure you would like to delete this bracket?"); + }); + + $("#btnReset").on("touchend click", function(e) { + e.preventDefault(); + e.stopPropagation(); + $("#alert-dialog").remove(); + $("<div id='alert-dialog' class='alertDialogBox' style='text-align: center'></div>").dialog({ + dialogClass : "help-dialog", + resizable: false, + width: 400, + height: 180, + modal: true, + title:"Reset your bracket", + buttons: [ + { + text: "Reset", + click: function() { + Brackets.clearPicks(); + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + { + text: "Cancel", + click: function() { + $("#alert-dialog").dialog('close'); + }, + 'class':"btn-primary" + }, + ] + }); + $("#alert-dialog").html("Are you sure you want to reset this entire bracket?"); + + //if(confirm("Press OK to clear the current bracket\nPress Cancel to return without clearing")) { + // Brackets.clearPicks(); + //} + }); + $("#btnSave").on("touchend click", function() { + if (create_funnel_tracking_end > 0) { + if (utag_data && om) { + utag_data["bracketPickComplete"] = leagueType.toUpperCase(); + om.trackClick({'item':'Bracket Pick|'+leagueType+'|Save'}); + console.log("tracked"); + } + var payload = { + 'product_type' : leagueType, + }; + Waldo.retrieve({ + uri : '/api/league/funnel-tracking/end', + params : { + version : '3.0', + access_token : accessToken, + payload : JSON.stringify(payload) + }, + type : 'POST', + callback : { + success : function() { + console.log("sucess"); + create_funnel_tracking_end = 0; + }, + failure : function() { + console.log("fail"); + }, + } + }); + } + Brackets.savePicks(); + }); + $("#import").on("touchend click", function(){ + Brackets.importEvent(); + }); + $("#auto-fill").on("touchend click", function(){ + Brackets.autoFillEvent(); + }); + $("#newBracketsBtn").on("touchend click", function(){ + Brackets.addBracketEvent(); + }); + $("#bracketSelectDropdown").change(function(){ + Brackets.selectDropdownTeam(this.value); + }); + $("#print").on("touchend click", function(){ + Brackets.printBracketEvent(); + }); + $("#facebookTopShare").on("touchend click", function(){ + Brackets.facebookShareEvent(); + }); + $("#twitterShareBtnHref").on("touchend click", function(e){ + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(); + }); + $("body").on("touchend click", "#registerBracketsBtn", function() { + window.location.href = signupLink; + }); + $("body").on("touchend click", "#autofillPicksButton", function() { + Brackets.autoFillLoad(); + return false; + }); + $("body").on("touchend click", "#cancelAutofill", function() { + $('#autofill-dialog').dialog('close'); + }); + $("body").on("touchend click", "#importPicksButton", function() { + Brackets.importPicksLoad(); + return false; + }); + $("body").on("touchend click", "#closeImport", function() { + $('#import-dialog').dialog('close'); + return false; + }); + $("body").on("touchend click", "#savePanelBtn", function() { + Brackets.savePicks(); + }); + $("body").on("touchend click", "#cancelPanelBtn", function() { + $('#transfer-picks-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#interstitialContinueLink", function() { + $('#interstitial-dialog').dialog('close'); return true; + }); + $("body").on("touchend click", "#interstitialCancelLink", function() { + $('#interstitial-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#shareable-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", ".closePanel", function() { + $('#saved-dialog').dialog('close'); return false; + }); + $("body").on("touchend click", "#twitterModalBtn", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#facebookModalBtn", function() { + Brackets.facebookShareEvent(1); + }); + $("body").on("touchend click", "#tweetFromShareModal", function(e) { + e.preventDefault(); + e.stopPropagation(); + Brackets.twitterShareEvent(1); + }); + $("body").on("touchend click", "#postFromShareModal", function() { + Brackets.facebookShareEvent(1); + }); + }); + </script> + + + <div id="bracket_bottom"> +<script type="text/javascript"> +if (switchXFP != 'off') { + googletag.cmd.push(function() { + if (typeof index_headertag_lightspeed !== 'undefined') { + var cb = (function () { + return function () { + var slots = googletag.pubads().getSlots(); + index_headertag_lightspeed.set_slot_targeting(slots); + googletag.display("bracket_bottom"); + }; + })(); + index_headertag_lightspeed.add_session_end_hook(cb, true); + index_headertag_lightspeed.refresh(); + } else { + googletag.display("bracket_bottom"); + } + }); + if (location.search.substring(1).indexOf('DCLK')>-1) $('<input type="text" value="bracket_bottom" style="width:960px"><br>').insertBefore('#bracket_bottom'); +} +</script> +</div> + <div style="width: 660px;"> + + </div> + + </div> + </div> +</div> + <div style="margin: 20px 20px 0 20px;"> + <div id="taboola-bottom-of-the-page-thumbnails" data-taboola-placement="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom" om-event="aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom"></div> + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({ + mode: 'thumbnails-a', + container: 'taboola-bottom-of-the-page-thumbnails', + placement: 'aw-cbssports/collegebasketball/fantasy/bpm/brackets desktop-2x5-bottom', + target_type: 'mix' + }); + </script></div> + <div class="FooterSpacing"> </div> + + </div> + </div> + </div> + <div id="footerBottomBanner" class="box-Lg"> + <div class="row no-pad"> + + </div> + </div> +</div> +<!--END THE CONTENT BOX--> +<!--START THE FOOTER BOX--> + + <div class="box-Lg"> + <div class="row no-pad"> + + <footer id="site-footer" class="site-footer"> + <div class="site-footer-row"> + <div class="site-footer-branding"> + <span class="site-footer-logo"></span> + </div> + </div> + <div class="site-footer-row"> + + <ul class="site-footer-follow"> + <li><a href="https://www.facebook.com/CBSSports" target="_blank" rel="nofollow" om-event="Global Footer|Facebook"><span class="btn social icon-moon-facebook"></span></a></li> + <li><a href="https://twitter.com/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Twitter"><span class="btn social icon-moon-twitter"></span></a></li> + <li><a href="https://plus.google.com/+CBSSportscom/posts" target="_blank" rel="nofollow" om-event="Global Footer|Googleplus"><span class="btn social icon-moon-google-plus2"></span></a></li> + <li><a href="https://www.youtube.com/user/cbssports" target="_blank" rel="nofollow" om-event="Global Footer|Youtube-play"><span class="btn social icon-moon-youtube-play"></span></a></li> + <li><a href="https://instagram.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Instagram"><span class="btn social icon-moon-instagram"></span></a></li> + <li><a href="https://www.pinterest.com/cbssports/" target="_blank" rel="nofollow" om-event="Global Footer|Pinterest"><span class="btn social icon-moon-pinterest"></span></a></li> + </ul> + + </div> + <div class="site-footer-row"> + <ul class="site-footer-links"> + <li><a href="http://www.cbssports.com/help" target="_blank" om-event="Global Footer|Help ">Help </a></li><li><a href="http://www.cbssports.com/info/aboutus" target="_blank" om-event="Global Footer|About Us ">About Us </a></li><li><a href="http://www.cbsinteractive.com/careers" target="_blank" om-event="Global Footer|Careers ">Careers </a></li><li><a href="http://www.cbsinteractive.com/advertise/" target="_blank" om-event="Global Footer|Advertise ">Advertise </a></li><li><a href="http://www.cbssports.com/sitemap" target="_blank" om-event="Global Footer|Site Map ">Site Map </a></li><li><a href="http://www.cbssports.com/settings/newsletters" target="_blank" om-event="Global Footer|Newsletters ">Newsletters </a></li><li><a href="http://www.cbssports.com/mobile" target="_blank" om-event="Global Footer|Mobile Apps ">Mobile Apps </a></li><li><a href="http://collegenetwork.cbssports.com/" target="_blank" om-event="Global Footer|College Network ">College Network </a></li><li><a href="http://legalterms.cbsinteractive.com/adchoice" target="_blank" om-event="Global Footer|Ad Choice ">Ad Choice </a></li><li><a href="http://www.cbssports.com/info/closed-caption" target="_blank" om-event="Global Footer|Closed Captioning ">Closed Captioning </a></li><li><a href="http://legalterms.cbsinteractive.com/privacy" target="_blank" om-event="Global Footer|Privacy ">Privacy </a></li><li><a href="http://legalterms.cbsinteractive.com/terms-of-use" target="_blank" om-event="Global Footer|Terms ">Terms </a></li><li><a href="http://legalterms.cbsinteractive.com/eula" target="_blank" om-event="Global Footer|Mobile User Agreement ">Mobile User Agreement </a></li> + </ul> + </div> + + + <div class="site-footer-row"> + <div class="site-footer-partners"> + + <div class="site-footer-button button1"></div> + <div class="site-footer-button button2"></div> + <!-- div class="site-footer-button button3"></div --> + + </div> + </div> + <div class="site-footer-copyright"> + <p class="site-footer-dates">© 2005-2017 CBS INTERACTIVE. ALL RIGHTS RESERVED.</p> + <p>CBS Sports is a registered trademark of CBS Broadcasting Inc. </p> + + </div> +</footer> + </div> + </div> + + + + + <div class="box-Rg"> + <div class="row no-pad"> + <div class="col-12 no-pad col-stretch-12"> + + <div id="siteToolsBar"><div class="box-Rg"><div class="row row-no-pad"><div class="siteTools"></div></div></div></div> + <!--</div>mantle_skin--> + + <script type="text/javascript" src="http://sports.cbsimg.net/js/global-footer-min-v00101.js"></script> +<span id="footerScripts"> + <span id="footerScriptsExternal"> + + </span> + <script id="footerScriptsRegistered" type="text/javascript"> + + </script> + <script id="footerScriptsReady" type="text/javascript"> + $(document).ready(function() { + + var saag = CBSi.app.SAAG.init({ + 'categories':{"collegebasketball":{"scoreboard_url":"http://www.cbssports.com/collegebasketball/scoreboard","ord":1,"scoreboard_title":"NCAA","menu_subtitle":"Scores","content_url":"http://uclalemur.mayhem.cbssports.com/saag-fantasy/collegebasketball","active_ind":1,"menu_title":"NCAA","league_abbr":"ncaab","scoreboard_subtitle":"Scoreboard","arena":"collegebasketball","menu_label":"NCAA"}}, + 'categoryNum':1, + 'activeCategory':'collegebasketball', + 'omnitureArena': 'CollegeBasketball' + }); + + if ($('.updateTime, .gmtTime').length) {CBSi.widget.Time.update('body span');} + if ($('.tooltip').length) {CBSi.widget.ToolTip.init(CBSi.widget.ToolTip.cfg);} + if ($('.actionMenu').length) { + var actionMenuLeft = $(".actionMenu").position().left; + var userInfoLeft = (actionMenuLeft + 2) +"px"; + $("#userInfo").css({"left":userInfoLeft}); + } + $('body').delegate("[om-event]", "click", function(e) { + om.trackClick( {'item':$(this).attr("om-event")} ); + }); + + if ($('.cbsGifAnimation').length) {CBSi.app.cbsGifAnimation.prototype.init();} + //setTimeout('CBSi.app.cbsGifAnimation.prototype.init();',3000); + }); + </script> +</span> + +<!-- no ClickTale --><!-- DARK TESTS - disabled (not media) --> + + + +<!-- Begin Tealium --> +<script type="text/javascript"> + +getTaboolaPlacements(); +var utag_data={ + + siteHier : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteSection : 'fantasy games|collegebasketball|bpm|free|brackets|home', + siteType : 'desktop web', + userType : 'registered', + userState : 'authenticated', + pageType : 'matchups', + pageName : '/collegebasketball/bpm/free/brackets/1/9', + userId : '34881338', + pageTypeId : '6919', + pageOntologyId : '27226', + bkServiceLevel : 'free', + leagueChat : 'disabled', + pageViewGuid : surround.vguid, + contentWidget : surround.taboola +} +</script> +<script type="text/javascript"> +(function(a,b,c,d){ + a='//tags.tiqcdn.com/utag/cbsi/cbssportssite/prod/utag.js'; + b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; + a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); +})(); +</script> + +<!-- End Tealium --> +<!-- no refresh --> +<!-- no dl recruit --> + + <script type="text/javascript"> + window._taboola = window._taboola || []; + _taboola.push({flush: true}); + </script> + + + + </div> + </div> +</div> + +<!--END THE FOOTER BOX--> + </div> +<!--END THE MANTLE SKIN--> + + <div id='jsxmlsocket'></div> + + +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<script src="//cdn.optimizely.com/js/233511729.js"></script> +<!--<script> + +</script>--> +</body> +</html> +<!-- Page build info: mehtank 'ws5257.tm.cbsig.net' 1511 20170317 21:38:11 --> diff --git a/cbs/data/mikeyp b/cbs/data/mikeyp index 0491719041c9721c65ea3e5c78eafa814bebd2e7..daf968ea5b53552ce705cea5513ced9f897f953b 100644 --- a/cbs/data/mikeyp +++ b/cbs/data/mikeyp @@ -37,7 +37,7 @@ if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js on <!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> <script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> <script type="text/javascript"> -CBSi.token = "U2FsdGVkX1-vtuj_-KQvufmWszyA8k8WOAEpxTunlexGZ_pCl0VcjBggKYEBJgibEwl8CZuXS8cjcYL_QK4fMC14vuAceXhHTTHNpPNWjA4yYNR-pqeYlwOeJYHklpl6"; +CBSi.token = "U2FsdGVkX18skpuFSfR6wUvHUSh_K58djQvERKYU8WSf9gcKhiQkbznrX-kl6fgLnfOUxyZ5Tu2biA1oiQj_sT2Kz7BWt3lRIl0oipYvRoK2Zd_Bzkt6bbdgTPZhesEy"; CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); $.fn.serializeObject = function() { @@ -3833,7 +3833,7 @@ _.extend(Marionette.Module, { showTeamId = '4', managerAction = '0', renvBracketNumber = '1', - accessToken = 'U2FsdGVkX197BF-8Wu1WMIg8WXvPqMy6xWczhzYIr6aS5AG42AibRDoXThpluww8CmqRxhk-UW632I9UORnwmx4mr3qJ9U0ZeBKHg9uWDDA', + accessToken = 'U2FsdGVkX1-g1wDfg3EIzgz7qwpV8xxCqCGHV2TtuaOLN6QseCKDsN5os7LPjVHADfA1XUzwRcCKHXAkB97BceOjsNAm9LzjUCf7nJQgX9o', needsTiebreaker = '1', showInterstitial = '0', interstitialLink = '', @@ -3847,11 +3847,11 @@ _.extend(Marionette.Module, { signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', isMobile = '0', isIpad1 = '0', - shareableURL = 'http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=411957', + shareableURL = 'http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=569245', showTeamName = ''; // This sets and initializes the bootstrapBracketsData used below to pass to the application start - bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"ETNST","result":"wrong"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"USC","result":"right"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"S","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"Troy","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"I","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"17","period":"1","home_score":"21","user_pick":{"pick":"KANSAS","result":""},"away_name":"UC Davis","winner_name":"","time_remaining":"09420","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":""},{"status":"S","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"00000","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"JAXST","result":"wrong"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"TEXSO","result":"wrong"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"S","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"I","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"3","period":"1","home_score":0,"user_pick":{"pick":"DAYTON","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"18400","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":""},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"TEXSO","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"105","timestamp":"1489451044","team_id":"4","team_name":"M P","bracket_number":"1"}},"opm_transfer":0}; + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"ETNST","result":"wrong"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"USC","result":"right"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BAYLOR","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"NWEST","result":"right"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"MD","result":"wrong"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FGC","result":"wrong"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"ARIZ","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MD","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"UVM","result":"wrong"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"CREIGH","result":"wrong"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"JAXST","result":"wrong"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"TEXSO","result":"wrong"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"ARK","result":"right"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MINN","result":"wrong"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"DAYTON","result":"wrong"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"TEXSO","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"KANSAS","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"NOVA","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"105","timestamp":"1489451044","team_id":"4","team_name":"M P","bracket_number":"1"}},"opm_transfer":0}; </script> </div> @@ -4996,4 +4996,4 @@ var utag_data={ </script>--> </body> </html> -<!-- Page build info: mehtank 'ws5822.tm.cbsig.net' 29399 20170317 19:13:23 --> +<!-- Page build info: mehtank 'ws5822.tm.cbsig.net' 6473 20170317 21:38:00 --> diff --git a/cbs/data/moomoo b/cbs/data/moomoo index ad6ca05e9ab4f2de7f7a31ffb20b57de5b612113..9d0658bba31dc19be12a18c51d8a1249fa60c6d9 100644 --- a/cbs/data/moomoo +++ b/cbs/data/moomoo @@ -37,7 +37,7 @@ if (!CBSi.debugmode) CBSi.debugmode = ''; // For normandy--manually set if js on <!--[if lt IE 8]><script type="text/javascript" src="http://sports.cbsimg.net/js/json2-min.js"></script><![endif]--> <script type="text/javascript" src="http://sports.cbsimg.net/js/waldo-min.js"></script> <script type="text/javascript"> -CBSi.token = "U2FsdGVkX181ckliQa9Fy1lcpVYFa09C2e57OGXkWoWeJ8BDRp7_SkFiMHKB9gHVCpwYQA3_Dx2uijO7SDC6LJrY4dXLqnLZ32dNIZIfg62YOaMT2jiN4b0vObn0IpWh"; +CBSi.token = "U2FsdGVkX1-O1zl2gsh2Q31SSmb-N9k29thdd7lIj0DqPFRhwzGXwbaCzxkJ3cRywoWMp82E2ljuDxsAB0EhUHdFU2RqoDqDz_OHRTvQGpn-7OVA-tpLa_N6EMinBDVh"; CBSi.namespace("app.Player.ScoutTeam");(function(){CBSi.app.Player.ScoutTeam={players:{},toggle:function(e,b,a,d){var f={},c=this;if(typeof(this.players[b])!="undefined"){a=this.players[b]}a=a?"remove":"add";f.players=[{id:b,state:a}];params={payload:JSON.stringify(f),access_token:CBSi.token,method:"PUT"};response=Waldo.retrieve({uri:"/api/players/scout-team",uriAlias:"addtoScoutTeam",type:"GET",params:params,callback:{success:function(){if(a=="add"){DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Add to Scout Team"})}else{DW.redir({ctype:"ria;evt;objtyp;obj",cval:"Player Manager;click;transaction btn;Remove from Scout Team"})}var g=c.players,h=a=="add"?1:0;g[b]=h;$(e).removeClass("addScout"+d);$(e).removeClass("removeScout"+d);if(g[b]==1){$(e).attr("title","Drop From Scout Team");$(e).addClass("removeScout"+d)}else{$(e).attr("title","Scout This Player");$(e).addClass("addScout"+d)}if(typeof(lineupBuilder)!="undefined"){$(".rosterReportReload").trigger("click")}if(typeof(CBSi.app.Stats)!=="undefined"&&d=="Lg"){c.setScoutedPlayers()}CBSi.widget.PlayerSnippet.removeFromCache(b)}}})},setScoutedPlayers:function(b){var a=this;this.players=b||this.players;$(".scoutButton").each(function(c,d){var e=d.id.split("_");if($(d).hasClass("actionButtonSm")){$(d).removeClass("addScoutSm");$(d).removeClass("removeScoutSm");if(a.players[e[1]]){$(d).attr("title","Drop From Scout Team");$(d).addClass("removeScoutSm")}else{$(d).attr("title","Scout This Player");$(d).addClass("addScoutSm")}}})}}})();CBSi.namespace("widget.SectionHelp");(function(){CBSi.widget.SectionHelp={show:function(a){var b=$("#sectionHelpDialog");if(b.length==0){$('<div id="sectionHelpDialog" class="padHorizontal20 padVertical20"></div>').dialog({autoOpen:false,width:400,height:500,dialogClass:"help-dialog",zIndex:11000,title:"Section Help"})}if(typeof(a)=="object"){if(a.msg){$("#sectionHelpDialog").html(a.msg);$("#sectionHelpDialog").dialog("open")}}else{$.ajax({type:"GET",url:"/help?source="+a,success:function(c){$("#sectionHelpDialog").html(c);$("#sectionHelpDialog").dialog("open")},dataType:"html"})}}}})();CBSi.namespace("widget.PlayerSnippet");(function(){CBSi.widget.UrlUtils={getParameter:function(d,a){var c=d.split("&");for(var b=0;b<c.length;b++){var e=c[b].split("=");if(e[0]==a){return e[1]}}return""},};CBSi.widget.PlayerSnippet={cache:{},overflowSet:false,heightSet:false,close:function(){if(!this.heightSet){$("html").css("height","auto")}if(!this.overflowSet){$("body, html").css("overflow","auto")}$("#snippetDiv").dialog("close");this.heightSet=false;this.overflowSet=false;if(typeof(Storage)!=="undefined"){sessionStorage.clear()}},open:function(b,e,h){var g,i,d,j=this,a=$("#snippetDiv");var c=parseInt(CBSi.widget.UrlUtils.getParameter(b,"play_video"));if(typeof(Storage)!=="undefined"){sessionStorage.clear()}h=h||{};i=h.height||652,d=h.width||820,g=b||e;if(!a[0]){$("body").on("click","#closeSnippet",function(){j.close()});$('<div id="snippetDiv"></div>').appendTo("body").dialog({autoOpen:false,width:820,open:function(l,n){var o=($(window).width()/2)-($(this).parents(".ui-dialog").width()/2);var p=$(".fantNav").offset();if(p){var k=$(".nav-network-bar:not(.hiddenBrandBar)").outerHeight();var m=$(".fantNav").outerHeight();$(this).parents(".ui-dialog").css("position","absolute").offset({top:p.top-k-m+0,left:o})}else{$(this).parents(".ui-dialog").css("position","absolute").offset({top:0,left:o})}},resizable:false,zIndex:9999999,draggable:false,closeText:"",dialogClass:"playerSnippet",modal:true,close:function(l,k){$("#snippetDiv").remove();if(!j.heightSet){$("html").css("height","auto")}if(!j.overflowSet){$("body, html").css("overflow","auto")}}}).draggable({handle:"#snippetContainer .headerContainer",scroll:false});$("#snippetDiv").undelegate("ul.priNav li > a").delegate("ul.priNav li > a","click",function(m){m.preventDefault();var l=this,k=this.href;if(j.cache[k]){j.loadTabData(j.cache[k],l)}else{$.ajax({type:"GET",url:k,dataType:"html",success:function(n){j.setTabCache(k,n);j.loadTabData(n,l)}})}})}$("#snippetDiv").html('<div style="line-height:630px;text-align:center;"><img src="'+CBSi.imageServer+'/images/fantasy/contacts/loading.gif"/> Loading...</div>');$("#snippetDiv").dialog("open");var f=[];if(typeof utag!="undefined"&&utag&&utag_data&&utag_data.siteHier){f=utag.data.siteHier.split("|")}f[0]="PlayerSnippet";if(typeof om!="undefined"&&om){om.trackClick({item:f.join("|")})}if(j.cache[g]){j.loadData(j.cache[g],e,c)}else{$.ajax({type:"GET",url:b,success:function(k){j.setMainCache(g,k);j.loadData(k,e,c)},dataType:"html"})}if($("body").hasClass("yui-layout")){j.heightSet=true}else{$("html").css("height","100%")}if($("body").css("overflow")=="hidden"){j.overflowSet=true}else{$("body, html").css("overflow","hidden")}},setMainCache:function(a,b){this.cache[a]=b},setTabCache:function(a,b){this.cache[a]=b},switchScheduleGamelog:function(a){$("#snippetDiv").on("click","#switchStats",function(d){var c=parseInt(year)-1;if($(this).hasClass("viewPreviousYearGameLog")){$(this).html("view "+year+" season schedule<div class='titleMoreArrow'></div>");$(this).removeClass("viewPreviousYearGameLog").addClass("viewScheduledGames");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+c+"</span> Game Log");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewPreviousYearGameLog")){sessionStorage.setItem("switchStats|viewScheduledGames",b.next().prop("outerHTML"));b.next().remove();b.after("<span id='switchStatsLoading'>Loading...</span>");$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){$("#switchStatsLoading").remove();e=e.replace(/<!--(.*?)-->/gm,"").trim();if(e==""){e="<div>Player did not play in "+c+"</div>"}b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewPreviousYearGameLog"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/completedgames",data:{location:"snippet",player_id:a},success:function(e){b.after(e);sessionStorage.setItem("switchStats|viewPreviousYearGameLog",e)},error:function(e){console.log(e)}})}}else{if($(this).hasClass("viewScheduledGames")){$(this).html("view "+c+" game log<div class='titleMoreArrow'></div>");$(this).removeClass("viewScheduledGames").addClass("viewPreviousYearGameLog");var b=$(this).parent().parent().parent();b.find(".leftUnderline").html('<span class="boldText">'+year+"</span> Season Schedule");if(typeof(Storage)!=="undefined"){if(!sessionStorage.getItem("switchStats|viewScheduledGames")){$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}else{b.next().remove();b.after(sessionStorage.getItem("switchStats|viewScheduledGames"))}}else{b.next().remove();$.ajax({type:"GET",url:"/players/scheduledgames",data:{location:"snippet",player_id:a,season_state:"pre"},success:function(e){b.next().remove();b.after(e);sessionStorage.setItem("switchStats|viewScheduledGames",e)},error:function(e){console.log(e)}})}}}})},loadData:function(d,a,c){$("#snippetDiv").html(d);this.setPlayerNewsComponent();this.handleReadMoreLessPlayerNews();this.switchScheduleGamelog(a);if(c>0){var b=this;$(".latestVideoPlayHotspotSnippet").ready(function(){var h=$(".latestVideoPlayHotspotSnippet");b.videoPlayerNewsTab(h,"icon")})}if(typeof(Storage)!=="undefined"){var f=$("#playerSnippet ul.nav li.active a").attr("href");var g=document.createElement("a");g.href=f;activeTabCacheKey=g.pathname+g.search;if(!sessionStorage.getItem(activeTabCacheKey)){if(f.indexOf("overview")<0){$.ajax({type:"GET",url:g.origin+"/players/playerpage/snippet/tabs/overview"+g.search,success:function(h){sessionStorage.setItem("/players/playerpage/snippet/tabs/overview"+g.search,h)},dataType:"html"})}else{var e=$("#playerSnippet_content").html();sessionStorage.setItem(activeTabCacheKey,e)}}}},loadTabData:function(b,a){$("#snippetContent").html(b);$("#snippetDiv ul.priNav li").removeClass("active");$(a).parent().addClass("active")},loadKeyStats:function(c){var c=c||{};var e=$("#snippetDiv").find(".key_stats");var d=(c.defaultSource)?d:"Avg";var a=(c.statsArray)?c.statsArray:["Avg","Zegura","Eisenberg","Richard"];var b=e.find(".key_stat_table");if(b.length==1){b.show()}else{e.find('.key_stat_table[data-source="'+d+'"]').show()}e.find(".title #Avg").addClass("selected");e.on("click","a",function(g){e.find(".title a").removeClass("selected");g.preventDefault;var f=$(g.target);for(source in a){e.find('.key_stat_table[data-source="'+a[source]+'"]').hide()}f.addClass("selected");e.find('.key_stat_table[data-source="'+f.attr("id")+'"]').show();return false});$(".viewStatsWrapper").on({mouseenter:function(){var i=$(".tooltipSnippetStats");var g=$("#snippetContainer .fantasy_info");var f=$(".viewStatsWrapper");var h=(g.width()-i.width())-((f.width()-i.width())/2);$("#tooltipStats").html(i.html());$("#tooltipStats").css("right",Math.abs(h));$("#tooltipStats").show()},mouseleave:function(){var f=$("#tooltipStats").html();$(".tooltipSnippetStats").html(f);$("#tooltipStats").hide()}})},setPlayerNewsComponent:function(){var a=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .updateData");var b=$("#snippetDiv #snippetContent #playerNewsSnippet .featureComponentContainer .featureData .dataBorders .newSubtitle .titleHeadline");b.click(function(){$(a).css("display","none");$(b).css("padding","0px 0px 7px 0px");$(this).css("padding","0px");$(this).parent().parent().find(".updateData").show()})},videoPlayerHandler:function(b){var a=$("#playerSnippet ul.nav li.active a").html();if(a=="Overview"){this.videoPlayerOverviewTab(b)}else{if(a=="News"){this.videoPlayerNewsTab(b,"snippet")}}return false},videoPlayerOverviewTab:function(f){var h=$(f);var d=h.attr("class");var a=h.attr("data-pcid");var g=h.attr("data-channel");var c=h.attr("data-arena")||"";if(d=="play latestVideoPlayHotspotSnippet"){if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Play"})}h.attr("class","stop latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");h.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var b=292;if($(".playerReportBanner").length>0){b=260}var e='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+g+"%26pcid%3D"+a+"%26width%3D560%26height%3D"+b+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+b+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop(0);$("#rightLatestNewsSnippet").hide();$("#rightVideoSnippet").html(e);$("#rightVideoSnippet").show();$(".vidPlaySmOverview").hide();$(".vidThumbMedOverview").hide();this.showCloseVideoIcon()}else{if(c!=""){om.trackClick({item:"PlayerVideo|"+c+"|PlayerSnippet|Overview|Stop"})}h.attr("class","play latestVideoPlayHotspotSnippet");h.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");h.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");$("#rightVideoSnippet").hide();$("#rightVideoSnippet").html("");$("#rightLatestNewsSnippet").show();$(".vidPlaySmOverview").show();$(".vidThumbMedOverview").show()}return false},videoPlayerNewsTab:function(c,h){var i=$(c);var e=i.attr("class");var b=i.attr("data-pcid");var a=i.attr("data-channel");var d=i.attr("data-arena")||"";if(e=="play latestVideoPlayHotspotSnippet"){if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Play"})}i.attr("class","stop latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-play").removeClass("icon-player-news-video-play").addClass("icon-player-news-video-stop");i.children(".descriptionHeadline").children(".playVideo").html("STOP VIDEO");var g=315;var j=75;if($(".playerReportBanner").length>0){g=285;j=100}var f='<div id="embedVideoContainer_snippetVideo" class="embedVideo"><iframe id="embedVideo_snippetVideo" name="embedVideo_snippetVideo" src="/video/player/embed?args=player_id%3DsnippetVideo%26channel%3D'+a+"%26pcid%3D"+b+"%26width%3D560%26height%3D"+g+'%26autoplay%3Dtrue%26dynamic_controls%3Dfalse%26comp_ads_enabled%3Dfalse%26comp_ad_w%3D300%26comp_ad_h%3D60%26autoplay_live%3Dtrue%26lazy_load%3Dfalse" width="560" height="'+g+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowTransparency="true"></iframe></div>';$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+55);$(".latestVideoPlayHotspotSnippet span.vidPlaySm").hide();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").hide();$("#videoNewsIFrameContainer").html(f);$("#videoNewsIFrameContainer").show();this.showCloseVideoIcon()}else{if(h=="snippet"&&d!=""){om.trackClick({item:"PlayerVideo|"+d+"|PlayerSnippet|News|Stop"})}i.attr("class","play latestVideoPlayHotspotSnippet");i.children(".descriptionHeadline").children(".icon-player-news-video-stop").removeClass("icon-player-news-video-stop").addClass("icon-player-news-video-play");i.children(".descriptionHeadline").children(".playVideo").html("PLAY VIDEO");var j=75;if($(".playerReportBanner").length>0){j=100}$("#videoNewsIFrameContainer").hide();$("#videoNewsIFrameContainer").html("");$(".latestVideoPlayHotspotSnippet span.vidPlaySm").show();$(".latestVideoPlayHotspotSnippet img.vidThumbMed").show();$(".snippetTabContainer").scrollTop($(".playerNewsVideoContainer").position().top+10)}return false},showCloseVideoIcon:function(){var a=this;$("#embedVideoContainer_snippetVideo").prepend("<span class='closeRightVideoSnippet icon-times icon-black icon-hover-black icon-9' style='display:none;'></span>");$(".closeRightVideoSnippet").click(function(b){b.stopPropagation();a.videoPlayerHandler($(".latestVideoPlayHotspotSnippet"));$(".closeRightVideoSnippet").remove()});setTimeout(function(){$(".closeRightVideoSnippet").fadeIn()},2000)},removeFromCache:function(a){for(var b in this.cache){if(b.indexOf(a)>=0){delete this.cache[b]}break}},handleReadMoreLessPlayerNews:function(){$("#snippetDiv").on("click","#readMoreOutlook",function(a){$("#shortOulook").hide();$("#fullOulook").show()});$("#snippetDiv").on("click","#readLessOutlook",function(a){$("#fullOulook").hide();$("#shortOulook").show();$("#playerNewsSnippet .featureData").scrollTop(0)});$("#snippetDiv").on("click","#readMoreNews",function(a){$(this).parent().parent().find("#shortNews").hide();$(this).parent().parent().find("#fullNews").show()});$("#snippetDiv").on("click","#readLessNews",function(a){$(this).parent().parent().find("#fullNews").hide();$(this).parent().parent().find("#shortNews").show()});$("#snippetDiv").on("click","#readMoreAnalysis",function(a){$(this).parent().parent().find("#shortAnalysis").hide();$(this).parent().parent().find("#fullAnalysis").show()});$("#snippetDiv").on("click","#readLessAnalysis",function(a){$(this).parent().parent().find("#fullAnalysis").hide();$(this).parent().parent().find("#shortAnalysis").show()})},}})(); $.fn.serializeObject = function() { @@ -1453,7 +1453,7 @@ $(function(){ <button type="button" class="btn-primary" style="width:145px;" name="print" id="print" om-event="Brackets|bpm|Print"> <span class="icon-print icon-white spacerRight10"></span><span>PRINT</span> </button> - <a om-event="Brarckets|bpm|TWTShare" class="spacerLeft10" id="twitterShareBtnHref" href="https://twitter.com/share?text=I%20just%20filled%20out%20my%20bracket%20in%20CBS%20Sports%20Bracket%20Manager%20Can%20you%20beat%20me%3F%20%40cbssports%20%23brackets&url=http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=383945%26ttag=bpm17_tw_sh" target="_blank"> + <a om-event="Brarckets|bpm|TWTShare" class="spacerLeft10" id="twitterShareBtnHref" href="https://twitter.com/share?text=I%20just%20filled%20out%20my%20bracket%20in%20CBS%20Sports%20Bracket%20Manager%20Can%20you%20beat%20me%3F%20%40cbssports%20%23brackets&url=http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=647726%26ttag=bpm17_tw_sh" target="_blank"> <button type="button" class="btn-primary" style="width:145px;background-color: #1da1f2!important;"> <span class="icon-twitter icon-white spacerRight10"></span><span>SHARE</span> </button> @@ -3841,7 +3841,7 @@ _.extend(Marionette.Module, { showTeamId = '2', managerAction = '0', renvBracketNumber = '1', - accessToken = 'U2FsdGVkX18BEMEmYwQr6Gnvtt7yY9tA3gMogSHTuR9k1GPFOe6oo1y08LXIaQyxP_MOuF5uGPOSv7CDofwjZZBwoiJqVl9l0_ikrqWMjr8', + accessToken = 'U2FsdGVkX19A_B8pDCLd0NY_zdYOB7pBfc0DRdtvDSZ34YdLv32YZq_82oTi7cFsQ6tPR6lLcabxLBnuJBn-ytAWLhdWy4j0DgRXF_Rd1qo', needsTiebreaker = '1', showInterstitial = '0', interstitialLink = '', @@ -3855,11 +3855,11 @@ _.extend(Marionette.Module, { signupLink = 'http://freebracketchallenge.0.mayhem.cbssports.com/splash/do-signup/mayhem/spln/bpc/free/25203', isMobile = '0', isIpad1 = '0', - shareableURL = 'http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=383945', + shareableURL = 'http://dangsta.mayhem.cbssports.com/brackets/shareable-bracket/7bdf053e0a46ed37ca5c2be76de72100?randkey=647726', showTeamName = ''; // This sets and initializes the bootstrapBracketsData used below to pass to the application start - bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"S","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"Troy","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WISC","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"I","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"17","period":"1","home_score":"21","user_pick":{"pick":"KANSAS","result":""},"away_name":"UC Davis","winner_name":"","time_remaining":"09450","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":""},{"status":"S","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"00000","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"S","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"I","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"3","period":"1","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"18400","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":""},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SETON","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"137","timestamp":"1489640256","team_id":"2","team_name":"moo moo","bracket_number":"1"}},"opm_transfer":0}; + bootstrapBracketsData = {"game_and_pick_list":{"locked":1,"regions":[{"quadrant":1,"name":"east","position":"top-left","rounds":[{"games":[{"status":"F","away_id":"21318","home_abbr":"NOVA","home_seed":"1","winner_id":"21171","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-1","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170316_MOUNT@NOVA","home_id":"21171","away_score":"56","period":"2","home_score":"76","user_pick":{"pick":"NOVA","result":"right"},"away_name":"Mt St Mary's","winner_name":"Villanova","time_remaining":"0","away_seed":"16","away_abbr":"MOUNT","cbs_game_id":"4","home_name":"Villanova","winner_abbr":"NOVA"},{"status":"F","away_id":"21148","home_abbr":"WISC","home_seed":"8","winner_id":"21200","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-2","next_round_game_id_for_pick":"1-2-1","game_date":"2017-03-16 21:43:00 EDT","cbs_game_abbr":"NCAAB_20170316_VATECH@WISC","home_id":"21200","away_score":"74","period":"2","home_score":"84","user_pick":{"pick":"WISC","result":"right"},"away_name":"Va. Tech","winner_name":"Wisconsin","time_remaining":"0","away_seed":"9","away_abbr":"VATECH","cbs_game_id":"5","home_name":"Wisconsin","winner_abbr":"WISC"},{"status":"F","away_id":"21229","home_abbr":"UVA","home_seed":"5","winner_id":"21136","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-3","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170316_NCWILM@UVA","home_id":"21136","away_score":"71","period":"2","home_score":"76","user_pick":{"pick":"UVA","result":"right"},"away_name":"UNC-Wilm.","winner_name":"Virginia","time_remaining":"00000","away_seed":"12","away_abbr":"NCWILM","cbs_game_id":"6","home_name":"Virginia","winner_abbr":"UVA"},{"status":"F","away_id":"21369","home_abbr":"FLA","home_seed":"4","winner_id":"21355","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-4","next_round_game_id_for_pick":"1-2-2","game_date":"2017-03-16 15:26:00 EDT","cbs_game_abbr":"NCAAB_20170316_ETNST@FLA","home_id":"21355","away_score":"65","period":"2","home_score":"80","user_pick":{"pick":"FLA","result":"right"},"away_name":"ETSU","winner_name":"Florida","time_remaining":"0","away_seed":"13","away_abbr":"ETNST","cbs_game_id":"7","home_name":"Florida","winner_abbr":"FLA"},{"status":"F","away_id":"21342","home_abbr":"SMU","home_seed":"6","winner_id":"21342","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-5","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 15:16:00 EDT","cbs_game_abbr":"NCAAB_20170317_USC@SMU","home_id":"21433","away_score":"66","period":"2","home_score":"65","user_pick":{"pick":"SMU","result":"wrong"},"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"8","home_name":"SMU","winner_abbr":"USC"},{"status":"F","away_id":"21220","home_abbr":"BAYLOR","home_seed":"3","winner_id":"21201","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-6","next_round_game_id_for_pick":"1-2-3","game_date":"2017-03-17 12:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_NMEXST@BAYLOR","home_id":"21201","away_score":"73","period":"2","home_score":"91","user_pick":{"pick":"BAYLOR","result":"right"},"away_name":"New Mex. St.","winner_name":"Baylor","time_remaining":"0","away_seed":"14","away_abbr":"NMEXST","cbs_game_id":"9","home_name":"Baylor","winner_abbr":"BAYLOR"},{"status":"S","away_id":"21239","home_abbr":"SC","home_seed":"7","winner_id":"","round_id":"1","region_id":"1","next_round_placement_for_pick":"top","id":"1-1-7","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 21:54:00 EDT","cbs_game_abbr":"NCAAB_20170317_MARQET@SC","home_id":"21361","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARQET","result":""},"away_name":"Marquette","winner_name":"","time_remaining":"00000","away_seed":"10","away_abbr":"MARQET","cbs_game_id":"10","home_name":"S. Carolina","winner_abbr":""},{"status":"F","away_id":"21414","home_abbr":"DUKE","home_seed":"2","winner_id":"21130","round_id":"1","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-1-8","next_round_game_id_for_pick":"1-2-4","game_date":"2017-03-17 19:20:00 EDT","cbs_game_abbr":"NCAAB_20170317_TROY@DUKE","home_id":"21130","away_score":"65","period":"2","home_score":"87","user_pick":{"pick":"DUKE","result":"right"},"away_name":"Troy","winner_name":"Duke","time_remaining":"0","away_seed":"15","away_abbr":"TROY","cbs_game_id":"11","home_name":"Duke","winner_abbr":"DUKE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21200","home_abbr":"NOVA","home_seed":"1","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-1","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 14:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_WISC@NOVA","home_id":"21171","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WISC","result":""},"away_name":"Wisconsin","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"WISC","cbs_game_id":"12","top_from":"1-1-1","bottom_from":"1-1-2","home_name":"Villanova","winner_abbr":""},{"status":"S","away_id":"21136","home_abbr":"FLA","home_seed":"4","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-2","next_round_game_id_for_pick":"1-3-1","game_date":"2017-03-18 20:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_UVA@FLA","home_id":"21355","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"Virginia","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"UVA","cbs_game_id":"13","top_from":"1-1-3","bottom_from":"1-1-4","home_name":"Florida","winner_abbr":""},{"status":"T","away_id":"21342","home_abbr":"BAYLOR","home_seed":"3","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"top","id":"1-2-3","next_round_game_id_for_pick":"1-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_USC@BAYLOR","home_id":"21201","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"USC","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"USC","cbs_game_id":"14","top_from":"1-1-5","bottom_from":"1-1-6","home_name":"Baylor","winner_abbr":""},{"status":"","away_id":"","home_abbr":"DUKE","home_seed":"2","winner_id":"","round_id":"2","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-2-4","next_round_game_id_for_pick":"1-3-2","game_date":"","cbs_game_abbr":"","home_id":"21130","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"DUKE","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"15","top_from":"1-1-7","bottom_from":"1-1-8","home_name":"Duke","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"top","id":"1-3-1","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"16","top_from":"1-2-1","bottom_from":"1-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"1","next_round_placement_for_pick":"bottom","id":"1-3-2","next_round_game_id_for_pick":"1-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"SMU","result":"eliminated"},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"17","top_from":"1-2-3","bottom_from":"1-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"1","next_round_placement_for_pick":"top","id":"1-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UVA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"18","top_from":"1-3-1","bottom_from":"1-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":1,"round_ids":["1","2","3","4"]},{"quadrant":2,"name":"west","position":"bottom-left","rounds":[{"games":[{"status":"F","away_id":"532957","home_abbr":"GONZAG","home_seed":"1","winner_id":"21415","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-1","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170316_SDAKST@GONZAG","home_id":"21415","away_score":"46","period":"2","home_score":"66","user_pick":{"pick":"GONZAG","result":"right"},"away_name":"S. Dak. St.","winner_name":"Gonzaga","time_remaining":"0","away_seed":"16","away_abbr":"SDAKST","cbs_game_id":"19","home_name":"Gonzaga","winner_abbr":"GONZAG"},{"status":"F","away_id":"21363","home_abbr":"NWEST","home_seed":"8","winner_id":"21196","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-2","next_round_game_id_for_pick":"2-2-1","game_date":"2017-03-16 16:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_VANDY@NWEST","home_id":"21196","away_score":"66","period":"2","home_score":"68","user_pick":{"pick":"VANDY","result":"wrong"},"away_name":"Vanderbilt","winner_name":"Northwestern","time_remaining":"0","away_seed":"9","away_abbr":"VANDY","cbs_game_id":"20","home_name":"Northwestern","winner_abbr":"NWEST"},{"status":"F","away_id":"21252","home_abbr":"ND","home_seed":"5","winner_id":"21164","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-3","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170316_PRINCE@ND","home_id":"21164","away_score":"58","period":"2","home_score":"60","user_pick":{"pick":"ND","result":"right"},"away_name":"Princeton","winner_name":"Notre Dame","time_remaining":"0","away_seed":"12","away_abbr":"PRINCE","cbs_game_id":"21","home_name":"Notre Dame","winner_abbr":"ND"},{"status":"F","away_id":"21346","home_abbr":"WVU","home_seed":"4","winner_id":"21172","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-4","next_round_game_id_for_pick":"2-2-2","game_date":"2017-03-16 14:54:00 EDT","cbs_game_abbr":"NCAAB_20170316_BUCK@WVU","home_id":"21172","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"WVU","result":"right"},"away_name":"Bucknell","winner_name":"W. Virginia","time_remaining":"0","away_seed":"13","away_abbr":"BUCK","cbs_game_id":"22","home_name":"W. Virginia","winner_abbr":"WVU"},{"status":"F","away_id":"21149","home_abbr":"MD","home_seed":"6","winner_id":"21149","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-5","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170316_XAVIER@MD","home_id":"21133","away_score":"76","period":"2","home_score":"65","user_pick":{"pick":"XAVIER","result":"right"},"away_name":"Xavier","winner_name":"Xavier","time_remaining":"0","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"23","home_name":"Maryland","winner_abbr":"XAVIER"},{"status":"F","away_id":"450402","home_abbr":"FSU","home_seed":"3","winner_id":"21131","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-6","next_round_game_id_for_pick":"2-2-3","game_date":"2017-03-16 21:34:00 EDT","cbs_game_abbr":"NCAAB_20170316_FGC@FSU","home_id":"21131","away_score":"80","period":"2","home_score":"86","user_pick":{"pick":"FSU","result":"right"},"away_name":"FGCU","winner_name":"Florida St.","time_remaining":"0","away_seed":"14","away_abbr":"FGC","cbs_game_id":"24","home_name":"Florida St.","winner_abbr":"FSU"},{"status":"F","away_id":"21232","home_abbr":"MARYCA","home_seed":"7","winner_id":"21422","round_id":"1","region_id":"2","next_round_placement_for_pick":"top","id":"2-1-7","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 19:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_VCU@MARYCA","home_id":"21422","away_score":"77","period":"2","home_score":"85","user_pick":{"pick":"MARYCA","result":"right"},"away_name":"VCU","winner_name":"St. Mary's","time_remaining":"0","away_seed":"10","away_abbr":"VCU","cbs_game_id":"25","home_name":"St. Mary's","winner_abbr":"MARYCA"},{"status":"F","away_id":"213626","home_abbr":"ARIZ","home_seed":"2","winner_id":"21335","round_id":"1","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-1-8","next_round_game_id_for_pick":"2-2-4","game_date":"2017-03-16 22:24:00 EDT","cbs_game_abbr":"NCAAB_20170316_NDAK@ARIZ","home_id":"21335","away_score":"82","period":"2","home_score":"100","user_pick":{"pick":"ARIZ","result":"right"},"away_name":"North Dakota","winner_name":"Arizona","time_remaining":"0","away_seed":"15","away_abbr":"NDAK","cbs_game_id":"26","home_name":"Arizona","winner_abbr":"ARIZ"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"S","away_id":"21196","home_abbr":"GONZAG","home_seed":"1","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-1","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 17:15:00 EDT","cbs_game_abbr":"NCAAB_20170318_NWEST@GONZAG","home_id":"21415","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"GONZAG","result":""},"away_name":"Northwestern","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"NWEST","cbs_game_id":"27","top_from":"2-1-1","bottom_from":"2-1-2","home_name":"Gonzaga","winner_abbr":""},{"status":"S","away_id":"21164","home_abbr":"WVU","home_seed":"4","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-2","next_round_game_id_for_pick":"2-3-1","game_date":"2017-03-18 12:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_ND@WVU","home_id":"21172","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"Notre Dame","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"ND","cbs_game_id":"28","top_from":"2-1-3","bottom_from":"2-1-4","home_name":"W. Virginia","winner_abbr":""},{"status":"S","away_id":"21149","home_abbr":"FSU","home_seed":"3","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"top","id":"2-2-3","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 18:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_XAVIER@FSU","home_id":"21131","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"FSU","result":""},"away_name":"Xavier","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"XAVIER","cbs_game_id":"29","top_from":"2-1-5","bottom_from":"2-1-6","home_name":"Florida St.","winner_abbr":""},{"status":"S","away_id":"21422","home_abbr":"ARIZ","home_seed":"2","winner_id":"","round_id":"2","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-2-4","next_round_game_id_for_pick":"2-3-2","game_date":"2017-03-18 19:45:00 EDT","cbs_game_abbr":"NCAAB_20170318_MARYCA@ARIZ","home_id":"21335","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"St. Mary's","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MARYCA","cbs_game_id":"30","top_from":"2-1-7","bottom_from":"2-1-8","home_name":"Arizona","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"top","id":"2-3-1","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WVU","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"31","top_from":"2-2-1","bottom_from":"2-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-3-2","next_round_game_id_for_pick":"2-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"32","top_from":"2-2-3","bottom_from":"2-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"2","next_round_placement_for_pick":"bottom","id":"2-4-1","next_round_game_id_for_pick":"5-5-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"33","top_from":"2-3-1","bottom_from":"2-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":2,"round_ids":["1","2","3","4"]},{"quadrant":3,"name":"midwest","position":"top-right","rounds":[{"games":[{"status":"F","away_id":"160877","home_abbr":"KANSAS","home_seed":"1","winner_id":"21204","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-1","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 18:50:00 EDT","cbs_game_abbr":"NCAAB_20170317_UCDAV@KANSAS","home_id":"21204","away_score":"62","period":"2","home_score":"100","user_pick":{"pick":"KANSAS","result":"right"},"away_name":"UC Davis","winner_name":"Kansas","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"34","home_name":"Kansas","winner_abbr":"KANSAS"},{"status":"I","away_id":"21194","home_abbr":"MIAMI","home_seed":"8","winner_id":"","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-2","next_round_game_id_for_pick":"3-2-1","game_date":"2017-03-17 21:25:00 EDT","cbs_game_abbr":"NCAAB_20170317_MICHST@MIAMI","home_id":"21163","away_score":"3","period":"1","home_score":"13","user_pick":{"pick":"MIAMI","result":""},"away_name":"Michigan St.","winner_name":"","time_remaining":"14120","away_seed":"9","away_abbr":"MICHST","cbs_game_id":"35","home_name":"Miami (Fla.)","winner_abbr":""},{"status":"F","away_id":"21219","home_abbr":"IOWAST","home_seed":"5","winner_id":"21203","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-3","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 22:03:00 EDT","cbs_game_abbr":"NCAAB_20170316_NEVADA@IOWAST","home_id":"21203","away_score":"73","period":"2","home_score":"84","user_pick":{"pick":"IOWAST","result":"right"},"away_name":"Nevada","winner_name":"Iowa St.","time_remaining":"0","away_seed":"12","away_abbr":"NEVADA","cbs_game_id":"36","home_name":"Iowa St.","winner_abbr":"IOWAST"},{"status":"F","away_id":"21159","home_abbr":"PURDUE","home_seed":"4","winner_id":"21199","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-4","next_round_game_id_for_pick":"3-2-2","game_date":"2017-03-16 19:27:00 EDT","cbs_game_abbr":"NCAAB_20170316_UVM@PURDUE","home_id":"21199","away_score":"70","period":"2","home_score":"80","user_pick":{"pick":"PURDUE","result":"right"},"away_name":"Vermont","winner_name":"Purdue","time_remaining":"0","away_seed":"13","away_abbr":"UVM","cbs_game_id":"37","home_name":"Purdue","winner_abbr":"PURDUE"},{"status":"F","away_id":"21144","home_abbr":"CREIGH","home_seed":"6","winner_id":"21144","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-5","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 16:37:00 EDT","cbs_game_abbr":"NCAAB_20170317_RI@CREIGH","home_id":"21305","away_score":"84","period":"2","home_score":"72","user_pick":{"pick":"RI","result":"right"},"away_name":"Rhode Island","winner_name":"Rhode Island","time_remaining":"0","away_seed":"11","away_abbr":"RI","cbs_game_id":"38","home_name":"Creighton","winner_abbr":"RI"},{"status":"F","away_id":"21256","home_abbr":"OREG","home_seed":"3","winner_id":"21338","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-6","next_round_game_id_for_pick":"3-2-3","game_date":"2017-03-17 14:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_IONA@OREG","home_id":"21338","away_score":"77","period":"2","home_score":"93","user_pick":{"pick":"OREG","result":"right"},"away_name":"Iona","winner_name":"Oregon","time_remaining":"0","away_seed":"14","away_abbr":"IONA","cbs_game_id":"39","home_name":"Oregon","winner_abbr":"OREG"},{"status":"F","away_id":"21209","home_abbr":"MICH","home_seed":"7","winner_id":"21193","round_id":"1","region_id":"3","next_round_placement_for_pick":"top","id":"3-1-7","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 12:15:00 EDT","cbs_game_abbr":"NCAAB_20170317_OKLAST@MICH","home_id":"21193","away_score":"91","period":"2","home_score":"92","user_pick":{"pick":"MICH","result":"right"},"away_name":"Oklahoma St.","winner_name":"Michigan","time_remaining":"0","away_seed":"10","away_abbr":"OKLAST","cbs_game_id":"40","home_name":"Michigan","winner_abbr":"MICH"},{"status":"F","away_id":"21409","home_abbr":"LVILLE","home_seed":"2","winner_id":"21238","round_id":"1","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-1-8","next_round_game_id_for_pick":"3-2-4","game_date":"2017-03-17 15:05:00 EDT","cbs_game_abbr":"NCAAB_20170317_JAXST@LVILLE","home_id":"21238","away_score":"63","period":"2","home_score":"78","user_pick":{"pick":"LVILLE","result":"right"},"away_name":"Jax. State","winner_name":"Louisville","time_remaining":"0","away_seed":"15","away_abbr":"JAXST","cbs_game_id":"41","home_name":"Louisville","winner_abbr":"LVILLE"}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"","away_id":"21204","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-1","next_round_game_id_for_pick":"3-3-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MIAMI","result":""},"away_name":"Kansas","winner_name":"","time_remaining":"","away_seed":"1","away_abbr":"KANSAS","cbs_game_id":"42","top_from":"3-1-1","bottom_from":"3-1-2","home_name":"","winner_abbr":""},{"status":"S","away_id":"21203","home_abbr":"PURDUE","home_seed":"4","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-2","next_round_game_id_for_pick":"3-3-1","game_date":"2017-03-18 21:40:00 EDT","cbs_game_abbr":"NCAAB_20170318_IOWAST@PURDUE","home_id":"21199","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"Iowa St.","winner_name":"","time_remaining":"00000","away_seed":"5","away_abbr":"IOWAST","cbs_game_id":"43","top_from":"3-1-3","bottom_from":"3-1-4","home_name":"Purdue","winner_abbr":""},{"status":"T","away_id":"21144","home_abbr":"OREG","home_seed":"3","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"top","id":"3-2-3","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_RI@OREG","home_id":"21338","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"OREG","result":""},"away_name":"Rhode Island","winner_name":"","time_remaining":"00000","away_seed":"11","away_abbr":"RI","cbs_game_id":"44","top_from":"3-1-5","bottom_from":"3-1-6","home_name":"Oregon","winner_abbr":""},{"status":"T","away_id":"21193","home_abbr":"LVILLE","home_seed":"2","winner_id":"","round_id":"2","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-2-4","next_round_game_id_for_pick":"3-3-2","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_MICH@LVILLE","home_id":"21238","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"Michigan","winner_name":"","time_remaining":"00000","away_seed":"7","away_abbr":"MICH","cbs_game_id":"45","top_from":"3-1-7","bottom_from":"3-1-8","home_name":"Louisville","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"top","id":"3-3-1","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"46","top_from":"3-2-1","bottom_from":"3-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"3","next_round_placement_for_pick":"bottom","id":"3-3-2","next_round_game_id_for_pick":"3-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MICH","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"47","top_from":"3-2-3","bottom_from":"3-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"3","next_round_placement_for_pick":"top","id":"3-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"IOWAST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"48","top_from":"3-3-1","bottom_from":"3-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":3,"round_ids":["1","2","3","4"]},{"quadrant":4,"name":"south","position":"bottom-right","rounds":[{"games":[{"status":"F","away_id":"21396","home_abbr":"UNC","home_seed":"1","winner_id":"21134","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-1","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 16:11:00 EDT","cbs_game_abbr":"NCAAB_20170317_TEXSO@UNC","home_id":"21134","away_score":"64","period":"2","home_score":"103","user_pick":{"pick":"UNC","result":"right"},"away_name":"Texas So.","winner_name":"N. Carolina","time_remaining":"0","away_seed":"16","away_abbr":"TEXSO","cbs_game_id":"49","home_name":"N. Carolina","winner_abbr":"UNC"},{"status":"F","away_id":"21168","home_abbr":"ARK","home_seed":"8","winner_id":"21353","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-2","next_round_game_id_for_pick":"4-2-1","game_date":"2017-03-17 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170317_SETON@ARK","home_id":"21353","away_score":"71","period":"2","home_score":"77","user_pick":{"pick":"SETON","result":"wrong"},"away_name":"Seton Hall","winner_name":"Arkansas","time_remaining":"0","away_seed":"9","away_abbr":"SETON","cbs_game_id":"50","home_name":"Arkansas","winner_abbr":"ARK"},{"status":"F","away_id":"21328","home_abbr":"MINN","home_seed":"5","winner_id":"21328","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-3","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 16:12:00 EDT","cbs_game_abbr":"NCAAB_20170316_MTSU@MINN","home_id":"21195","away_score":"81","period":"2","home_score":"72","user_pick":{"pick":"MTSU","result":"right"},"away_name":"Middle Tenn.","winner_name":"Middle Tenn.","time_remaining":"0","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"51","home_name":"Minnesota","winner_abbr":"MTSU"},{"status":"F","away_id":"21187","home_abbr":"BUTLER","home_seed":"4","winner_id":"21296","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-4","next_round_game_id_for_pick":"4-2-2","game_date":"2017-03-16 13:30:00 EDT","cbs_game_abbr":"NCAAB_20170316_WINTHR@BUTLER","home_id":"21296","away_score":"64","period":"2","home_score":"76","user_pick":{"pick":"BUTLER","result":"right"},"away_name":"Winthrop","winner_name":"Butler","time_remaining":"0","away_seed":"13","away_abbr":"WINTHR","cbs_game_id":"52","home_name":"Butler","winner_abbr":"BUTLER"},{"status":"I","away_id":"21205","home_abbr":"CINCY","home_seed":"6","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-5","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 19:40:00 EDT","cbs_game_abbr":"NCAAB_20170317_KSTATE@CINCY","home_id":"21235","away_score":"59","period":"2","home_score":"72","user_pick":{"pick":"KSTATE","result":""},"away_name":"Kansas St.","winner_name":"","time_remaining":"01320","away_seed":"11","away_abbr":"KSTATE","cbs_game_id":"53","home_name":"Cincinnati","winner_abbr":""},{"status":"S","away_id":"21270","home_abbr":"UCLA","home_seed":"3","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-6","next_round_game_id_for_pick":"4-2-3","game_date":"2017-03-17 21:57:00 EDT","cbs_game_abbr":"NCAAB_20170317_KENTST@UCLA","home_id":"21341","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"Kent St.","winner_name":"","time_remaining":"00000","away_seed":"14","away_abbr":"KENTST","cbs_game_id":"54","home_name":"UCLA","winner_abbr":""},{"status":"F","away_id":"21313","home_abbr":"DAYTON","home_seed":"7","winner_id":"21313","round_id":"1","region_id":"4","next_round_placement_for_pick":"top","id":"4-1-7","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170317_WICHST@DAYTON","home_id":"21138","away_score":"64","period":"2","home_score":"58","user_pick":{"pick":"WICHST","result":"right"},"away_name":"Wichita St.","winner_name":"Wichita St.","time_remaining":"0","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"55","home_name":"Dayton","winner_abbr":"WICHST"},{"status":"S","away_id":"160978","home_abbr":"UK","home_seed":"2","winner_id":"","round_id":"1","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-1-8","next_round_game_id_for_pick":"4-2-4","game_date":"2017-03-17 22:00:00 EDT","cbs_game_abbr":"NCAAB_20170317_NKY@UK","home_id":"21357","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"UK","result":""},"away_name":"N. Kentucky","winner_name":"","time_remaining":"00000","away_seed":"15","away_abbr":"NKY","cbs_game_id":"56","home_name":"Kentucky","winner_abbr":""}],"short_display_date":"3/16-17","name":"Round 1","id":"1","long_display_date":"March 16 - 17"},{"games":[{"status":"T","away_id":"21353","home_abbr":"UNC","home_seed":"1","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-1","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-19 11:11:00 EDT","cbs_game_abbr":"NCAAB_20170319_ARK@UNC","home_id":"21134","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"SETON","result":"eliminated"},"away_name":"Arkansas","winner_name":"","time_remaining":"00000","away_seed":"8","away_abbr":"ARK","cbs_game_id":"57","top_from":"4-1-1","bottom_from":"4-1-2","home_name":"N. Carolina","winner_abbr":""},{"status":"S","away_id":"21328","home_abbr":"BUTLER","home_seed":"4","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-2","next_round_game_id_for_pick":"4-3-1","game_date":"2017-03-18 19:10:00 EDT","cbs_game_abbr":"NCAAB_20170318_MTSU@BUTLER","home_id":"21296","away_score":0,"period":"0","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"Middle Tenn.","winner_name":"","time_remaining":"00000","away_seed":"12","away_abbr":"MTSU","cbs_game_id":"58","top_from":"4-1-3","bottom_from":"4-1-4","home_name":"Butler","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"top","id":"4-2-3","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"UCLA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"59","top_from":"4-1-5","bottom_from":"4-1-6","home_name":"","winner_abbr":""},{"status":"","away_id":"21313","home_abbr":"","home_seed":"","winner_id":"","round_id":"2","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-2-4","next_round_game_id_for_pick":"4-3-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"Wichita St.","winner_name":"","time_remaining":"","away_seed":"10","away_abbr":"WICHST","cbs_game_id":"60","top_from":"4-1-7","bottom_from":"4-1-8","home_name":"","winner_abbr":""}],"short_display_date":"3/18-19","name":"Round 2","id":"2","long_display_date":"March 18 - 19"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"top","id":"4-3-1","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"BUTLER","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"61","top_from":"4-2-1","bottom_from":"4-2-2","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"3","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-3-2","next_round_game_id_for_pick":"4-4-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"62","top_from":"4-2-3","bottom_from":"4-2-4","home_name":"","winner_abbr":""}],"short_display_date":"3/23-24","name":"Sweet 16","id":"3","long_display_date":"March 23 - 24"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"4","region_id":"4","next_round_placement_for_pick":"bottom","id":"4-4-1","next_round_game_id_for_pick":"5-5-2","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"63","top_from":"4-3-1","bottom_from":"4-3-2","home_name":"","winner_abbr":""}],"short_display_date":"3/25-26","name":"Elite Eight","id":"4","long_display_date":"March 25 - 26"}],"id":4,"round_ids":["1","2","3","4"]},{"name":"finalfour","rounds":[{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"top","id":"5-5-1","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"MARYCA","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"64","top_from":"1-4-1","bottom_from":"2-4-1","home_name":"","winner_abbr":""},{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"5","region_id":"5","next_round_placement_for_pick":"bottom","id":"5-5-2","next_round_game_id_for_pick":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"65","top_from":"3-4-1","bottom_from":"4-4-1","home_name":"","winner_abbr":""}],"short_display_date":"4/1","name":"Final Four","id":"5","long_display_date":"April 1"},{"games":[{"status":"","away_id":"","home_abbr":"","home_seed":"","winner_id":"","round_id":"6","region_id":"5","id":"5-6-1","game_date":"","cbs_game_abbr":"","home_id":"","away_score":0,"period":"","home_score":0,"user_pick":{"pick":"WICHST","result":""},"championship_game":1,"away_name":"","winner_name":"","time_remaining":"","away_seed":"","away_abbr":"","cbs_game_id":"66","top_from":"5-5-1","bottom_from":"5-5-2","home_name":"","winner_abbr":""}],"short_display_date":"4/3","name":"National Champion","id":"6","long_display_date":"April 3"}],"id":5,"round_ids":["5","6"]}],"teams":[{"region_id":1,"abbr":"NOVA","name":"Villanova","conference":"BIGE","seed":"1","ceng_abbr":"NOVA"},{"region_id":1,"abbr":"DUKE","name":"Duke","conference":"ACC","seed":"2","ceng_abbr":"DUKE"},{"region_id":1,"abbr":"BAYLOR","name":"Baylor","conference":"BIG12","seed":"3","ceng_abbr":"BAYLOR"},{"region_id":1,"abbr":"FLA","name":"Florida","conference":"SEC","seed":"4","ceng_abbr":"FLA"},{"region_id":1,"abbr":"UVA","name":"Virginia","conference":"ACC","seed":"5","ceng_abbr":"UVA"},{"region_id":1,"abbr":"SMU","name":"SMU","conference":"AAC","seed":"6","ceng_abbr":"SMU"},{"region_id":1,"abbr":"SC","name":"S. Carolina","conference":"SEC","seed":"7","ceng_abbr":"SC"},{"region_id":1,"abbr":"WISC","name":"Wisconsin","conference":"BIG10","seed":"8","ceng_abbr":"WISC"},{"region_id":1,"abbr":"VATECH","name":"Va. Tech","conference":"ACC","seed":"9","ceng_abbr":"VATECH"},{"region_id":1,"abbr":"MARQET","name":"Marquette","conference":"BIGE","seed":"10","ceng_abbr":"MARQET"},{"region_id":1,"abbr":"PLAY2","name":"USC","conference":null,"seed":"11","ceng_abbr":"USC"},{"region_id":1,"abbr":"NCWILM","name":"UNC-Wilm.","conference":"COL","seed":"12","ceng_abbr":"NCWILM"},{"region_id":1,"abbr":"ETNST","name":"ETSU","conference":"SOUTH","seed":"13","ceng_abbr":"ETNST"},{"region_id":1,"abbr":"NMEXST","name":"New Mex. St.","conference":"WAC","seed":"14","ceng_abbr":"NMEXST"},{"region_id":1,"abbr":"TROY","name":"Troy","conference":"BELT","seed":"15","ceng_abbr":"TROY"},{"region_id":1,"abbr":"PLAY1","name":"Mt St Mary's","conference":null,"seed":"16","ceng_abbr":"MOUNT"},{"region_id":2,"abbr":"GONZAG","name":"Gonzaga","conference":"WCC","seed":"1","ceng_abbr":"GONZAG"},{"region_id":2,"abbr":"ARIZ","name":"Arizona","conference":"PAC12","seed":"2","ceng_abbr":"ARIZ"},{"region_id":2,"abbr":"FSU","name":"Florida St.","conference":"ACC","seed":"3","ceng_abbr":"FSU"},{"region_id":2,"abbr":"WVU","name":"W. Virginia","conference":"BIG12","seed":"4","ceng_abbr":"WVU"},{"region_id":2,"abbr":"ND","name":"Notre Dame","conference":"ACC","seed":"5","ceng_abbr":"ND"},{"region_id":2,"abbr":"MD","name":"Maryland","conference":"BIG10","seed":"6","ceng_abbr":"MD"},{"region_id":2,"abbr":"MARYCA","name":"St. Mary's","conference":"WCC","seed":"7","ceng_abbr":"MARYCA"},{"region_id":2,"abbr":"NWEST","name":"Northwestern","conference":"BIG10","seed":"8","ceng_abbr":"NWEST"},{"region_id":2,"abbr":"VANDY","name":"Vanderbilt","conference":"SEC","seed":"9","ceng_abbr":"VANDY"},{"region_id":2,"abbr":"VCU","name":"VCU","conference":"ATL10","seed":"10","ceng_abbr":"VCU"},{"region_id":2,"abbr":"XAVIER","name":"Xavier","conference":"BIGE","seed":"11","ceng_abbr":"XAVIER"},{"region_id":2,"abbr":"PRINCE","name":"Princeton","conference":"IVY","seed":"12","ceng_abbr":"PRINCE"},{"region_id":2,"abbr":"BUCK","name":"Bucknell","conference":"PAT","seed":"13","ceng_abbr":"BUCK"},{"region_id":2,"abbr":"FGC","name":"FGCU","conference":"ASUN","seed":"14","ceng_abbr":"FGC"},{"region_id":2,"abbr":"NDAK","name":"North Dakota","conference":"BSKY","seed":"15","ceng_abbr":"NDAK"},{"region_id":2,"abbr":"SDAKST","name":"S. Dak. St.","conference":"SUMM","seed":"16","ceng_abbr":"SDAKST"},{"region_id":3,"abbr":"KANSAS","name":"Kansas","conference":"BIG12","seed":"1","ceng_abbr":"KANSAS"},{"region_id":3,"abbr":"LVILLE","name":"Louisville","conference":"ACC","seed":"2","ceng_abbr":"LVILLE"},{"region_id":3,"abbr":"OREG","name":"Oregon","conference":"PAC12","seed":"3","ceng_abbr":"OREG"},{"region_id":3,"abbr":"PURDUE","name":"Purdue","conference":"BIG10","seed":"4","ceng_abbr":"PURDUE"},{"region_id":3,"abbr":"IOWAST","name":"Iowa St.","conference":"BIG12","seed":"5","ceng_abbr":"IOWAST"},{"region_id":3,"abbr":"CREIGH","name":"Creighton","conference":"BIGE","seed":"6","ceng_abbr":"CREIGH"},{"region_id":3,"abbr":"MICH","name":"Michigan","conference":"BIG10","seed":"7","ceng_abbr":"MICH"},{"region_id":3,"abbr":"MIAMI","name":"Miami (Fla.)","conference":"ACC","seed":"8","ceng_abbr":"MIAMI"},{"region_id":3,"abbr":"MICHST","name":"Michigan St.","conference":"BIG10","seed":"9","ceng_abbr":"MICHST"},{"region_id":3,"abbr":"OKLAST","name":"Oklahoma St.","conference":"BIG12","seed":"10","ceng_abbr":"OKLAST"},{"region_id":3,"abbr":"RI","name":"Rhode Island","conference":"ATL10","seed":"11","ceng_abbr":"RI"},{"region_id":3,"abbr":"NEVADA","name":"Nevada","conference":"MWC","seed":"12","ceng_abbr":"NEVADA"},{"region_id":3,"abbr":"UVM","name":"Vermont","conference":"AEAST","seed":"13","ceng_abbr":"UVM"},{"region_id":3,"abbr":"IONA","name":"Iona","conference":"MAAC","seed":"14","ceng_abbr":"IONA"},{"region_id":3,"abbr":"JAXST","name":"Jax. State","conference":"OVC","seed":"15","ceng_abbr":"JAXST"},{"region_id":3,"abbr":"PLAY3","name":"UC Davis","conference":null,"seed":"16","ceng_abbr":"UCDAV"},{"region_id":4,"abbr":"UNC","name":"N. Carolina","conference":"ACC","seed":"1","ceng_abbr":"UNC"},{"region_id":4,"abbr":"UK","name":"Kentucky","conference":"SEC","seed":"2","ceng_abbr":"UK"},{"region_id":4,"abbr":"UCLA","name":"UCLA","conference":"PAC12","seed":"3","ceng_abbr":"UCLA"},{"region_id":4,"abbr":"BUTLER","name":"Butler","conference":"BIGE","seed":"4","ceng_abbr":"BUTLER"},{"region_id":4,"abbr":"MINN","name":"Minnesota","conference":"BIG10","seed":"5","ceng_abbr":"MINN"},{"region_id":4,"abbr":"CINCY","name":"Cincinnati","conference":"AAC","seed":"6","ceng_abbr":"CINCY"},{"region_id":4,"abbr":"DAYTON","name":"Dayton","conference":"ATL10","seed":"7","ceng_abbr":"DAYTON"},{"region_id":4,"abbr":"ARK","name":"Arkansas","conference":"SEC","seed":"8","ceng_abbr":"ARK"},{"region_id":4,"abbr":"SETON","name":"Seton Hall","conference":"BIGE","seed":"9","ceng_abbr":"SETON"},{"region_id":4,"abbr":"WICHST","name":"Wichita St.","conference":"MVC","seed":"10","ceng_abbr":"WICHST"},{"region_id":4,"abbr":"PLAY4","name":"Kansas St.","conference":null,"seed":"11","ceng_abbr":"KSTATE"},{"region_id":4,"abbr":"MTSU","name":"Middle Tenn.","conference":"USA","seed":"12","ceng_abbr":"MTSU"},{"region_id":4,"abbr":"WINTHR","name":"Winthrop","conference":"BSOU","seed":"13","ceng_abbr":"WINTHR"},{"region_id":4,"abbr":"KENTST","name":"Kent St.","conference":"MIDAM","seed":"14","ceng_abbr":"KENTST"},{"region_id":4,"abbr":"NKY","name":"N. Kentucky","conference":"HORIZ","seed":"15","ceng_abbr":"NKY"},{"region_id":4,"abbr":"TEXSO","name":"Texas So.","conference":"SWAC","seed":"16","ceng_abbr":"TEXSO"}],"opening_round_winners":{"PLAY1":{"abbr":"MOUNT","name":"Mt St Mary's","id":"21318"},"PLAY4":{"abbr":"KSTATE","name":"Kansas St.","id":"21205"},"PLAY2":{"abbr":"USC","name":"USC","id":"21342"},"PLAY3":{"abbr":"UCDAV","name":"UC Davis","id":"160877"}},"opening_round":{"games":[{"status":"F","away_id":"21466","home_abbr":"MOUNT","home_seed":"16","winner_id":"21318","round_id":"0","region_id":"0","id":"0-0-1","game_date":"2017-03-14 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170314_NORL@MOUNT","home_id":"21318","away_score":"66","period":"2","home_score":"67","user_pick":null,"away_name":"New Orleans","winner_name":"Mt St Mary's","time_remaining":"0","away_seed":"16","away_abbr":"NORL","cbs_game_id":"0","home_name":"Mt St Mary's","winner_abbr":"MOUNT"},{"status":"F","away_id":"21342","home_abbr":"PROV","home_seed":"11","winner_id":"21342","round_id":"0","region_id":"0","id":"0-0-2","game_date":"2017-03-15 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170315_USC@PROV","home_id":"21166","away_score":"75","period":"2","home_score":"71","user_pick":null,"away_name":"USC","winner_name":"USC","time_remaining":"0","away_seed":"11","away_abbr":"USC","cbs_game_id":"1","home_name":"Providence","winner_abbr":"USC"},{"status":"F","away_id":"160877","home_abbr":"NCCU","home_seed":"16","winner_id":"160877","round_id":"0","region_id":"0","id":"0-0-3","game_date":"2017-03-15 18:40:00 EDT","cbs_game_abbr":"NCAAB_20170315_UCDAV@NCCU","home_id":"160973","away_score":"67","period":"2","home_score":"63","user_pick":null,"away_name":"UC Davis","winner_name":"UC Davis","time_remaining":"0","away_seed":"16","away_abbr":"UCDAV","cbs_game_id":"2","home_name":"N.C. Central","winner_abbr":"UCDAV"},{"status":"F","away_id":"21137","home_abbr":"KSTATE","home_seed":"11","winner_id":"21205","round_id":"0","region_id":"0","id":"0-0-4","game_date":"2017-03-14 21:17:00 EDT","cbs_game_abbr":"NCAAB_20170314_WAKE@KSTATE","home_id":"21205","away_score":"88","period":"2","home_score":"95","user_pick":null,"away_name":"Wake Forest","winner_name":"Kansas St.","time_remaining":"0","away_seed":"11","away_abbr":"WAKE","cbs_game_id":"3","home_name":"Kansas St.","winner_abbr":"KSTATE"}],"short_display_date":"3/14-15","name":"First Four","id":"0","long_display_date":"March 14 - 15"},"pick_data":{"tiebreaker":"137","timestamp":"1489640256","team_id":"2","team_name":"moo moo","bracket_number":"1"}},"opm_transfer":0}; </script> </div> @@ -5004,4 +5004,4 @@ var utag_data={ </script>--> </body> </html> -<!-- Page build info: mehtank 'ws5822.tm.cbsig.net' 29399 20170317 19:13:22 --> +<!-- Page build info: mehtank 'ws5822.tm.cbsig.net' 6505 20170317 21:37:59 --> diff --git a/cbs/get.sh b/cbs/get.sh index 23e48fdf70c19395983910420061b9606b15c1a9..5d083ec06a7dbad456b1089c36ae40d1c6708e3f 100644 --- a/cbs/get.sh +++ b/cbs/get.sh @@ -1,4 +1,4 @@ -rm data/moomoo data/mikeyp data/avinash data.py +rm data/* data.py wget --load-cookies cookies.txt -O data/moomoo http://dangsta.mayhem.cbssports.com/brackets/1/2 wget --load-cookies cookies.txt -O data/mikeyp http://dangsta.mayhem.cbssports.com/brackets/1/4 @@ -8,3 +8,9 @@ echo "null = None" > data.py grep "bootstrapBracketsData =" data/moomoo | sed 's/ *bootstrapBracketsData/moomooBracket/' >> data.py grep "bootstrapBracketsData =" data/mikeyp | sed 's/ *bootstrapBracketsData/mikeypBracket/' >> data.py grep "bootstrapBracketsData =" data/avinash | sed 's/ *bootstrapBracketsData/avinashBracket/' >> data.py + +echo "lemur = [0] * 9" >> data.py +for i in `seq 9`; do + wget --load-cookies cookies.txt -O data/lemur$i http://uclalemur.mayhem.cbssports.com/brackets/1/$i + grep "bootstrapBracketsData =" data/lemur$i | sed 's/ *bootstrapBracketsData/lemur['"$i"'-1]/' >> data.py + done