您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
library for GLB
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/473628/1239278/pbr%20Game%20Scout%20uilib%20-%20NEWGEN.js
// ==UserScript== // @name pbr Game Scout uilib - NEWGEN // @namespace pbr // @include https://glb.warriorgeneral.com/* // @copyright 2008, pabst / 2023, nikkoum // @license (CC) Attribution Share Alike; http://creativecommons.org/licenses/by-sa/3.0/ // @version 23.22.08 // ==/UserScript== function getEmptyTables() { var tableParent = document.createElement('span'); var bar = document.createElement('span'); bar.setAttribute("id","gsbar"); var t1 = document.createElement('div'); //t1.appendChild(document.createTextNode("Game Scout: ")); //t1.setAttribute("class","medium_head"); var b1 = document.createElement('a'); b1.appendChild(document.createTextNode("Total")); b1.setAttribute("class","medium_head");//subhead_link_bar"); b1.setAttribute("id","gsbar0"); b1.addEventListener('click', function() { changeVisibility(0,2); }, true); var b2 = document.createElement('span'); b2.appendChild(document.createTextNode(" | ")); var b3 = document.createElement('a'); b3.appendChild(document.createTextNode("Rushing")); //b3.setAttribute("class","subhead_link_bar"); b3.setAttribute("id","gsbar3"); b3.addEventListener('click', function() { changeVisibility(3,5); }, true); var b4 = document.createElement('span'); b4.appendChild(document.createTextNode(" | ")); var b5 = document.createElement('a'); b5.appendChild(document.createTextNode("Passing")); //b5.setAttribute("class","subhead_link_bar"); b5.setAttribute("id","gsbar6"); b5.addEventListener('click', function() { changeVisibility(6,10); }, true); var b6 = document.createElement('span'); b6.appendChild(document.createTextNode(" | ")); var b7 = document.createElement('a'); b7.appendChild(document.createTextNode("Special Teams")); //b7.setAttribute("class","subhead_link_bar"); b7.setAttribute("id","gsbar11"); b7.addEventListener('click', function() { changeVisibility(11,15); }, true); var b8 = document.createElement('span'); b8.appendChild(document.createTextNode(" | ")); var b9 = document.createElement('a'); b9.appendChild(document.createTextNode("Defense")); //b9.setAttribute("class","subhead_link_bar"); b9.setAttribute("id","gsbar16"); b9.addEventListener('click', function() { changeVisibility(16,17); }, true); var b10 = document.createElement('span'); b10.appendChild(document.createTextNode(" | ")); var b11 = document.createElement('a'); b11.appendChild(document.createTextNode("Everything")); //b11.setAttribute("class","subhead_link_bar"); b11.setAttribute("id","gsbar-1"); b11.addEventListener('click', function() { changeVisibility(-1); }, true); bar.appendChild(t1); bar.appendChild(b1); bar.appendChild(b2); bar.appendChild(b3); bar.appendChild(b4); bar.appendChild(b5); bar.appendChild(b6); bar.appendChild(b7); bar.appendChild(b8); bar.appendChild(b9); bar.appendChild(b10); bar.appendChild(b11); tableParent.appendChild(bar); var arr = new Array(); arr.push(getQuarterTable(0,5)); arr.push(getQuarterTable(1,5)); arr.push(getPenaltyTable(0,[])); arr.push(getPenaltyTable(1,[])); arr.push(getDriveTable(0,[])); arr.push(getDriveTable(1,[])); arr.push(getRushingTable(0)); arr.push(getRushingTable(1)); arr.push(getRushingByDownTable(0)); arr.push(getRushingByDownTable(1)); arr.push(getRushingTargetTable(0,[])); arr.push(getRushingTargetTable(1,[])); arr.push(getPassingTable(0)); arr.push(getPassingTable(1)); arr.push(getPassingDistanceTable(0)); arr.push(getPassingDistanceTable(1)); arr.push(getPassingByDownTable(0)); arr.push(getPassingByDownTable(1)); arr.push(getQuarterbacksTable(0,[])); arr.push(getQuarterbacksTable(1,[])); arr.push(getPassingTargetTable(0,[])); arr.push(getPassingTargetTable(1,[])); arr.push(getKickingTable(0,[])); arr.push(getKickingTable(1,[])); arr.push(getKickReturnTable(0,[])); arr.push(getKickReturnTable(1,[])); arr.push(getPuntingTable(0,[])); arr.push(getPuntingTable(1,[])); arr.push(getPuntReturnTable(0,[])); arr.push(getPuntReturnTable(1,[])); arr.push(getSTDefenseTable(0,[])); arr.push(getSTDefenseTable(1,[])); arr.push(getRushDefenseTable(0,[])); arr.push(getRushDefenseTable(1,[])); arr.push(getPassDefenseTable(0,[])); arr.push(getPassDefenseTable(1,[])); var tables = document.createElement("table"); tables.setAttribute("id","gamescout"); tables.setAttribute("style","visibility: hidden; display: none;"); for (var i=0; i<arr.length/2; i++) { var qrow = document.createElement("tr"); qrow.setAttribute('id','row'+i); qrow.setAttribute('valign','top'); var qd1 = document.createElement("td"); var qd2 = document.createElement("td"); qd1.appendChild(arr[i*2]); qd2.appendChild(arr[i*2+1]); qrow.appendChild(qd1); qrow.appendChild(qd2); tables.appendChild(qrow); } tableParent.appendChild(tables); return tableParent; } function addRowToTable(t,data) { var tr = document.createElement("tr"); tr.setAttribute("class","alternating_color"+((t.rows.length%2)+1)+" pbp_pbr_title_row"); for (var i=0; i<data.length; i++) { var td = document.createElement("td"); if (i != 0) td.setAttribute("align","center"); td.innerHTML = data[i]+""; tr.appendChild(td); } t.appendChild(tr); } function getQuarterTable(index, length) { var title = "Quarter"; var columns = ["","Total","1st","2nd","3rd","4th","OT"]; var rows = ["Time of Poss.", "Plays", "Yards", "Yards / Play", "Penalties", " ", "Rush Att","Rush Yards","Yards / Att","Success Rate", " ", "Pass Comp","Pass Att", "Comp. Pct","Pass Yards", "Hurries"]; var c; if (length == 1) c = new Array(length+1); else c = new Array(length+2); for (var i=0; i<c.length; i++) { c[i] = columns[i]; } return getTable(title,rows,c,index,"q"); } function getRushingTable(index) { var title = "Team Rushing"; var columns = ["","Far Left","Left","Middle","Right","Far Right"]; var rows = ["Attempts","Yards","Yards / Att","Success Rate","Line Yards"]; return getTable(title,rows,columns,index,"r"); } function getPassingTable(index) { var title = "Team Passing"; var columns = ["","Left","Middle","Right"]; var rows = ["Completions","Attempts","Comp. Pct","Yards"]; return getTable(title,rows, columns,index,"p"); } function getRushingByDownTable(index) { var title = "Rushing By Down"; var columns = ["","First","Second","Third","Fourth"]; var rows = ["Attempts","Yards","Yards / Att","Success Rate","Line Yards","First Downs"]; return getTable(title,rows,columns,index,"rbd"); } function getPassingByDownTable(index) { var title = "Passing By Down"; var columns = ["","First","Second","Third","Fourth"]; var rows = ["Completions","Attempts","Comp. Pct","Yards","First Downs", "Hurries"]; return getTable(title,rows,columns,index,"pbd"); } function getPassingDistanceTable(index) { var title = "Passing Distance"; var columns = ["","Left","Middle","Right","Total"]; var rows = ["Long","Medium","Short","Backfield","Total"]; return getTable(title,rows,columns,index,"pd"); } function getQuarterbacksTable(index, rows) { var title = "Quarterbacks"; var columns = ["Name","Att","Cmp","Yards","TD","Int","Drop","PD","Bad","Hur"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"tq",true); } function getPassingTargetTable(index, rows) { var title = "Receivers"; var columns = ["Name","Att","Cmp","Drop","PD","KL","Pct.","Yards","Lng","FD","BrTk"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"tp",true); } function getRushingTargetTable(index, rows) { var title = "Runners"; var columns = ["Name","Att","Yards","YPC","Lng","Succ","FD","BrTk"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"tr",true); } function getRushDefenseTable(index, rows) { var columns = ["Name","Tkl","Miss","YPT","Stop","Dft"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable("Run Defenders",r,columns,index,"defr",true); } function getPassDefenseTable(index, rows) { // var columns = ["Name","Tkl","Miss","YPT","Stop","Defeat","PD"]; var columns = ["Name","Tkl","Miss","YPT","Stop","Dft","Int","PD","KL"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable("Pass Defenders",r,columns,index,"defp",true); } function getSTDefenseTable(index, rows) { var title = " Defenders"; var columns = ["Name","Tackles","Missed","YPT"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"defst",true); } function getKickingTable(index, rows) { var title = "Kicking"; var columns = ["Name","Kickoffs","Yards","Avg","Net","Lng","TB","In 20"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"k",true); } function getPuntingTable(index, rows) { var title = "Punting"; var columns = ["Name","Punts","Yards","Avg","Net","Lng","TB","In 20"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"pu",true); } function getPuntReturnTable(index, rows) { var title = "Punt Returns"; var columns = ["Name","Returns","Yards","Avg","Yrd%","Lng","TD","BrTk"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"pr",true); } function getKickReturnTable(index, rows) { var title = "Kick Returns"; var columns = ["Name","Returns","Yards","Avg","Yrd%","Lng","TD","BrTk"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"kr",true); } function getPenaltyTable(index, rows) { var title = "Penalties"; var columns = ["Name","Total", "False Start","Encroachment"]; var r = rows; if (rows == null) r = []; else if (rows.length == 0) r = []; return getTable(title,r,columns,index,"pn",true); } function getDriveTable(idx,arr) { var columns = ["Start Time","Time Poss","Drive Began", "# of Plays","Net Yards","Result"]; var rows = []; for (const d of arr) { rows.push(d.quarter); } return getTable("Drives",rows,columns,idx,"dr"); } function getTable(title, rows, columns, index, prefix, sortable) { var t = document.createElement("table"); t.setAttribute("border","1"); t.setAttribute("cellspacing","0"); t.setAttribute("style","width: 485px;visibility: visible;"); t.setAttribute('id','scout-'+prefix+""+index+'-table'); var tr = document.createElement("tr"); tr.setAttribute('class','nonalternating_color pbp_pbr_title'); var td = document.createElement("td"); td.setAttribute('id','team'+index+""+prefix); td.setAttribute('colspan',columns.length+1); td.setAttribute('align','center'); td.appendChild(document.createTextNode(title)); tr.appendChild(td); t.appendChild(tr); var tr2 = document.createElement("tr"); tr2.setAttribute('class','nonalternating_color2 pbp_pbr_title'); var first = document.createElement("td"); first.setAttribute("align","left"); first.appendChild(document.createTextNode(columns[0])); tr2.appendChild(first); if (sortable == true) { tr2.addEventListener("click",sortEvent,true); } for (var x=1; x<columns.length; x++) { var colname = document.createElement("td"); var colname = document.createElement("td"); colname.setAttribute('align','center'); var tn = document.createTextNode(columns[x]); colname.appendChild(tn); tr2.appendChild(colname); } t.appendChild(tr2); for (var y=0; y<rows.length; y++) { var tr3 = document.createElement("tr"); tr3.setAttribute('class','alternating_color'+(y%2+1)+' pbp_pbr_title_row'); var rowname = document.createElement("td"); rowname.appendChild(document.createTextNode(rows[y])); tr3.appendChild(rowname); for (var x=1; x<columns.length; x++) { var stat = document.createElement("td"); stat.setAttribute('id',prefix+'-'+(x-1)+'-'+y+'-'+index); stat.setAttribute('align','center'); stat.appendChild(document.createTextNode('('+(x-1)+','+y+')')); tr3.appendChild(stat); } t.appendChild(tr3); } return t; } function sortEvent(evt) { sortTable(evt.target.parentNode.parentNode,evt.target.cellIndex); return true; } function sortTable(table, column) { var rows = table.rows; var viz = table.getAttribute("style"); table.setAttribute("style","visibility: hidden;"); for (var i=2; i<rows.length-1; i++) { var idx = i; for (var j=i; j<rows.length-1; j++) { var lrow = rows.item(idx); var lcell = lrow.cells.item(column); var rrow = rows.item(j+1); var rcell = rrow.cells.item(column); var left = parseFloat(lcell.innerHTML); var right = parseFloat(rcell.innerHTML); if (isNaN(left) || isNaN(right)) { left = lcell.innerHTML.toLowerCase(); right = rcell.innerHTML.toLowerCase(); if (left > right) { idx = j+1; } } else { if (left < right) { idx = j+1; } } } if (idx != -1) { var r = table.rows.item(idx); table.deleteRow(idx); var newRow = table.insertRow(i); newRow.setAttribute("class","alternating_color"+(i%2+1)+" pbp_pbr_title_row"); for (var x=0; x<r.cells.length; x++) { var cell = newRow.insertCell(x); cell.setAttribute("align",r.cells.item(x).getAttribute("align")); cell.setAttribute("id",r.cells.item(x).getAttribute("id")); cell.innerHTML = r.cells.item(x).innerHTML; } } } if (rows.length != 2) { var lastRow = table.rows.item(rows.length-1); lastRow.setAttribute("class","alternating_color"+((rows.length-1)%2+1)+" pbp_pbr_title_row"); } table.setAttribute("style",viz); } function changeVisibility(start,end) { var gs=document.getElementById("gamescout"); gs.setAttribute("style","visibility: visible;"); for (var i=-1; i<17; i++) { var t=document.getElementById("gsbar"+i); if (t != null) { t.setAttribute("style","visibility: visible;"); t.setAttribute("class","");//"subhead_link_bar"); } } var t=document.getElementById("gsbar"+start); t.setAttribute("class","medium_head"); if (start == "-1") { start = 0; end = 17; } var idx=0; var t=document.getElementById("row"+idx); while (t != null) { t.setAttribute("style","visibility: collapse;"); idx++; t=document.getElementById("row"+idx); } for (var idx=start; idx<=end; idx++) { var t = document.getElementById("row"+idx); t.setAttribute("style","visibility: visible;"); } /* for (var idx=0; true; idx++) { var t = document.getElementById("row"+idx); if (t == null) break; else t.setAttribute("style","visibility: visible;"); } */ } function fillTables(stats) { for (var i=0; i<2; i++) { //quarter table assignment document.getElementById('team'+i+'q').innerHTML = stats.team_name[i] +" Totals By Quarter"; var q=quarter; if (quarter != 1) { q++; } q=6; //fix me for (var x=0; x<q; x++) { var idx = i*6; var secs = "" + (stats.team_possession[x+idx] % 60); while (secs.length < 2) secs = "0" + secs; document.getElementById("q-"+x+"-0-"+i).innerHTML = Math.floor(stats.team_possession[x+idx] / 60) + ":" + secs; document.getElementById("q-"+x+"-4-"+i).innerHTML = stats.team_penalty[x+idx]; } for (var x=0; x<q; x++) { var idx = i*7; var p = stats.team_quarter_totals[x][0+idx] + stats.team_quarter_totals[x][4+idx]; document.getElementById("q-"+x+"-1-"+i).innerHTML = p; var y = stats.team_quarter_totals[x][1+idx] + stats.team_quarter_totals[x][5+idx]; document.getElementById("q-"+x+"-2-"+i).innerHTML = y.toFixed(0); var num = (y/p).toFixed(2); if (isNaN(num) == true) { num = 0.00; } document.getElementById("q-"+x+"-3-"+i).innerHTML = num; document.getElementById("q-"+x+"-5-"+i).innerHTML = ""; document.getElementById("q-"+x+"-6-"+i).innerHTML = stats.team_quarter_totals[x][0+idx]; document.getElementById("q-"+x+"-7-"+i).innerHTML = stats.team_quarter_totals[x][1+idx].toFixed(0); var num = (stats.team_quarter_totals[x][1+idx] / stats.team_quarter_totals[x][0+idx]).toFixed(2); if (isNaN(num) == true) { num = 0.00; } document.getElementById("q-"+x+"-8-"+i).innerHTML = num; num = (100*stats.team_quarter_totals[x][2+idx] / stats.team_quarter_totals[x][0+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("q-"+x+"-9-"+i).innerHTML = num + "%"; document.getElementById("q-"+x+"-10-"+i).innerHTML = ""; document.getElementById("q-"+x+"-11-"+i).innerHTML = stats.team_quarter_totals[x][3+idx]; document.getElementById("q-"+x+"-12-"+i).innerHTML = stats.team_quarter_totals[x][4+idx]; num = (100*stats.team_quarter_totals[x][3+idx] / stats.team_quarter_totals[x][4+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("q-"+x+"-13-"+i).innerHTML = num + "%"; document.getElementById("q-"+x+"-14-"+i).innerHTML = stats.team_quarter_totals[x][5+idx].toFixed(0); num = (100*stats.team_quarter_totals[x][6+idx] / stats.team_quarter_totals[x][4+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("q-"+x+"-15-"+i).innerHTML = num + "%"; } //end quarter table assignment //rushing table assignment document.getElementById('team'+i+'r').innerHTML = stats.team_name[i] +" Rushing Direction"; for (x=0; x<5; x++) { var idx = i*5; document.getElementById("r-"+x+"-0-"+i).innerHTML = stats.team_att[x+idx]; document.getElementById("r-"+x+"-1-"+i).innerHTML = stats.team_yards[x+idx].toFixed(0); num = (stats.team_yards[x+idx] / stats.team_att[x+idx]).toFixed(2); if (isNaN(num) == true) { num = 0.00; } document.getElementById("r-"+x+"-2-"+i).innerHTML = num; num = (100*stats.team_success[x+idx] / stats.team_att[x+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("r-"+x+"-3-"+i).innerHTML = num + "%"; num = (stats.team_lyards[x+idx] / stats.team_att[x+idx]).toFixed(2); if (isNaN(num) == true) { num = 0; } document.getElementById("r-"+x+"-4-"+i).innerHTML = num; //document.getElementById("r-"+x+"-4-"+i).innerHTML = stats.team_firsts[x+idx];; } //end rushing table assignment //rushing by down table assignment document.getElementById('team'+i+'rbd').innerHTML = stats.team_name[i] +" Rushing By Down"; for (x=0; x<4; x++) { var idx = i*4; document.getElementById("rbd-"+x+"-0-"+i).innerHTML = stats.team_att_down[x+idx]; document.getElementById("rbd-"+x+"-1-"+i).innerHTML = stats.team_yards_down[x+idx].toFixed(0); num = (stats.team_yards_down[x+idx] / stats.team_att_down[x+idx]).toFixed(2); if (isNaN(num) == true) { num = 0.00; } document.getElementById("rbd-"+x+"-2-"+i).innerHTML = num; num = (100*stats.team_success_down[x+idx] / stats.team_att_down[x+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("rbd-"+x+"-3-"+i).innerHTML = num + "%"; num = (stats.team_lyards_down[x+idx] / stats.team_att_down[x+idx]).toFixed(2); if (isNaN(num) == true) { num = 0.00; } document.getElementById("rbd-"+x+"-4-"+i).innerHTML = num; document.getElementById("rbd-"+x+"-5-"+i).innerHTML = stats.team_firsts_down[x+idx]; } //end rushing by down table assignment //passing table assignment document.getElementById('team'+i+'p').innerHTML = stats.team_name[i] +" Passing Direction"; for (x=0; x<3; x++) { var idx = i*3; document.getElementById("p-"+x+"-0-"+i).innerHTML = stats.team_pass_comp[x+idx]; document.getElementById("p-"+x+"-1-"+i).innerHTML = stats.team_pass_att[x+idx]; num = (100*stats.team_pass_comp[x+idx] / stats.team_pass_att[x+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("p-"+x+"-2-"+i).innerHTML = num + "%"; document.getElementById("p-"+x+"-3-"+i).innerHTML = stats.team_pass_yards[x+idx].toFixed(0); } //end passing table assignment //passing by down table assignment document.getElementById('team'+i+'pbd').innerHTML = stats.team_name[i] +" Passing By Down"; for (x=0; x<4; x++) { var idx = i*4; document.getElementById("pbd-"+x+"-0-"+i).innerHTML = stats.team_pass_comp_down[x+idx]; document.getElementById("pbd-"+x+"-1-"+i).innerHTML = stats.team_pass_att_down[x+idx]; num = (100*stats.team_pass_comp_down[x+idx] / stats.team_pass_att_down[x+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("pbd-"+x+"-2-"+i).innerHTML = num + "%"; document.getElementById("pbd-"+x+"-3-"+i).innerHTML = stats.team_pass_yards_down[x+idx].toFixed(0); document.getElementById("pbd-"+x+"-4-"+i).innerHTML = stats.team_pass_firsts_down[x+idx]; num = (100*stats.team_pass_pressure_down[x+idx] / stats.team_pass_att_down[x+idx]).toFixed(0); if (isNaN(num) == true) { num = 0; } document.getElementById("pbd-"+x+"-5-"+i).innerHTML = num + "%"; } //end passing by down table assignment //distance table assignment document.getElementById("team"+i+"pd").innerHTML = stats.team_name[i] +" Passing Distance"; for (x=0; x<3; x++) { var idx = x*3 + i*9; document.getElementById("pd-"+x+"-0-"+i).innerHTML = stats.distanceStats[0][idx]+" for "+stats.distanceStats[0][idx+2].toFixed(0); document.getElementById("pd-"+x+"-1-"+i).innerHTML = stats.distanceStats[1][idx]+" for "+stats.distanceStats[1][idx+2].toFixed(0); document.getElementById("pd-"+x+"-2-"+i).innerHTML = stats.distanceStats[2][idx]+" for "+stats.distanceStats[2][idx+2].toFixed(0); document.getElementById("pd-"+x+"-3-"+i).innerHTML = stats.distanceStats[3][idx]+" for "+stats.distanceStats[3][idx+2].toFixed(0); } for (var x=0; x<4; x++) { var idx = i*9; var n = (stats.distanceStats[x][idx] + stats.distanceStats[x][idx+3] +stats.distanceStats[x][idx+6]) + " for " + (stats.distanceStats[x][idx+2]+stats.distanceStats[x][idx+5]+stats.distanceStats[x][idx+8]).toFixed(0); document.getElementById("pd-3-"+x+"-"+i).innerHTML = n; } for (var x=0; x<3; x++) { var idx = i*9; var n = (stats.distanceStats[0][x*3+idx] + stats.distanceStats[1][x*3+idx] + stats.distanceStats[2][x*3+idx] + stats.distanceStats[3][x*3+idx]) + " for " + (stats.distanceStats[0][x*3+idx+2] + stats.distanceStats[1][x*3+idx+2] + stats.distanceStats[2][x*3+idx+2] + stats.distanceStats[3][x*3+idx+2]).toFixed(0); document.getElementById("pd-"+x+"-4-"+i).innerHTML = n; } document.getElementById("pd-3-4-"+i).innerHTML = ""; //distance table assignment document.getElementById("team"+i+"tq").innerHTML = stats.team_name[i] +" Passers"; if (stats.playerPassingName[i] != null) { var t = document.getElementById("scout-tq"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerPassingName[i].length; x++) { var data = []; data.push(stats.playerPassingName[i][x]); data.push(stats.playerPassingStats[i][x][1]); data.push(stats.playerPassingStats[i][x][0]); data.push(stats.playerPassingStats[i][x][2].toFixed(0)); data.push(stats.playerPassingStats[i][x][3]); data.push(stats.playerPassingStats[i][x][4]); data.push(stats.playerPassingStats[i][x][5]); data.push(stats.playerPassingStats[i][x][6]); data.push(stats.playerPassingStats[i][x][7]); data.push(stats.playerPassingStats[i][x][8]); addRowToTable(t,data); } sortTable(t,3); } document.getElementById("team"+i+"tr").innerHTML = stats.team_name[i] +" Runners"; if (stats.playerRushingName[i] != null) { var t = document.getElementById("scout-tr"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerRushingName[i].length; x++) { var data = []; data.push(stats.playerRushingName[i][x]); data.push(stats.playerRushingStats[i][x][0]); data.push(stats.playerRushingStats[i][x][1].toFixed(0)); num = (stats.playerRushingStats[i][x][1] / stats.playerRushingStats[i][x][0]).toFixed(2); if (isNaN(num) == true) { num = 0.00; } data.push(num); data.push(stats.playerRushingStats[i][x][2].toFixed(0)); num = (100*stats.playerRushingStats[i][x][3] / stats.playerRushingStats[i][x][0]).toFixed(0); if (isNaN(num) == true) { num = 0; } data.push(num + "%"); data.push(stats.playerRushingStats[i][x][4]); data.push(stats.playerRushingStats[i][x][5]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"tp").innerHTML = stats.team_name[i] +" Receivers"; if (stats.playerReceivingName[i] != null) { var t = document.getElementById("scout-tp"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerReceivingName[i].length; x++) { var data = []; data.push(stats.playerReceivingName[i][x]); data.push(stats.playerReceivingStats[i][x][1]); data.push(stats.playerReceivingStats[i][x][0]); data.push(stats.playerReceivingStats[i][x][2].toFixed(0)); data.push(stats.playerReceivingStats[i][x][6]); data.push(stats.playerReceivingStats[i][x][9]); num = (100*stats.playerReceivingStats[i][x][0] / stats.playerReceivingStats[i][x][1]).toFixed(0); if (isNaN(num) == true) { num = 0; } data.push(num + "%"); data.push(stats.playerReceivingStats[i][x][3].toFixed(0)); data.push(stats.playerReceivingStats[i][x][4].toFixed(0)); data.push(stats.playerReceivingStats[i][x][7]); data.push(stats.playerReceivingStats[i][x][8]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"k").innerHTML = stats.team_name[i] +" Kickers"; if (stats.playerKickingName[i] != null) { var t = document.getElementById("scout-k"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerKickingName[i].length; x++) { var data = []; data.push(stats.playerKickingName[i][x]); data.push(stats.playerKickingStats[i][x][0]); data.push(stats.playerKickingStats[i][x][1].toFixed(0)); num = (stats.playerKickingStats[i][x][1] / stats.playerKickingStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); num = (stats.playerKickingStats[i][x][5] / stats.playerKickingStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); data.push(stats.playerKickingStats[i][x][2].toFixed(0)); data.push(stats.playerKickingStats[i][x][3]); data.push(stats.playerKickingStats[i][x][4]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"pu").innerHTML = stats.team_name[i] +" Punters"; if (stats.playerPuntingName[i] != null) { var t = document.getElementById("scout-pu"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerPuntingName[i].length; x++) { var data = []; data.push(stats.playerPuntingName[i][x]); data.push(stats.playerPuntingStats[i][x][0]); data.push(stats.playerPuntingStats[i][x][1].toFixed(0)); num = (stats.playerPuntingStats[i][x][1] / stats.playerPuntingStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); num = (stats.playerPuntingStats[i][x][5] / stats.playerPuntingStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); data.push(stats.playerPuntingStats[i][x][2].toFixed(0)); data.push(stats.playerPuntingStats[i][x][3]); data.push(stats.playerPuntingStats[i][x][4]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"kr").innerHTML = stats.team_name[i] +" Kick Returns"; if (stats.playerKickReturnName[i] != null) { var t = document.getElementById("scout-kr"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerKickReturnName[i].length; x++) { var data = []; data.push(stats.playerKickReturnName[i][x]); data.push(stats.playerKickReturnStats[i][x][0]); data.push(stats.playerKickReturnStats[i][x][1].toFixed(0)); num = (stats.playerKickReturnStats[i][x][1] / stats.playerKickReturnStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); num = (100*stats.playerKickReturnStats[i][x][5] / stats.playerKickReturnStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); data.push(stats.playerKickReturnStats[i][x][2].toFixed(0)); data.push(stats.playerKickReturnStats[i][x][3]); data.push(stats.playerKickReturnStats[i][x][4]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"pr").innerHTML = stats.team_name[i] +" Punt Returns"; if (stats.playerPuntReturnName[i] != null) { var t = document.getElementById("scout-pr"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerPuntReturnName[i].length; x++) { var data = []; data.push(stats.playerPuntReturnName[i][x]); data.push(stats.playerPuntReturnStats[i][x][0]); data.push(stats.playerPuntReturnStats[i][x][1].toFixed(0)); num = (stats.playerPuntReturnStats[i][x][1] / stats.playerPuntReturnStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); num = (100*stats.playerPuntReturnStats[i][x][5] / stats.playerPuntReturnStats[i][x][0]).toFixed(1); if (isNaN(num) == true) { num = 0; } data.push(num); data.push(stats.playerPuntReturnStats[i][x][2].toFixed(0)); data.push(stats.playerPuntReturnStats[i][x][3]); data.push(stats.playerPuntReturnStats[i][x][4]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"pn").innerHTML = stats.team_name[i] +" Penalties"; if (stats.playerPuntReturnName[i] != null) { var t = document.getElementById("scout-pn"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerPenaltyName[i].length; x++) { var data = []; data.push(stats.playerPenaltyName[i][x]); num = arraySum(stats.playerPenaltyStats[i][x],0); if (isNaN(num) == true) { num = 0; } data.push(num); data.push(stats.playerPenaltyStats[i][x][0]); //data.push(stats.playerPenaltyStats[i][x][1]); data.push(stats.playerPenaltyStats[i][x][2]); addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"defr").innerHTML = stats.team_name[i] +" Run Defenders"; if (stats.playerDefensiveRushName[i] != null) { var t = document.getElementById("scout-defr"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerDefensiveRushName[i].length; x++) { var data = []; data.push(stats.playerDefensiveRushName[i][x]); data.push(stats.playerDefensiveRushStats[i][x][0]); data.push(stats.playerDefensiveRushStats[i][x][1]); var num = (stats.playerDefensiveRushStats[i][x][2] / stats.playerDefensiveRushStats[i][x][0]).toFixed(2); if (isNaN(num) == true) num = 0.00; data.push(num); data.push(stats.playerDefensiveRushStats[i][x][3]); data.push(stats.playerDefensiveRushStats[i][x][4]); //data.push(stats.playerDefensiveRushStats[i][x][5]);//FF if (arraySum(data,1) == 0) continue; addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"defp").innerHTML = stats.team_name[i] +" Pass Defenders"; if (stats.playerDefensivePassName[i] != null) { var t = document.getElementById("scout-defp"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerDefensivePassName[i].length; x++) { var data = []; data.push(stats.playerDefensivePassName[i][x]); data.push(stats.playerDefensivePassStats[i][x][0]); data.push(stats.playerDefensivePassStats[i][x][1]); var num = (stats.playerDefensivePassStats[i][x][2] / stats.playerDefensivePassStats[i][x][0]).toFixed(2); if (isNaN(num) == true) num = 0.00; data.push(num); data.push(stats.playerDefensivePassStats[i][x][3]); data.push(stats.playerDefensivePassStats[i][x][4]); //data.push(stats.playerDefensivePassStats[i][x][5]); //FF data.push(stats.playerDefensivePassStats[i][x][6]); //INT data.push(stats.playerDefensivePassStats[i][x][7]); data.push(stats.playerDefensivePassStats[i][x][8]); if (arraySum(data,1) == 0) continue; addRowToTable(t,data); } sortTable(t,1); } document.getElementById("team"+i+"defst").innerHTML = stats.team_name[i] +" Defenders"; if (stats.playerDefensiveSTName[i] != null) { var t = document.getElementById("scout-defst"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.playerDefensiveSTName[i].length; x++) { var data = []; data.push(stats.playerDefensiveSTName[i][x]); data.push(stats.playerDefensiveSTStats[i][x][0]); data.push(stats.playerDefensiveSTStats[i][x][1]); var num = (stats.playerDefensiveSTStats[i][x][2] / stats.playerDefensiveSTStats[i][x][0]).toFixed(2); if (isNaN(num) == true) num = 0.00; data.push(num); //data.push(stats.playerDefensiveSTStats[i][x][3]); if (arraySum(data,1) == 0) continue; addRowToTable(t,data); } sortTable(t,1); } if ((window.location+"").match("&mode=pbp") != null) { //drive table start document.getElementById('team'+i+"dr").innerHTML = stats.team_name[i] +" Drive Chart (not 100% correct)"; if (stats.driveList[i] != null) { var t = document.getElementById("scout-dr"+i+"-table"); while (t.rows.length > 2) { t.deleteRow(2); } for (x=0; x<stats.driveList[i].length; x++) { var drive = stats.driveList[i][x]; var data = []; data.push(drive.startTime); var start = convertTime(drive.startTime); var end = convertTime(drive.endTime); if (start < end) start += 900; var time = start - end; var timestr = time%60 + ""; while (timestr.length < 2) timestr = "0"+timestr; timestr = parseInt(time/60)+":"+timestr; data.push(timestr); data.push(drive.driveBegan); data.push(drive.numOfPlays); data.push(yardDiff(drive.driveBegan,drive.driveEnded)); data.push(drive.result); addRowToTable(t,data); } } //drive table end } else { var t = document.getElementById("scout-dr"+i+"-table"); t.setAttribute("style","visibility: hidden; display: none;"); } } }