NewsBot
New Member
- Messages
- 111,281
- Reaction score
- 2,947
Many of us take great pleasure in playing GM, constructing our own roster, and making calls on who stays and who goes. Now, you can construct your very own version of the 2014 Dallas Cowboys with our Interactive Roster Builder. And then delete it and start over again. And again. And again.
Welcome to the 2014 version of The Roster Builder.
With this tool that was developed by our very own Coty Saxman, you can whittle down the roster from 90 to 53 players, build a practice squad, change players' positions, try to get under the cap - and watch your dead money total for 2015 climb sky high.
At this point in the offseason, the roster is in constant flux, but we'll try to keep the Roster Builder up to date as good as we can through the turmoil of the summer roster moves. If you find any factual inaccuracies in the data, as I expect you will, please inform me so that I can correct it.
Finally, I'd like to acknowledge the hard work that Coty Saxman specifically, as well as my fellow writers have put into compiling the data for the roster builder. We hope you enjoy using the tool!
For those of you who've used the Roster Builder before it will have a familiar look and feel to it. For everybody else: Click the button below to launch the program (it will open in a new tab/window). To get started, click on 'Reset Everything' in the new window to load the most up-to-date roster into the tool. Also, you'll probably have to keep this window open for the Roster Builder to work in the other window.
Dallas Cowboys Interactive Roster Builder
"; newHTML += "
2015 Dead Money if Cuttd>
"; newHTML += ""; newDocument.document.getElementById("currentPlayerInfo").innerHTML = newHTML; } else newDocument.document.getElementById("currentPlayerInfo").innerHTML = "Please select a player!"; var capTotal = deadMoney; var nextYearDeadMoney = deadMoneyNextYear; for ( i = 0; i < rosterArray.length; ++i) { capTotal += rosterArray.capHit; } if(irArray.length > 0) { for ( i = 0; i < irArray.length; ++i) { capTotal += irArray.capHit; } } if(pupArray.length > 0) { for ( i = 0; i < pupArray.length; ++i) { capTotal += pupArray.capHit; } } if (cut.length > 0) { for ( i = 0; i < cut.length; ++i) { capTotal += cut.capPen; nextYearDeadMoney += cut.nextYrPen; } } if(psArray.length > 0) { for ( i = 0; i < psArray.length; ++i) { capTotal += psArray.capPen; nextYearDeadMoney += psArray.nextYrPen; } } var color = ""; if (capTotal < 119495156) { color = "green"; } else if (capTotal == 0) { color = "black"; } else color = "red"; newDocument.document.getElementById("capTotalRow").innerHTML = "Current Salary:[COLOR=" + color + "]$" + numberWithCommas(capTotal) + "[/COLOR]Salary Cap:$133,874,928"; newDocument.document.getElementById("deadMoneyNextYearCell").innerHTML = "$" + numberWithCommas(nextYearDeadMoney); newDocument.document.getElementById("defenseCell").innerHTML = "Defense (" + (sArray.length + cbArray.length + olbArray.length + ilbArray.length + deArray.length + dtArray.length) + ")"; newDocument.document.getElementById("defensiveBacksCell").innerHTML = "Defensive Backs (" + (sArray.length + cbArray.length) + ")"; newDocument.document.getElementById("linebackersCell").innerHTML = "Linebackers (" + (ilbArray.length + olbArray.length) + ")"; newDocument.document.getElementById("defensiveLineCell").innerHTML = "Defensive Linemen (" + (deArray.length + dtArray.length) + ")"; newDocument.document.getElementById("sCell").innerHTML = "S (" + sArray.length + ")"; newDocument.document.getElementById("cbCell").innerHTML = "CB (" + cbArray.length + ")"; newDocument.document.getElementById("olbCell").innerHTML = "OLB (" + olbArray.length + ")"; newDocument.document.getElementById("ilbCell").innerHTML = "ILB (" + ilbArray.length + ")"; newDocument.document.getElementById("deCell").innerHTML = "DE (" + deArray.length + ")"; newDocument.document.getElementById("dtCell").innerHTML = "DT (" + dtArray.length + ")"; newDocument.document.getElementById("offenseCell").innerHTML = "Offense (" + (qbArray.length + rbArray.length + wrArray.length + teArray.length + otArray.length + gcArray.length) + ")"; newDocument.document.getElementById("offensiveBacksCell").innerHTML = "Offensive Backfield (" + (qbArray.length + rbArray.length) + ")"; newDocument.document.getElementById("receiversCell").innerHTML = "Receivers (" + (wrArray.length + teArray.length) + ")"; newDocument.document.getElementById("offensiveLineCell").innerHTML = "Offensive Linemen (" + (otArray.length + gcArray.length) + ")"; newDocument.document.getElementById("qbCell").innerHTML = "QB (" + qbArray.length + ")"; newDocument.document.getElementById("rbCell").innerHTML = "RB (" + rbArray.length + ")"; newDocument.document.getElementById("wrCell").innerHTML = "WR (" + wrArray.length + ")"; newDocument.document.getElementById("teCell").innerHTML = "TE (" + teArray.length + ")"; newDocument.document.getElementById("otCell").innerHTML = "OT (" + otArray.length + ")"; newDocument.document.getElementById("gcCell").innerHTML = "G/C (" + gcArray.length + ")"; newDocument.document.getElementById("stCell").innerHTML = "Special Teams (" + (pArray.length + kArray.length + lsArray.length) + ")"; newDocument.document.getElementById("kCell").innerHTML = "Kickers (" + kArray.length + ")"; newDocument.document.getElementById("pCell").innerHTML = "Punters (" + pArray.length + ")"; newDocument.document.getElementById("lsCell").innerHTML = "Long Snappers (" + lsArray.length + ")"; newDocument.document.getElementById("injCell").innerHTML = "Injured (" + (pupArray.length + irArray.length) + ")"; newDocument.document.getElementById("pupCell").innerHTML = "PUP (" + pupArray.length + ")"; newDocument.document.getElementById("irCell").innerHTML = "IR (" + irArray.length + ")"; newDocument.document.getElementById("psCell").innerHTML = "Practice Squad (" + psArray.length + ")"; } function buildRosterCell(name) { var result = "
" + name + "
"; return result; } function nameToVar(name) { var tempName = name.replace("-", "_"); tempName = tempName.replace(".", ""); tempName = tempName.replace(".", ""); tempName = tempName.toLowerCase(); tempName = tempName.replace(" ", "_"); return tempName; } function prepareToMove(name) { playerToMove = window[nameToVar(name)]; posToMove = null; for (var i = 0; i < arrayArray.length; i++) { if (arrayArray.lastIndexOf(playerToMove) > -1) { posToMove = arrayArray; } } saveArray.push("prepareToMove('" + name + "')"); refreshRoster(); } function arrayByIndex(index) { return arrayArray[index]; } function showAuthor() { alert(author); } function movePlayer(destIndex) { var destination = arrayByIndex(destIndex); if (destination == cut) { arrayArray[arrayArray.indexOf(posToMove)].splice(arrayArray[arrayArray.indexOf(posToMove)].indexOf(playerToMove), 1); if (arrayArray.indexOf(posToMove) < 15) { rosterArray.splice(rosterArray.indexOf(playerToMove), 1); } cut.push(playerToMove); playerToMove = null; posToMove = null; } else if (posToMove != null && ((destination != psArray) || ((playerToMove.pracSquad == 1) && (psArray.length < 8)))) { arrayArray[arrayArray.indexOf(posToMove)].splice(arrayArray[arrayArray.indexOf(posToMove)].indexOf(playerToMove), 1); arrayArray[arrayArray.indexOf(destination)].push(playerToMove); if (arrayArray.indexOf(posToMove) > 14 && arrayArray.indexOf(destination) < 15) { rosterArray.push(playerToMove); } else if (arrayArray.indexOf(posToMove) < 15 && arrayArray.indexOf(destination) > 14) { rosterArray.splice(rosterArray.indexOf(playerToMove), 1); } playerToMove = null; posToMove = null; } saveArray.push("movePlayer(" + destIndex + ")"); refreshRoster(); } function showCuts() { var newHTML = "Cuts
"; for (var i = 0; i < cut.length; ++i) { newHTML += "" + buildRosterCell(cut.name) + "
"; } newHTML += "
"; newDocument.document.getElementById('cutTableSection').innerHTML = newHTML; newDocument.document.getElementById('cutTableSection').value = 'shown'; } function hideCuts() { var newHTML = ""; newDocument.document.getElementById('cutTableSection').innerHTML = newHTML; newDocument.document.getElementById('cutTableSection').value = 'hidden'; } function saveRoster() { createCookie('btbRoster', saveArray.toString(), 365); } function loadRoster() { resetAll(); var rawSaveArray = readCookie('btbRoster'); saveArray = rawSaveArray.split(','); var saveQueue = rawSaveArray.replace(/,/g, ";"); var load = new Function(saveQueue); load(); refreshRoster(); } function createCookie(name, value, days) { if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); var expires = "; expires=" + date.toGMTString(); } else var expires = ""; newDocument.document.cookie = name + "=" + value + expires + "; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = newDocument.document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } function eraseCookie(name) { createCookie(name, "", -1); } //Source: http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } function openNewPage() { var newDocumentHTML = "
Now's your opportunity to begin building your own Cowboys' roster. If you make a mistake, the \"Reset Everything!\" button will return everything to its original condition. To move players, click on the player to highlight him, and then click on the heading to which you wish to move him. Clicking on the red CUT cell, or pressing the Delete key will cut that player entirely. You can track your current roster count at the bottom left cell. Good luck getting to 53!
Note: The Roster Builder now conforms to June 1st standards and splits cap hits over the next two years. Be mindful of how much dead money you accumulate for 2015!
Please select a player!
[COLOR=rgba(0,0,10,.95)]Defense
Defensive Backs Linebackers Defensive Linemen
S CB OLB ILB DE DT
Offense
Offensive Backfield Receivers Offensive Linemen
QB RB/HB WR TE OT G/C
Special Teams Injured Practice Squad
Kickers Punters Long Snappers PUP IR
Total Roster Size: 0 Click Here to CUT!Defensive Backs Linebackers Defensive Linemen
S CB OLB ILB DE DT
Offense
Offensive Backfield Receivers Offensive Linemen
QB RB/HB WR TE OT G/C
Special Teams Injured Practice Squad
Kickers Punters Long Snappers PUP IR
Current Salary: 0 Salary Cap: $119,495,156
2015 Dead Money: 0[/COLOR]
Note: This program was written in JavaScript. If your browser does not support JavaScript, you will be informed of that below. In general, Internet Explorer is non-compatible, while Chrome and Firefox are compatible.
Continue reading...