function createSlot(id, name, desc) { var team = new Object(); team.id = id; team.name = name; team.desc = desc; return team; } var FINAL_ROUND = 6; var slot = new Array(6); slot[0] = new Array(16); //East slot[0][0] = createSlot("A", "N Carolina", "0-0"); slot[0][14] = createSlot("H", "Tennessee", "0-0"); slot[0][10] = createSlot("F", "Louisville", "0-0"); slot[0][6] = createSlot("D", "Wash St", "0-0"); slot[0][4] = createSlot("C", "Notre Dame", "0-0"); slot[0][8] = createSlot("E", "Oklahoma", "0-0"); slot[0][12] = createSlot("G", "Butler", "0-0"); slot[0][2] = createSlot("B", "Indiana", "0-0"); slot[0][3] = createSlot("b", "Arkansas", "0-0"); slot[0][13] = createSlot("g", "So Alabama", "0-0"); slot[0][9] = createSlot("e", "St Joseph's", "0-0"); slot[0][5] = createSlot("c", "G Mason", "0-0"); slot[0][7] = createSlot("d", "Winthrop", "0-0"); slot[0][11] = createSlot("f", "Boise St", "0-0"); slot[0][15] = createSlot("h", "American", "0-0"); slot[0][1] = createSlot("a", "Mt St Mary's", "0-0"); //Midwest slot[0][16] = createSlot("I", "Kansas", "31-3"); slot[0][30] = createSlot("P", "Georgetown", "27-5"); slot[0][26] = createSlot("N", "Wisconsin", "29-4"); slot[0][22] = createSlot("L", "Vanderbilt", "26-7"); slot[0][20] = createSlot("K", "Clemson", "24-9"); slot[0][24] = createSlot("M", "USC", "21-11"); slot[0][28] = createSlot("O", "Gonzaga", "25-7"); slot[0][18] = createSlot("J", "UNLV", "26-7"); slot[0][19] = createSlot("j", "Kent State", "28-6"); slot[0][29] = createSlot("o", "Davidson", "26-6"); slot[0][25] = createSlot("m", "Kansas St", "20-11"); slot[0][21] = createSlot("k", "Villanova", "20-12"); slot[0][23] = createSlot("l", "Siena", "22-10"); slot[0][27] = createSlot("n", "Cal Fullerton", "24-8"); slot[0][31] = createSlot("p", "UMBC", "24-8"); slot[0][17] = createSlot("i", "Portland St", "23-9"); //South slot[0][32] = createSlot("Q", "Memphis", "33-1"); slot[0][46] = createSlot("X", "Texas", "28-6"); slot[0][42] = createSlot("V", "Stanford", "26-7"); slot[0][38] = createSlot("T", "Pittsburgh", "26-9"); slot[0][36] = createSlot("S", "Michigan St", "25-8"); slot[0][40] = createSlot("U", "Marquette", "24-9"); slot[0][44] = createSlot("W", "Miami (Fla)", "22-10"); slot[0][34] = createSlot("R", "Mississippi St", "25-8"); slot[0][35] = createSlot("r", "Oregon", "18-13"); slot[0][45] = createSlot("w", "Saint Mary's", "25-6"); slot[0][41] = createSlot("u", "Kentucky", "18-12"); slot[0][37] = createSlot("s", "Temple", "21-12"); slot[0][39] = createSlot("t", "Oral Roberts", "24-8"); slot[0][43] = createSlot("v", "Cornell", "22-5"); slot[0][47] = createSlot("x", "Austin Peay", "24-10"); slot[0][33] = createSlot("q", "Tex-Arlington", "21-11"); //West slot[0][48] = createSlot("Y", "UCLA", "31-3"); slot[0][62] = createSlot(";", "Duke", "27-5"); slot[0][58] = createSlot("6", "Xavier", "27-6"); slot[0][54] = createSlot("2", "Connecticut", "24-8"); slot[0][52] = createSlot("0", "Drake", "28-4"); slot[0][56] = createSlot("4", "Purdue", "24-8"); slot[0][60] = createSlot("8", "W Virginia", "24-10"); slot[0][50] = createSlot("Z", "BYU", "27-7"); slot[0][51] = createSlot("z", "Texas A&M", "24-10"); slot[0][61] = createSlot("9", "Arizona", "19-14"); slot[0][57] = createSlot("5", "Baylor", "21-10"); slot[0][53] = createSlot("1", "W Kentucky", "27-6"); slot[0][55] = createSlot("3", "San Diego", "21-13"); slot[0][59] = createSlot("7", "Georgia", "17-16"); slot[0][63] = createSlot(":", "Belmont", "25-8"); slot[0][49] = createSlot("y", "Miss Valley St", "17-15"); slot[1] = new Array(32); slot[1][0] = createSlot(); slot[1][1] = createSlot(); slot[1][2] = createSlot(); slot[1][3] = createSlot(); slot[1][4] = createSlot(); slot[1][5] = createSlot(); slot[1][6] = createSlot(); slot[1][7] = createSlot(); slot[1][8] = createSlot(); slot[1][9] = createSlot(); slot[1][10] = createSlot(); slot[1][11] = createSlot(); slot[1][12] = createSlot(); slot[1][13] = createSlot(); slot[1][14] = createSlot(); slot[1][15] = createSlot(); slot[1][16] = createSlot(); slot[1][17] = createSlot(); slot[1][18] = createSlot(); slot[1][19] = createSlot(); slot[1][20] = createSlot(); slot[1][21] = createSlot(); slot[1][22] = createSlot(); slot[1][23] = createSlot(); slot[1][24] = createSlot(); slot[1][25] = createSlot(); slot[1][26] = createSlot(); slot[1][27] = createSlot(); slot[1][28] = createSlot(); slot[1][29] = createSlot(); slot[1][30] = createSlot(); slot[1][31] = createSlot(); slot[2] = new Array(16); slot[2][0] = createSlot(); slot[2][1] = createSlot(); slot[2][2] = createSlot(); slot[2][3] = createSlot(); slot[2][4] = createSlot(); slot[2][5] = createSlot(); slot[2][6] = createSlot(); slot[2][7] = createSlot(); slot[2][8] = createSlot(); slot[2][9] = createSlot(); slot[2][10] = createSlot(); slot[2][11] = createSlot(); slot[2][12] = createSlot(); slot[2][13] = createSlot(); slot[2][14] = createSlot(); slot[2][15] = createSlot(); slot[3] = new Array(8); slot[3][0] = createSlot(); slot[3][1] = createSlot(); slot[3][2] = createSlot(); slot[3][3] = createSlot(); slot[3][4] = createSlot(); slot[3][5] = createSlot(); slot[3][6] = createSlot(); slot[3][7] = createSlot(); slot[4] = new Array(4); slot[4][0] = createSlot(); slot[4][1] = createSlot(); slot[4][2] = createSlot(); slot[4][3] = createSlot(); slot[5] = new Array(2); slot[5][0] = createSlot(); slot[5][1] = createSlot(); slot[6] = new Array(1); slot[6][0] = createSlot(); var team = new Array(64); team["A"] = slot[0][0]; team["a"] = slot[0][1]; team["B"] = slot[0][2]; team["b"] = slot[0][3]; team["C"] = slot[0][4]; team["c"] = slot[0][5]; team["D"] = slot[0][6]; team["d"] = slot[0][7]; team["E"] = slot[0][8]; team["e"] = slot[0][9]; team["F"] = slot[0][10]; team["f"] = slot[0][11]; team["G"] = slot[0][12]; team["g"] = slot[0][13]; team["H"] = slot[0][14]; team["h"] = slot[0][15]; team["I"] = slot[0][16]; team["i"] = slot[0][17]; team["J"] = slot[0][18]; team["j"] = slot[0][19]; team["K"] = slot[0][20]; team["k"] = slot[0][21]; team["L"] = slot[0][22]; team["l"] = slot[0][23]; team["M"] = slot[0][24]; team["m"] = slot[0][25]; team["N"] = slot[0][26]; team["n"] = slot[0][27]; team["O"] = slot[0][28]; team["o"] = slot[0][29]; team["P"] = slot[0][30]; team["p"] = slot[0][31]; team["Q"] = slot[0][32]; team["q"] = slot[0][33]; team["R"] = slot[0][34]; team["r"] = slot[0][35]; team["S"] = slot[0][36]; team["s"] = slot[0][37]; team["T"] = slot[0][38]; team["t"] = slot[0][39]; team["U"] = slot[0][40]; team["u"] = slot[0][41]; team["V"] = slot[0][42]; team["v"] = slot[0][43]; team["W"] = slot[0][44]; team["w"] = slot[0][45]; team["X"] = slot[0][46]; team["x"] = slot[0][47]; team["Y"] = slot[0][48]; team["y"] = slot[0][49]; team["Z"] = slot[0][50]; team["z"] = slot[0][51]; team["0"] = slot[0][52]; team["1"] = slot[0][53]; team["L"] = slot[0][22]; team["l"] = slot[0][23]; team["M"] = slot[0][24]; team["m"] = slot[0][25]; team["N"] = slot[0][26]; team["n"] = slot[0][27]; team["O"] = slot[0][28]; team["o"] = slot[0][29]; team["P"] = slot[0][30]; team["p"] = slot[0][31]; team["Q"] = slot[0][32]; team["q"] = slot[0][33]; team["R"] = slot[0][34]; team["r"] = slot[0][35]; team["S"] = slot[0][36]; team["s"] = slot[0][37]; team["T"] = slot[0][38]; team["t"] = slot[0][39]; team["U"] = slot[0][40]; team["u"] = slot[0][41]; team["V"] = slot[0][42]; team["v"] = slot[0][43]; team["W"] = slot[0][44]; team["w"] = slot[0][45]; team["X"] = slot[0][46]; team["x"] = slot[0][47]; team["Y"] = slot[0][48]; team["y"] = slot[0][49]; team["Z"] = slot[0][50]; team["z"] = slot[0][51]; team["0"] = slot[0][52]; team["1"] = slot[0][53]; team["2"] = slot[0][54]; team["3"] = slot[0][55]; team["4"] = slot[0][56]; team["5"] = slot[0][57]; team["6"] = slot[0][58]; team["7"] = slot[0][59]; team["8"] = slot[0][60]; team["9"] = slot[0][61]; team[";"] = slot[0][62]; team[":"] = slot[0][63]; var timestamp = new Date().getTime(); var lastTimestamp = 0; function enterContest() { //get bracket data together var bracket = ""; for (round=1; round <= FINAL_ROUND; round++) { var nTeams = slot[round].length; for (team=0; team < nTeams; team++) { var id = slot[round][team].id; if (id == null || id == "") { alert("Your bracket is not completely filled out.\nThere is a gap in round "+(round+1)+"."); return; } bracket += id; } bracket += ","; } showSubmitWindow(escape(bracket)); } function getMatchupKey(toRound, toSlot) { if (slot[toRound][toSlot].name) { if (toRound == 4) { //final four var id1 = slot[toRound][0].id; var id2 = slot[toRound][1].id; var id3 = slot[toRound][2].id; var id4 = slot[toRound][3].id; if (id1 && id2 && id3 && id4) { return id1+id2+id3+id4+""; } else { return ""; } } else if (toRound == 5) { //final game matchup if (slot[toRound][0].id && slot[toRound][1].id) { //2 teams have been picked for matchup. return slot[toRound][0].id+""+slot[toRound][1].id; } else { //1 or zero teams have been picked. don't display matchup. return ""; } } else if (toRound == 6) { //champion if (slot[toRound][0].id) { //champion has been picked. return slot[toRound][0].id+""; } else { //no champion picked yet. return ""; } } else { //rounds 1-4 (all before the final four) var id = slot[toRound][toSlot].id; var mod = toSlot % 2; var slot1 = 0; var slot2 = 0; if (mod == 0) { slot1 = toSlot; slot2 = Math.round(toSlot) + 1; } else { slot1 = Math.round(toSlot)-1; slot2 = toSlot; } var id1 = slot[toRound][slot1].id; var id2 = slot[toRound][slot2].id; if (id1 && id2) { return id1+id2+""; } else { return ""; } } } else { return ""; } } function advancePick(fromSlot, toSlot, fromRound) { var toRound = fromRound + 1; var origId = -1; if (slot[toRound][toSlot]) { origId = slot[toRound][toSlot].id; if (slot[toRound][toSlot].id == slot[fromRound][fromSlot].id) { //pick didn't change. no need to do anything. return; } } slot[toRound][toSlot] = slot[fromRound][fromSlot]; var tag = document.getElementById("rnd"+toRound+"-"+toSlot); tag.innerHTML = slot[toRound][toSlot].name; tag.setAttribute("title", slot[toRound][toSlot].desc); var key = getMatchupKey(toRound, toSlot); var group = Math.floor(toSlot / 2); var pctTagId = getPctTagId(toRound, group); if (key != "") { getMatchupPct(toRound+"/"+key, pctTagId); } else { var pctTag = document.getElementById(pctTagId); if (fromRound >= 4) { pctTag.innerHTML = "--"; } else { pctTag.innerHTML = ""; } } //check next round checkFutureRounds(fromSlot, fromRound, origId); } function getPctTagId(toRound, group) { if (toRound <= 3) { return "pct"+toRound+"-"+group; } else { return "pct"+toRound; } } function checkFutureRounds(fromSlot, fromRound, origId) { var nextSlot = fromSlot; for (i=fromRound; i <= FINAL_ROUND; i++) { var nextRound = i + 1; nextSlot = Math.floor(nextSlot / 2); if (slot[nextRound] && slot[nextRound][nextSlot]) { if (slot[nextRound][nextSlot].id == origId) { slot[nextRound][nextSlot] = createSlot(); var slotTag = document.getElementById("rnd"+nextRound+"-"+nextSlot); slotTag.innerHTML = ""; var nextGroup = Math.floor(nextSlot / 2); if (nextRound < 4) { var pctTag = document.getElementById("pct"+nextRound+"-"+nextGroup); pctTag.innerHTML = ""; } else { var pctTag = document.getElementById("pct"+nextRound); pctTag.innerHTML = "--"; } } } } } var timestamp = new Date().getTime(); var lastTimestamp = 0; function getBracket(url) { new Bracket(url); } function Bracket(url) { this.serverSidePage = url; this.init(); } Bracket.prototype.init = function() { var ref = this; var loader = new net.ContentLoader(this.serverSidePage, finishRequest, notFound, "GET", ""); function finishRequest() { var rawData=this.req.responseText; var data = eval('(' + this.req.responseText + ')'); var title = data.bracket.name; var bid = data.bracket.id; var watchLink = "     [+watch]"; document.getElementById("bracketTitle").innerHTML = title + watchLink; var points = 0; var upsetPoints = 0; showBrackets(data); } function notFound() { document.getElementById("bracketTitle").innerHTML = "Bracket Not Found"; document.getElementById("statusMessage").style.visibility = "visible"; } } function getPoints(url) { new Points(url); } function Points(url) { this.serverSidePage = url; this.init(); } Points.prototype.init = function() { var ref = this; var loader = new net.ContentLoader(this.serverSidePage, finishRequest, notFound, "GET", ""); function finishRequest() { var rawData=this.req.responseText; var data = eval('(' + this.req.responseText + ')'); } function notFound() { } }