/////////////////// // // Layout Constants ////////////////////// var xtl = 10; var yt = 145; var yta = 80; // Control adjust. Relative to yt. var xc2 = 760; var dv = 23; var dg = 3; var dvr = 10; var bcl = "bcl"; var bw = 70; var bwf = 93; var bh = 15; var hda = [75, 75, 75, 75, 65]; var strd = 1; // Start round /////////////////// // // Global Data ////////////////////// var pickTypeOut = 0; var totalPicks = 63; var LastRisk = 0; //constant var isSweet16 = 0; var viewOnly = false; var resultMsk; var phProp; var onServer; var singleClear = true; var blockMouse = false; var whatifmode = false; var whatifreset = false; var QPOK = false; var printMod = 0; var doRisk = true; var warning = ""; var gCount; var resOn = false; /////////////////// // // PseudoClasses // ============= ////////////////////// function PHRiskNode(rd,strt,end) { this.rd = rd; this.strt = strt; this.end = end; this.rVal = 0; this.pc = 0; this.cummL = 0; this.cummH = 0; } function PHGenData() { this.lowPrefTeam = -1; this.lowPrefVal = -1; this.highPrefTeam = -1; this.highPrefVal = -1; } function QuickSet(quick) { pickTypeOut = (quick && DoQuick()); if (quick) Show("isQuick"); else Hide("isQuick"); } /////////////////// // // Utilities ////////////////////// function Random(n) { return Math.floor(Math.random() * n); } function Px(n) { return ""+n+"px"; } function Team2Seed(tm) { tm %= 16; var s = " 116 8 9 512 413 611 314 710 215"; return s.substring(tm*2,tm*2+2); } function ToColor(num) { str = num.toString(16); while (str.length < 6) str = "0" + str; str = "#" + str; return str; } function Digit(str) { if (("0"<=str) && (str<="9")) return true; return false; } function HexDigit(h) { h -= 48; if (h > 9) h -= 7; return h; } function NumFormat(val, prec) { if (prec == 0) return (Math.floor(val)).toString() + "."; val += prec * 0.5; local = (Math.floor(val)).toString()+"."; while (prec < 0.99) { val -= Math.floor(val); val *= 10; prec *= 10; local += (Math.floor(val)).toString(); } return local; } function ValidInt(str) { len = str.length; if (len <= 0) return false; for (pos = 0;pos < len;pos++) { if (!Digit(str.charAt(pos))) return false; } return true; } function ValidReal(str) { len = str.length; st = 1; for (pos=0;pos < len;pos++) { ch = str.substring(pos,pos+1); switch (st) { case 1: if (ch == " ") continue; if (Digit(ch)) { st = 2; continue; } return false; case 2: if (Digit(ch)) continue; if (ch == ".") { st = 3; continue; } return false; case 3: if (Digit(ch)) continue; if (ch == " ") { st = 4; continue; } return false; case 4: if (ch == " ") continue; return false; } } if (st >=2) return true; return false; } ///////////////////////// // Fader Operation // =============== ///////////////////////////// var lockInput = 0; var fadePercent; var fadeButton; var EndFade; var Fader; var fadeInterval=0; var fadeStep; function TeamTick() { if (teams[fadeButton].teamId>=0) teams[fadeButton].SetAlpha(fadePercent); } function TeamTickEnd() { TeamTick(); Refresh(); } function ClearTick() { for (var btn=64+lockCountOut;btn <= 126;btn++) if (teams[btn].teamId>=0) teams[btn].SetAlpha(fadePercent); } function QuickEnd() { ClearTick(); Refresh(); } function ReloadEndClear() { ClearAll(); QuickFunc(); } function FadeBlock(bit) { var ef; Anything(); if (bit & lockInput) return true; if (lockInput > 0) { clearInterval(fadeInterval); if (fadeStep<0) fadePercent = 100; else fadePercent = 0; Fader(); ef = EndFade(); EndFade = null; Fader = null; lockInput = 0; if (ef) ef(); } return false; } function FadeTick() { var ef; if (fadeInterval == null) return; fadePercent -= fadeStep; fadePercent = Math.max(0,fadePercent); fadePercent = Math.min(100,fadePercent); if (fadePercent <= 0 || fadePercent >= 100) { clearInterval(fadeInterval); fadeInterval = null; } if (fadeInterval == null) { ef = EndFade; EndFade = null; Fader = null; lockInput = 0; if (ef) ef(); } else Fader(); } ///////////////////////// // MouseOver // ========= ///////////////////////////// var intervalId = null; var mouseId = -1; function Over(id) { if (blockMouse || lockInput) return; mouseId = id; ClearInt(); intervalId = setInterval(OverCallBack,1000); } function ClearInt() { if (intervalId != null) clearInterval(intervalId); intervalId = null; } function RollOut() { ClearInt(); mouseId = -1; MouseOut(); } function OverCallBack() { ClearInt(); if (mouseId >= 0) MouseOver(mouseId); } function MouseOut() { Hide("mm"); Hide("md"); mouseId = -1; } function MouseOver(id) { var fg = document.getElementById("mm"); var t = teams[id].teamId; if (t < 0) return; var mk = teams[t].mouseKey; if (mouseArr[mk] != undefined) { var s = Logo(mk); s += '
' + nm + "
\n"; return rs; } function RegionNames() { xo = hda[0] + hda[1] + Math.round(hda[2] / 2); xa = xtl + xo; xb = xtl + xc2 - xo - 30; yy = yt + dv * 8 + dg * 3 - 10; rn = Region(tlr, xa, yy) + Region(trr, xb, yy) ; yy += dv * 16 + dg * 8 + dvr; rn += Region(blr, xa, yy) + Region(brr, xb, yy); return rn; } function StaticLabel(lbl, x, y, b, fw, id, exst) { sty = 'top: ' + y + 'px;left: ' + x + 'px;font-size: ' + fw + 'px;'; if (b & 1) sty += 'font-weight: bold;'; if (b & 2) sty += 'font-style: italic;'; if (exst != null) sty += exst; sl = '' + lbl + "
\n"; return sl; } function StaticLabels() { tnr = 'font-family: "Time New Roman";'; sl = 'The risk factor is shown on the entry form after all picks "; v += "are made. For QuickPicks, a contestant can enter a numeric "; v += "risk factor between 0 and 100 and automatically generate a "; v += "random set of picks that corresponds approximately to the desired risk factor. "; v += "Leave the Desired Risk box blank to have a Risk Factor "; v += "itself randomly generated for which the picks will then be generated.
"; v += "\n"; v += ''+"\n"; v += MakeButton("okay", "Okay", 127, 389, "OkPress()"); v += "\n"; e.innerHTML = v; Show("what"); Show("whatd"); } /////////////////////////// // // Button Pressed and user input // ----------------------------- /////////////////////////////// function WarnOn() { var fg = document.getElementById("ww"); fg.innerHTML = warning; Show("warn"); Show("warnd"); } function Anything() { Hide("warn"); Hide("warnd"); Hide("what"); Hide("whatd"); Hide("tops"); Hide("topsd"); MouseOut(); whatifreset = false; } function TogRes() { SetRes(!resOn); } function SetRes(r) { var e = document.getElementById("roo"); resOn = r; if (resOn) e.innerHTML = "Results off"; else e.innerHTML = "Results on"; Refresh(); } function Refresh() { for (var id = 64;id <= 126;id++) teams[id].Refresh(); } function ClearAll() { for (teamId=64+lockCountOut; teamId<127; teamId++) teams[teamId].ClearPick(); gCount = 63 - lockCountOut; } function OkPress() { Anything(); } function ClearButton() { var whatifr = 0; if (whatifreset) whatifr = 1; Anything(); ClearAll(); if (whatifr){ whatifr = 0; if (whatifmode) EntryResults(g_judge,g_judgeMsk, lockCountOut,63); else EntryResults(g_res,"FFFFFFFFFFFFFFFE", lockCountOut, 63); whatifreset = 0; } else { QuickSet(false); Empty(); whatifreset = 1; } } function printPress() { var a,q; a = GetFormItem("cform","bracketname"); q = "?name="+encodeURIComponent(a); a = GetFormItem("cform","bracketnote"); if (a != "") q += "¬e="+encodeURIComponent(a); if (g_entBy != null) q += "&entby="+g_entBy; if (tieBreak > 0) { a = GetFormItem("cform","finalscore0"); if (a == '') a = 0; q += "&fs0="+a; } if (tieBreak > 1) { a = GetFormItem("cform","finalscore1"); q += "&fs1="+a; } if (pickTypeOut) q += "&qp=1"; var loc=0; var fed=64; var mask=8; var rstr=''; var rmsk=''; var val=0; var msk=0; while (loc < 126) { if (!mask) { rstr += val.toString(16); rmsk += msk.toString(16); val=0; msk=0; mask=8; } var id = teams[fed].teamId; if (id >= 0) { if (teams[loc].teamId == id) { msk |= mask; } if (teams[loc+1].teamId == id) { msk |= mask; val |= mask; } } mask = mask >> 1; fed++; loc += 2; } rstr += val.toString(16); rmsk += msk.toString(16); q += "&res="+rstr+"&msk="+rmsk; var nw = window.open(g_purl+q,'height=900;width=780;'); nw.focus(); }