<!-- start cnt_code --><INLINEREPLACE name="cnt_codes" type="SZ11"><!-- end cnt_code --><!-- begin bg-elements --><!-- begin header --><!-- begin top-bar --><!-- begin uni login --><SCRIPT type=text/javascript>var returnURL = document.location.href;var anCV = "";var myEspnText = {'welcometext':'Welcome','register':'Register','signin':'Sign In','signout':'Sign Out','heliumdown':'Login Temporarily Unavailable','connectedfacebook':'Connected to Facebook','connectfacebook':'Connect with Facebook','activateinsider':'Activate Insider'};</SCRIPT><FORM id=form-memberarea><INPUT id=language type=hidden value=en name=language> <INPUT id=memberAreaAffiliateName type=hidden value=espn name=affiliateName> <INPUT id=regFormId type=hidden value=espn name=regFormId> </FORM>
Sign In or
Register
<SCRIPT>espn.memberservices.welcome();</SCRIPT><LABEL>EDITIONS:</LABEL>
<LABEL>CITIES:</LABEL>
<!-- end top-bar --><!-- begin espn-logo -->
ESPNNBA
<!-- end espn-logo --><!-- begin ad --><!-- end ad -->
Shop
<STYLE>.ie6 #searchBox, .ie6 #searchBox div { display: inline; } </STYLE><!-- begin search --><FORM id=searchBox style="COLOR: #999999" name=searchBox accept-charset=utf-8 action=http://search.espn.go.com/results method=get><INPUT class=text id=searchString style="COLOR: #999" value=Search name=searchString jQuery1293039592343="34" placeholder="Search" autocomplete="off"> <INPUT id=page type=hidden value=null name=page> <INPUT type=hidden value=true name=fromForm> <INPUT class=submit type=submit value="Submit Query">
</FORM>
<!-- end search -->
<!-- end header --><!-- begin subheader --><!-- begin content --><!-- begin Pencil_Top ad --><!-- begin Pencil_Top ad -->
<!-- end Pencil_Top ad --><!-- begin Banner ad --><IFRAME marginWidth=0 marginHeight=0 src="http://ad.doubleclick.net/adi/N5823.ESPN/B4843658.25;sz=728x90;click=http://log.go.com/log?srvc%3dsz%26guid%3d1210D9A6-E64E-42B5-846B-4BB7668E3F89%26drop%3d0%26addata%3d0:84427:743429:63%26a%3d1%26goto%3d;pc=dig743429dc846650;ord=2010.12.22.09.40.06?" frameBorder=0 width=728 scrolling=no height=90 BORDERCOLOR="#000000"><SCRIPT language='JavaScript1.1' SRC="http://ad.doubleclick.net/adj/N5823.ESPN/B4843658.25;abr=!ie;sz=728x90;click=http://log.go.com/log?srvc%3dsz%26guid%3d1210D9A6-E64E-42B5-846B-4BB7668E3F89%26drop%3d0%26addata%3d0:84427:743429:63%26a%3d1%26goto%3d;pc=dig743429dc846650;ord=2010.12.22.09.40.06?"></SCRIPT><NOSCRIPT>
</NOSCRIPT></IFRAME>846650
<SCRIPT type=text/javascript>var wau_iab = "13"</SCRIPT><SCRIPT language=javascript src="http://log.go.com/log?ft=j&srvc=sz&addata=2206:65::|858:65::|0:84427:743429:63|987:65::|1093:65::|1034:65::|3345:65::|3655:65::&method=GET&cap=&svr=szadserve.starwave.com&host=szadserve.starwave.com&guid=1210D9A6-E64E-42B5-846B-4BB7668E3F89&sf=" type=text/javascript></SCRIPT>
<!-- end Banner ad -->
<LINK media=screen href="http://a.espncdn.com/nba/tradeMachine/tradeMachine.css" type=text/css charset=utf-8 rel=stylesheet><LINK media=screen href="http://a.espncdn.com/nba/tradeMachine/tradeMachine_ie.css" type=text/css charset=utf-8 rel=stylesheet><SCRIPT language=Javascript src="http://a.espncdn.com/nba/tradeMachine/jquery.disable.text.select.pack.js" type=text/javascript></SCRIPT><SCRIPT type=text/javascript> $j = jQuery.noConflict(); var numTeams = 0; var activeEditTeam = -1; var tm_userName; var selectedPlayerId; var closePopupInterval; var closeTEInterval; $j(document).ready( function() { $j.getScript('http://sports.espn.go.com/espn/js/unilogin?cb=setUserInfo') //team choices $j("#container-teams li").each( function() { var teamId = getTeamId($j(this)); $j(this).find("a").click( function(event) { var isDisabled = $j(this).parent().parent().hasClass("disabled"); if (!isDisabled) { if (activeEditTeam == -1) { addTeam(teamId); } else { replaceTeam(activeEditTeam, teamId); } } return false; }); }); $j("#container-top .team-btn-container a").bind('click', toggleAddTeam); $j("#action-popup").hover( function() { clearInterval(closePopupInterval); }, function() { clearInterval(closePopupInterval); closePopup(); } ); $j("#exception-popup").hover( function() { clearInterval(closeTEInterval); }, function() { clearInterval(closeTEInterval); closeTE(); } ); }); function closePopup() { $j("#action-popup").hide(); } function highlightPlayer(obj, toggle) { if (toggle) { $j(obj).addClass('active'); } else { $j(obj).removeClass('active'); } } //trade buttons function toggleTrade(active) { if (active) { $j(".btn-trade").replaceWith('Try This Trade'); $j(".btn-trade").click( function() { processTrade(true); }); } else { $j(".btn-trade").replaceWith('Try This Trade'); $j(".btn-trade").unbind('click'); } } function toggleAddTeam() { var isHidden = ($j("#container-teams").css("display") == 'none'); var showTeams = isHidden; $j("#container-top .team-btn-container a").removeClass("active"); if (numTeams < 4) { $j("#container-top .team-btn-container a:last").addClass("active"); } if (!isHidden && activeEditTeam != -1) showTeams = true; toggleTeamContainer(showTeams); activeEditTeam = -1; } function toggleEditTeam(teamId, topBtn) { var isHidden = ($j("#container-teams").css("display") == 'none'); var showTeams = isHidden; $j("#container-top .team-btn-container a").removeClass("active"); if (isHidden || activeEditTeam != teamId) { $j(topBtn).addClass("active"); } if (!isHidden && activeEditTeam != teamId) { showTeams = true; } toggleTeamContainer(showTeams); activeEditTeam = teamId; } function toggleTeamContainer(toggle) { if (toggle) { $j("#container-teams").show(); } else { $j("#container-teams").hide(); } } function toggleSelectTeam(teamId, activate) { var ddItem = $j("#container-teams .teamdd_"+teamId); if (activate) { ddItem.removeClass("disabled"); } else { ddItem.addClass("disabled"); } } function removeTrades(teamId) { //return all players traded to this team $j("#team_"+teamId+" .trades .player").each( function() { var fromTeamId = getTeamId($j(this)); var tradeId = getPlayerId($j(this)); removeTrade(tradeId, fromTeamId); }); //remove all players traded from this team $j(".team-container .trades .player").filter(".team_"+teamId).each( function() { var tradeId = getPlayerId($j(this)); removeTrade(tradeId, teamId); }); } function removeTeam(teamId) { var confirmMsg = "Removing this team will release all players traded from this team and return all players traded to this team. Are you sure you want to continue?" var doRemove = confirm(confirmMsg); if (doRemove) { //find where the team is positioned var teamPos = getTeamPos("#team_"+teamId); //adjust add team links var aIndex = 1; $j("#container-top .team-btn-container").each( function() { if (aIndex > teamPos) { var anchor = $j(this).find("a"); var label = $j(this).find("span"); anchor.removeClass("addTeam"+(aIndex)).addClass("addTeam"+(aIndex-1)) if (anchor.text().indexOf("Add Team") > -1) { anchor.html("Add Team "+(aIndex-1)+ "
"); } label.text("Team "+(aIndex-1)+":"); } else if (aIndex == teamPos) { $j(this).remove(); } aIndex++; }); removeTrades(teamId); //remove team container var teamContainer = $j("#team_"+teamId); var teamFullName = teamContainer.find(".teamName").text(); teamContainer.remove(); numTeams--; if (numTeams == 2) { var tradeBox = $j(".team-container .trades"); tradeBox.find(".tradeAmount").show(); tradeBox.find(".tradeAmount_sm").hide(); tradeBox.each( function() { updatePlayerCount($j(this), 0); }); var players = $j(".team-container .player, .team-container .exception"); players.find(".salary").show(); players.find(".salary_sm").hide(); } if (numTeams == 3) { makeAddTeamLink(4); } refreshTeamContainers(); toggleSelectTeam(teamId, true); removeTeamFromPopup(teamId); if (numTeams == 0) { $j("#instructions").show(); $j("#second_instructions").hide(); } else if (numTeams == 1) { $j("#second_instructions").show(); } } } function makeAddTeamLink(linkNum) { var link = $j('Add Team '+(linkNum)+ '
') .bind('click', toggleAddTeam); var linkContainer = $j('Team '+linkNum+':
').append(link); $j("#container-top .team-btn-container a").removeClass("active"); $j("#container-top .clear").before(linkContainer); } function refreshTeamContainers() { $j(".team-container").each( function() { $j(this) .removeClass("teams1") .removeClass("teams2") .removeClass("teams3") .removeClass("teams4") .addClass("teams"+numTeams); }); } function addTeam(teamId) { if (numTeams == 0) { $j("#instructions").hide(); $j("#second_instructions").show(); } else if (numTeams == 1) { $j("#second_instructions").hide(); } if (numTeams < 4) { showTeam(teamId, ""); toggleSelectTeam(teamId, false); } } function replaceTeam(oldTeamId, newTeamId) { var confirmMsg = "Replacing a team will release all players traded from the replaced team and return all players traded to this team. Are you sure you want to continue?" var doReplace = confirm(confirmMsg); if (doReplace) { removeTrades(oldTeamId); removeTeamFromPopup(oldTeamId); $j("#container-top .team-btn-container a").removeClass("active"); showTeam(newTeamId, "#team_"+oldTeamId); toggleSelectTeam(oldTeamId, true); toggleSelectTeam(newTeamId, false); if (numTeams < 4) { $j("#container-top .team-btn-container a:last").addClass("active"); } } } function getTeamPos(target) { var teamPos = 0; if (target == "") { teamPos = numTeams; } else { $j(".team-container").each( function() { teamPos++; if ($j(this).is(target)) { return false; } }); } return teamPos; } function showTeam(teamId, target) { $j("#container-teams .loading").show(); var teamPos = (target == "") ? (numTeams+1):getTeamPos(target); var numTrades = getMaxTrades(); $j.get("/nba/trademachine09/json/getTeamHTML" , {'teamId':teamId, 'teamPos':teamPos, 'numTeams':numTeams, 'numTrades':numTrades, 'langType':0}, function(teamHTML) { if (target == "") { numTeams++; } var teamContainer = $j(teamHTML); var teamFullName = teamContainer.find(".teamName").html(); //remove text selection within the body //dragging isnt interfered with teamContainer.disableTextSelect(); if (target != "" && $j(target).length == 1) { teamContainer.replaceAll(target); } else { teamContainer.insertBefore($j("#second_instructions")) } teamContainer .find(".closeBtn") .click( function() { removeTeam(teamId); }); makePlayersDraggable(teamId); refreshTeamContainers(); $j("#container-top .addTeam"+teamPos) .unbind('click') .click(function(event) { toggleEditTeam(teamId, event.target); return true; }) .html(teamFullName+'
'); if (target == "") { if (numTeams == 3) { tradeBox = $j(".team-container .trades"); tradeBox.find(".tradeAmount").hide(); tradeBox.find(".tradeAmount_sm").show(); tradeBox.each( function() { updatePlayerCount($j(this), 0); }); players = $j(".team-container .player, .team-container .exception"); players.find(".salary").hide(); players.find(".salary_sm").show(); } if (numTeams < 4) { makeAddTeamLink(numTeams+1); } else { $j(".addTeam4").removeClass("active"); } } $j("#container-teams .loading").hide(); $j("#container-teams").hide(); addTeamToPopup(teamId, teamFullName); }); } function setDisabledPopupTeam(teamId) { $j("#action-popup ul li") .removeClass("disabled") .filter(".team_"+teamId) .addClass("disabled"); } function removeTeamFromPopup(teamId) { $j("#action-popup ul li.team_"+teamId).remove(); } function clearTeamsFromPopup() { $j("#action-popup ul li").remove(); } function addTeamToPopup(teamId, teamName) { var li = $j('<li class="team_'+teamId+'">'); var anchor = $j(''+teamName+'') anchor.click( function() { var teamId = $j(this).parent().attr("class").split("_")[1]; var playerId = selectedPlayerId; var origTeamId = getTeamId($j("#player_"+playerId)); var fromTeamId = getPlayerFromTeam(playerId); var alreadyTraded = (origTeamId != fromTeamId); $j("#action-popup").hide(); tradePlayer(playerId, fromTeamId, teamId, alreadyTraded, false); }); $j("#action-popup ul").append(li.append(anchor)); } function getPlayerFromTeam(playerId) { var teamId = getTeamId($j("#player_"+playerId)); //cycle through all trades and try to find if the player is //currently being traded $j(".team-container").each( function() { var curTeamId = $j(this).attr("id").split("_")[1]; $j(this).find(".trades .player").each( function() { var curId = getPlayerId($j(this)); if (curId == playerId) { teamId = curTeamId; return false; } }); }); return teamId; }/* function getDraggableSettings(teamId) { return { 'revert':true, 'revertDuration':1, 'drag': function(event, ui) { selectedPlayerId = null; $j("#action-popup").hide(); }, 'start': function(event, ui) { $j(".team-container").not("#team_"+teamId).each( function() { $j(this).find(".roster").hide(); $j(this).find(".drop-area").show(); }); }, 'stop': function(event, ui) { //reposition div (for IE) $j(this).css("left", "0px").css("top", "0px"); $j(".team-container").each( function() { $j(this).find(".drop-area").hide(); $j(this).find(".roster").show(); }); } }; }*/ function addException(playerId, tradeTeamId, exceptionId, amount) { $j("#exception-popup").hide(); var eContainer = $j("#exception_"+exceptionId); if (eContainer.length > 0) { var amountLeft = currencyToInteger(eContainer.find(".salary").html()); amountLeft -= amount; eContainer.find(".salary").html(integerToCurrency(amountLeft, false)); eContainer.find(".salary_sm").html(integerToCurrency(amountLeft, true)); } var eAsset; if (eContainer.length > 0) { eAsset = eContainer.clone(); } else { eAsset = $j(".exception:first").clone(); } eAsset.addClass(eAsset.attr("id")); eAsset.attr("id", ""); eAsset.addClass("exception_for_"+playerId); eAsset.find(".salary").html(integerToCurrency(amount, false)); eAsset.find(".salary_sm").html(integerToCurrency(amount, true)); eAsset.find(".playerName").html("Trade Exception for"); eAsset.find(".btn-closePlayer a").click( function() { removeException(playerId, tradeTeamId, exceptionId, amount); }).parent().show(); var tradeBox = $j("#team_"+tradeTeamId+" .trades"); var holderBoxes = tradeBox.find(".player-holder"); var beforeElement = (holderBoxes.length > 0) ? ".player-holder:first":".trade_footer"; tradeBox.find(beforeElement).before(eAsset); updateTradeAmount(tradeBox); var maxTrades = getMaxTrades(); refreshTrades(maxTrades); //mark the player that is using the trade exception var tradePlayer = $j(".trades .player_"+playerId); tradePlayer.find(".teUsed").html("1"); refreshExceptionBtns(); } function removeException(playerId, tradeTeamId, exceptionId, amount) { var eContainer = $j("#exception_"+exceptionId); if (eContainer.length > 0) { var amountLeft = currencyToInteger(eContainer.find(".salary").html()); amountLeft += amount; eContainer.find(".salary").html(integerToCurrency(amountLeft, false)); eContainer.find(".salary_sm").html(integerToCurrency(amountLeft, true)); } var eAsset = $j(".trades .exception_for_"+playerId); eAsset.remove(); var tradeBox = $j("#team_"+tradeTeamId+" .trades"); updateTradeAmount(tradeBox); var maxTrades = getMaxTrades(); refreshTrades(maxTrades); //unmark the player that is using the trade exception var tradePlayer = $j(".trades .player_"+playerId); tradePlayer.find(".teUsed").html("0"); refreshExceptionBtns(); } function showExceptionList(e, tradePlayerId, tradeTeamId, exceptionTeamId) { var eList = $j("#exception_list"); eList.children().remove(); var eTeamName = ""; var eAmount = $j("#player_"+tradePlayerId+" .salary").html(); var eInteger = currencyToInteger(eAmount); $j("#team_"+exceptionTeamId+" .exceptions .exception").each( function() { var ePlayerName = $j(this).find(".playerName").text(); var eId = $j(this).attr("id").split("_")[1]; var eMax = currencyToInteger($j(this).find(".salary").text()); var eValue = eInteger; if (eValue <= eMax + 100000) { if (eValue > eMax) { eValue = eMax; } eList.append('
Use '+integerToCurrency(eValue, false)+' available from '+ePlayerName+'
'); } }); var containerOffset = $j(".span-6").offset(); var isDeportes = (0 == 1) ? true:false; var relX = e.pageX; var relY = e.pageY; if (!isDeportes) { relX -= containerOffset.left; relY -= containerOffset.top + 90; } $j("#exception-popup") .css("left", (relX)+"px") .css("top", (relY)+"px") .show(); closeTEInterval = setTimeout(closeTE, 3000); } function closeTE() { $j("#exception-popup").hide(); } function openURL(link) { window.open(link, 'player_stats', ''); } function makePlayersDraggable(teamId) { $j("#team_"+teamId+" .roster .player").not(".disabled").each( function() { var playerId = $j(this).attr("id").split("_")[1]; $j(this) .click( function(e) { if ($j(e.target).hasClass("playerName") || $j(e.target).hasClass("player_mug")) { //open player stats page openURL("http://sports.espn.go.com/nba/players/profile?playerId="+playerId); } else if (numTeams > 1) { alreadyTraded = ($j("#player_"+playerId+" .traded").css("display") != "none") if (!alreadyTraded) { if (numTeams == 2) { var fromTeamId = teamId; var toTeamId; $j(".team-container").each( function() { var thisId = $j(this).attr("id").split("_")[1]; if (thisId != fromTeamId) { toTeamId = thisId; } }); toggleRestriction(null, playerId, false, ''); toggleRestriction(null, playerId, false, 'ppp'); toggleRestriction(null, playerId, false, 'byc'); tradePlayer(playerId, fromTeamId, toTeamId, false, false); } else { clearInterval(closePopupInterval); selectedPlayerId = playerId; var containerOffset = $j(".span-6").offset(); var isDeportes = (0 == 1) ? true:false; var relX = e.pageX; var relY = e.pageY; if (!isDeportes && containerOffset != undefined) { relX -= containerOffset.left; relY -= containerOffset.top + 90; } setDisabledPopupTeam(teamId); $j("#action-popup") .css("left", (relX)+"px") .css("top", (relY)+"px") .show(); closePopupInterval = setTimeout(closePopup, 3000); } } } }); }); /* $j("#team_"+teamId+" .drop-area").droppable( { 'accept': ".player", 'drop': function(event, ui) { var playerObj = $j(ui.draggable); var alreadyTraded = (playerObj.attr("id") == "") if (alreadyTraded) { playerId = getPlayerId(playerObj); } else { playerId = playerObj.attr("id").replace("player_", ""); } var fromTeamObj = $j(playerObj.parents(".team-container").get(0)); if (fromTeamObj.length > 0) { fromTeamId = fromTeamObj.attr("id").split("_")[1]; } else { fromTeamId = getTeamId(playerObj); } var toTeamId = teamId; tradePlayer(playerId, fromTeamId, toTeamId, alreadyTraded, false); } } ); */ } function addTradeExceptionBtn(playerObj, exceptionTeamId) { var isAvail = false; var playerSalary = currencyToInteger($j(playerObj).find(".salary").html()); var tradePlayerId = getPlayerId(playerObj); var tradeTeamId = getTeamId(playerObj); $j("#team_"+exceptionTeamId+" .exception").each( function() { var eAmount = currencyToInteger($j(this).find(".salary").html()); if (playerSalary < eAmount) { isAvail = true; return true; } }); if (isAvail) { var teBtn = $j('
'); teBtn.click( function(e) { showExceptionList(e, tradePlayerId, tradeTeamId, exceptionTeamId); return false; }); $j(playerObj).find(".teUsed").after(teBtn); } } function refreshExceptionBtns() { $j(".team-container").each( function() { var teMax = 0; var teamId = $j(this).attr("id").split("_")[1]; $j(this).find(".exceptions .exception").each( function() { var amt = currencyToInteger($j(this).find(".salary").html()); if (amt > teMax) { teMax = amt; } }); $j(this).find(".trades .player").each( function() { var salary = currencyToInteger($j(this).find(".salary").html()); var teLink = $j(this).find(".teLink"); var playerId = getPlayerId($j(this)); var exceptionExists = ($j(".exception_for_"+playerId).length > 0); if (teLink.length > 0) { if (exceptionExists || salary > teMax) { teLink.remove(); } } else if (!exceptionExists && salary < teMax) { addTradeExceptionBtn($j(this), teamId); } }); }); } function tradePlayer(playerId, fromTeamId, toTeamId, alreadyTraded, teUsed) { var playerTeamId = getTeamId($j("#player_"+playerId)); var playerObj = $j("#player_"+playerId); if (teUsed == undefined) { teUsed = false; } if (playerTeamId == toTeamId) { return false; } else { var tPlayer = playerObj.clone().css("left", "0px").css("top", "0px"); tPlayer.addClass(tPlayer.attr("id")); tPlayer.attr("id", ""); tPlayer.find(".btn-closePlayer").show(); tPlayer.find(".traded").hide(); tPlayer.find(".playerName, .player_mug").click( function() { openURL("http://sports.espn.go.com/nba/players/profile?playerId="+playerId); }); var tradeBox = $j("#team_"+toTeamId+" .trades"); var holderBoxes = tradeBox.find(".player-holder"); var beforeElement = (holderBoxes.length > 0) ? ".player-holder:first":".trade_footer"; tradeBox.find(beforeElement).before(tPlayer); refreshPlayerBoxes(); var maxTrades = getMaxTrades(); refreshTrades(maxTrades); //check if trade exception is available if (teUsed) { var amount = currencyToInteger(tPlayer.find(".salary").html()); var exceptionId = fromTeamId+playerId; addException(playerId, fromTeamId, exceptionId, amount); } else { addTradeExceptionBtn(tPlayer, toTeamId); } //update traded to status var toTeamName = $j("#team_"+toTeamId+" .teamName").text(); playerObj.find(".traded").show().find(".toTeam").text(toTeamName); updatePlayerCount(tradeBox); updateTradeAmount(tradeBox); $j(".team-container .trades").show(); var fromRoster = $j(playerObj.parents(".roster").get(0)); fromRoster.hide().show(); } return true; } function updatePlayerCount(tradeBox) { var playerCountBox = tradeBox.find(".player-desc-c1 .numPlayers"); var playerCount = tradeBox.find(".player").length wordage = "Player"; if (playerCount != 1) { wordage += "s"; } playerCountBox.text(playerCount+" "+wordage); } function updateTradeAmount(tradeBox) { var tradeAmount = 0; tradeBox.find(".player, .exception").each( function() { tradeAmount += currencyToInteger($j(this).find(".salary").text()); }); var amountStr = integerToCurrency(tradeAmount, false); var amountStr_sm = integerToCurrency(tradeAmount, true); tradeBox.find(".tradeAmount").html(amountStr); tradeBox.find(".tradeAmount_sm").html(amountStr_sm); } function getTeamId(obj) { var teamId = ""; classes = $j(obj).attr("class").split(" "); for(i=0; i<classes.length; i++) { var parts = classes
.split("_"); if (parts.length == 2 && parts[0].indexOf("team") >= 0) { teamId = parts[1]; break; } } return teamId; } function getPlayerId(obj) { var playerId = ""; var classes = $j(obj).attr("class").split(" "); for(i=0; i<classes.length; i++) { var parts = classes.split("_"); if (parts.length == 2 && parts[0].indexOf("player") >= 0) { playerId = parts[1]; break; } } return playerId; } function toggleRestriction(btnObj, playerId, toggle, type) { if (type == undefined) { type == "" } var popup = $j('#restriction_'+type+playerId); if (toggle) { var popupContainer = popup.parent() .remove() .css("z-index", 4); $j($j(btnObj).parents(".player").get(0)).after(popupContainer); popup.show(); } else { popup.hide(); } return false; } function removeTrade(playerId, teamId) { var tradeBox = $j($j(".player_"+playerId).parents(".trades").get(0)); //remove from trade container tradeBox.find(".player_"+playerId).remove(); //check to see if any trade exceptions need to be removed $j(".trades .exception_for_"+playerId).each( function() { var eClasses = $j(this).attr("class").split(" "); var eId = 0; for(c=0;c<eClasses.length; c++) { var s = eClasses[c].split("_"); if (s.length > 1 && s[0] == "exception") { eId = s[1]; break; } } var eAmount = currencyToInteger($j(this).find(".salary").html()); removeException(playerId, teamId, eId, eAmount); }); //restore dragability of player from roster $j("#player_"+playerId) .find(".traded").hide() //.draggable("enable") ; updatePlayerCount(tradeBox); updateTradeAmount(tradeBox); var maxTrades = getMaxTrades(); refreshTrades(maxTrades); $j(".team-container .roster").hide().show(); } function getMaxTrades() { var max=0; $j(".team-container .trades").each( function() { var numTrades = $j(this).find(".player").length; var numExceptions = $j(this).find(".exception").length; if ((numTrades+numExceptions) > max) {max = (numTrades+numExceptions);} }); return max; } function refreshTrades(numPlayers) { if (numPlayers == 0) { toggleTrade(false); } else if (numPlayers == 1) { toggleTrade(true); } $j(".team-container .trades").each( function() { var numTradeSlots = $j(this).find(".player, .exception, .player-holder").length; if (numPlayers <= 0) { $j(this).find(".player-holder").remove(); $j(this).hide(); } else if (numTradeSlots < numPlayers) { tFooter = $j(this).find(".trade_footer"); for(p=0; p<numPlayers-numTradeSlots; p++) { tFooter.before('
'); } } else if (numTradeSlots > numPlayers) { for(p=0; p<numTradeSlots-numPlayers; p++) { $j(this).find(".player-holder:last").remove(); } } }); } function refreshPlayerBoxes() { if ($j.browser.msie) { $j(".team-container .roster").hide(); $j(".team-container .roster").show(); } } function clearPrevTrade() { $j("#container-message .trade-message") .removeClass("success") .removeClass("fail") .text(""); $j("#container-message").hide(); $j("#container-message .fail-reasons").remove(); $j("#container-message .trade-results").remove(); $j(".btn-trade").hide(); } function getTradeJSONString(minimal) { var jsonStr = '{"teams": ['; teamCount = 0; $j(".team-container").each( function() { if (teamCount != 0) { jsonStr += ","; } jsonStr += '{'; toTeamId = $j(this).attr("id").split("_")[1]; jsonStr += '"inComingAssets": ['; tradeCount = 0; $j(this).find(".trades .player").each( function() { if (tradeCount != 0) { jsonStr += ","; } jsonStr += '{'; jsonStr += '"fromTeamId":'+getTeamId($j(this))+','; jsonStr += '"type":"player",'; jsonStr += '"assetObj": {'; jsonStr += '"teUsed": '+($j(this).find(".teUsed").html() == "1")+','; jsonStr += '"posId": '+$j(this).find(".posId").text()+','; if (!minimal) { jsonStr += '"name":"'+''+'",'; jsonStr += '"salary":'+'0'+','; } jsonStr += '"playerId":'+getPlayerId($j(this)); jsonStr += '}'; jsonStr += '}'; tradeCount++; }); jsonStr += '], ' jsonStr += '"teamId":'+toTeamId; jsonStr += '}'; teamCount++; }); jsonStr += '],'; jsonStr += '"userName":"'+tm_userName+'"'; jsonStr += '}'; return jsonStr } function processTrade(isOriginal) { clearPrevTrade(); var jsonStr = getTradeJSONString(false); $j.getJSON("/nba/trademachine09/json/processTrade", {'tradeStr':jsonStr, 'isValid':isOriginal, 'langType':0}, function(result) { trackResult(isOriginal); var navOptions; if (isOriginal) { navOptions = [ 'Start Over', 'Adjust Trade', 'Save Trade', '
' ].join("\n"); } else { navOptions = [ 'New Trade', '
' ].join("\n"); } $j("#container-message") .show() .find(".nav-trade-options") .html(navOptions); if (result.success) { scoreClass = (result.score > 0) ? "green":"red"; $j("#trade-main-message") .addClass("success") .text("This Trade is Successful!"); if (result.tradeTeams != undefined) { showTradeResults(result.tradeTeams, isOriginal); } } else { if (result.reasons != undefined) { $j(".team-container").each( function() { teamId = $j(this).attr("id").split("_")[1]; var teamReasons = result.reasons[teamId]; var failList = ""; if (teamReasons != undefined) { for(i=0; i<teamReasons.length; i++) { failList += ""+teamReasons+"
"; } if (failList != "") $j(this).append(''); } }); } $j("#trade-main-message") .addClass("fail") .text("This Trade Failed") } $j("#projection_note").show(); //hide trade buttons $j(".btn-trade").hide(); $j(".team-btn-container").hide(); //hide close buttons on teams and traded players $j(".team-container .team .closeBtn").hide(); $j(".team-container .trades .player .btn-closePlayer").hide(); $j(".team-container .trades .exception .btn-closePlayer").hide(); $j(".team-container .trades .player .teLink").hide(); //hide rosters $j(".team-container .roster").hide(); $j(".team-container .roster_header").hide(); $j(".team-container .exceptions").hide(); //deactivate draggability of traded players //$j(".team-container .trades .player").draggable("disable"); if ($j("#container-body").css("display") == "none") { $j("#container-loading").hide(); $j("#container-body").show(); $j("#container-top .teambtns").show(); } }); } function showTradeResults(tradeTeams, uniqueTrade) { var totalGames = 82; var likeSum = 0; var useProjections = false; var numTradeTeams = tradeTeams.length; for(t=0; t<numTradeTeams; t++) { var diff = tradeTeams[t].postWins - tradeTeams[t].preWins; var effect = (diff > 0) ? "increased":"decreased"; var postRecord = tradeTeams[t].postWins+'-'+(totalGames-tradeTeams[t].postWins); var colorClass = (diff > 0) ? "green":"red"; /* //team score var tsHTML = ''; tsHTML += 'Team Score:
'; tsHTML += ''+tradeTeams[t].teamScore+'
'; tsHTML += '
'; */ //projection var diffText = (diff > 0) ? "+"+diff:diff; var projHTML = ''; projHTML += ''; projHTML += 'Hollinger\'s Analysis: '; if (useProjections) { projHTML += postRecord; if (diff != 0) projHTML += ' ('+diffText+' Wins)'; } else { if (diff != 0) projHTML += ''+diffText+' Wins'; } projHTML += '
'; projHTML += ''; projHTML += (diff != 0) ? 'With this trade you have '+effect+" "+"this team's projected wins by "+Math.abs(diff)+'.': 'You have not affected the winning percentage of this team.'; projHTML += '
'; projHTML += '
'; projHTML += '
'; /* var highHTML = ""; if (uniqueTrade && tradeTeams[t].highScore) { ordinalNum = tradeTeams[t].rank.toOrdinal(); highHTML += ''; highHTML += ' Team High Score!
'; highHTML += '
'+ordinalNum+'
'; highHTML += ' Your trade currently ranks '+ordinalNum+' for all '+tradeTeams[t].fullName+' trades.
'; highHTML += '
'; highHTML += '
'; } */ var resultHTML = '' + projHTML + '
'; $j("#team_"+tradeTeams[t].teamId).append(resultHTML); } } function adjustTrade() { //show close buttons $j(".team-container .team .closeBtn").show(); $j(".team-container .trades .player .btn-closePlayer").show(); $j(".team-container .trades .exception .btn-closePlayer").show(); $j(".team-container .trades .player .teLink").show(); //re-add draggability to trade players $j(".team-container .trades .player").each( function() { var teamId = getTeamId($j(this)); //$j(this).draggable("enable"); }); //show rosters $j(".team-container .roster").show(); $j(".team-container .exceptions").show(); $j(".team-container .roster_header").show(); $j(".team-container .trade-results").remove(); //clear status and hide message $j("#trade-main-message") .removeClass("success") .removeClass("fail") .text(""); $j("#container-message .trade-actions").hide(); $j("#container-message").hide(); $j("#projection_note").hide(); $j(".team-container .fail-reasons").remove(); //show trade buttons toggleTrade(true); $j(".btn-trade").show(); $j(".team-btn-container").show() $j("#container-url").hide(); } function startOver() { //remove team links $j("#container-top .team-btn-container").remove(); makeAddTeamLink(1); $j("#container-teams .teamName").removeClass("disabled"); //remove teams numTeams = 0; $j(".team-container").remove(); clearTeamsFromPopup(); //clear status and hide message $j("#trade-main-message") .removeClass("success") .removeClass("fail") .text(""); $j("#container-message").hide(); $j("#container-message .fail-reasons").remove(); //show trade buttons toggleTrade(false); $j(".btn-trade").hide(); $j(".team-btn-container").show(); $j("#container-url").hide(); } function saveTrade() { var baseURL = "http://games.espn.go.com/nba/tradeMachine"; if ("games.espn.go.com" == "null") { baseURL = "http://games.espn.go.com/nba/tradeMachine" } var jsonStr = getTradeJSONString(true); $j.getJSON("/nba/trademachine09/json/getTradeURL", {'baseURL':baseURL, 'tradeStr':jsonStr}, function(result) { if (result.tradeURL != undefined && result.tradeURL != "null" && result.tradeURL != "") { $j("#tradeURL").attr("href", result.tradeURL).html(result.tradeURL); $j("#container-message .trade-actions").show(); } }); } function loadTrade(tradeStr) { $j("#container-body").hide(); $j("#container-loading").show(); $j("#container-top .teambtns").hide(); $j.getJSON("/nba/trademachine09/json/toJSON", {'jsonStr':tradeStr}, function(result) { var jsonObj = result; var teamQueue = new Array(); if (result.teams != undefined) { if (result.teams.length >= 3 && $j.browser.msie && parseFloat($j.browser.version) <= 6.0) { // known multi team js issue // stop loading and showing warning message $j("#container-body").append( 'There is a known issue when loading previously saved trade involving 3 or more teams using Internet Explorer 6.0. We are unable to load the trade requested due to this error. If possible, you can either upgrade your browser or try using another browser such as Firefox. Thank you for your understanding as we work on a resolution to this problem.
' ); toggleTrade(false); $j("#container-loading").hide(); $j("#container-body").show(); $j("#container-top .teambtns").hide(); } else { var lastTeamId = ""; //add teams for(t=0; t<result.teams.length; t++) { var teamId = result.teams[t]["teamId"]; if(t == 0) { addTeam(teamId); } else { lastTeamId = result.teams[t-1]["teamId"]; teamQueue.push(teamId); $j.onAvailable("team_"+lastTeamId, function() { var nextTeamId = teamQueue.shift(); addTeam(nextTeamId); if (teamQueue.length == 0) { $j.onAvailable("team_"+nextTeamId, function() { loadTradePlayers(result); }); } }); } } } } }); } function loadTradePlayers(result) { //check to see if at least one player was successfully moved to the other team var tradeSuccess = false; //process trades for(t=0; t<result.teams.length; t++) { var toTeamId = result.teams[t]["teamId"]; var assets = result.teams[t]["inComingAssets"]; if (assets != undefined) { for(a=0; a<assets.length; a++) { var fromTeamId = assets[a]["fromTeamId"]; var tradePlayerId = assets[a]["assetObj"]["playerId"]; var teUsed = assets[a]["assetObj"]["teUsed"] || false; var playerSuccess = tradePlayer(tradePlayerId, fromTeamId, toTeamId, false, teUsed); tradeSuccess = (playerSuccess || tradeSuccess); } $j(".player .teLink").hide(); } } if (tradeSuccess) { //execute trade processTrade(false); } else { //none of the players are on their saved teams anymore //so we are assuming this trade actually happened showTrade(result); } } function showTrade(result) { //instead of trading each player, //put them in the trade block of the team they are already on var tradeSuccess = false; for(t=0; t<result.teams.length; t++) { var toTeamId = result.teams[t]["teamId"]; var assets = result.teams[t]["inComingAssets"]; if (assets != undefined) { for(a=0; a<assets.length; a++) { var fromTeamId = assets[a]["fromTeamId"]; var tradePlayerId = assets[a]["assetObj"]["playerId"]; var teUsed = assets[a]["assetObj"]["teUsed"] || false; tradeSuccess = showTradedPlayer(tradePlayerId, toTeamId, fromTeamId, teUsed) || tradeSuccess; } } } navOptions = [ '<a class="btn-trade-options" href="tradeMachine" style="margin:0 auto;">New Trade', '
' ].join("\n"); $j("#container-message") .show() .find(".nav-trade-options") .html(navOptions); $j("#trade-main-message") .addClass("success") .text("This Trade is Successful!"); $j("#container-loading").hide(); toggleTrade(false); $j(".roster, .roster_header, .exceptions, .btn-closePlayer, .trades .player .teLink").hide(); $j("#container-body").show(); } function showTradedPlayer(playerId, newTeamId, oldTeamId, teUsed) { var playerTeamId = getTeamId($j("#player_"+playerId)); var playerObj = $j("#player_"+playerId); if (teUsed == undefined) { teUsed = false; } if (newTeamId == playerTeamId) { var tPlayer = playerObj.clone().css("left", "0px").css("top", "0px"); tPlayer.addClass(tPlayer.attr("id")); tPlayer.attr("id", ""); tPlayer.find(".btn-closePlayer").show(); tPlayer.find(".traded").hide(); var tradeBox = $j("#team_"+newTeamId+" .trades"); var holderBoxes = tradeBox.find(".player-holder"); var beforeElement = (holderBoxes.length > 0) ? ".player-holder:first":".trade_footer"; tradeBox.find(beforeElement).before(tPlayer); refreshPlayerBoxes(); var maxTrades = getMaxTrades(); refreshTrades(maxTrades); //check if trade exception is available if (teUsed) { var amount = currencyToInteger(tPlayer.find(".salary").html()); var exceptionId = oldTeamId+playerId; addException(playerId, oldTeamId, exceptionId, amount); } updatePlayerCount(tradeBox); updateTradeAmount(tradeBox); $j(".team-container .trades").show(); } } function abbreviateName(firstName, lastName) { abbrevName = ""; firstNames = firstName.split(" "); for (n=0; n<firstNames.length; n++) { abbrevName += firstNames[n].substring(0, 1)+"."; } abbrevName += " "+lastName; return abbrevName; } function currencyToInteger(curString) { curString = curString.replace(eval("/\\$|,/ig"), ""); if (curString == "" || curString == " ") return 0; else if (curString[curString.length-1] == "M") { curInt = parseInt(curString.substr(0, curString.length-1)); return curInt*1000000; } else if (curString[curString.length-1] == "K") { curInt = parseInt(curString.substr(0, curString.length-1)); return curInt*1000; } return parseInt(curString); } function integerToCurrency(amount, toSmall) { if (amount == 0 || amount == "") return " "; var resultStr = ""; var sign = (amount < 0) ? "-":""; amount = Math.abs(amount); if (toSmall) { //abbreviate if (amount > 1000000) { amount = Math.round(amount/100000)/10; resultStr = amount+"M"; } else if (amount > 1000) { amount = Math.round(amount/100)/10; resultStr = amount+"K"; } } else { //add commas var amountChars = (amount+"").split(""); for(n=0; n<amountChars.length; n++) { c = amountChars.length-n-1; if (n%3 == 0 && n != 0 && !(c == 0 && amountChars[0] == "-")) { resultStr = ","+resultStr; } resultStr = amountChars[c] + resultStr; } } return sign+"$"+resultStr; } Number.prototype.toOrdinal = function() { var n = this % 100; var suff = ["th", "st", "nd", "rd", "th"]; // suff for suffix var ord= n<21?(n<4 ? suff[n]:suff[0]): (n%10>4 ? suff[0] : suff[n%10]); return this + ord; } function setUserInfo(userName,firstName,activelyLoggedIn){ tm_userName = userName; } function trackResult(isOriginal) { var trackCode = "nba:trademachine"; trackCode += (isOriginal) ? "result":"view"; anClearVars(); try { s_omni.pageName=trackCode; s_omni.server = window.location.host; s_omni.channel = "nba"; s_omni.prop1 = "espn"; s_omni.prop5 = "nba:trademachine"; s_omni.prop17 = "en"; s_omni.prop25 = "basketball"; s_omni.prop26 = "nba"; s_omni.prop30 = "n"; s_omni.hier1 = "nba"; s_omni.eVar9 = "en"; s_omni.eVar13 = trackCode; s_omni.eVar19 = "basketball"; s_omni.eVar21 = "nba"; var s_code=s_omni.t();if(s_code)document.write(s_code) } catch (e) {} } </SCRIPT><SCRIPT language=javascript src="http://a.espncdn.com/nba/tradeMachine//oo_engine.js" type=text/javascript charset=windows-1252></SCRIPT><!-- Container --><!-- Top Container -->
Feedback Start Over
Team 1: New York Knicks
Team 2: Cleveland Cavaliers
Team 3: Minnesota Timberwolves
Team 4: Philadelphia 76ers
Loading Team Information
Close
Eastern Conference
- <LI class="teamName teamdd_1">Atlanta
<LI class="teamName teamdd_2">Boston
<LI class="teamName teamdd_30">Charlotte
<LI class="teamName teamdd_4">Chicago
<LI class="teamName teamdd_5 disabled">Cleveland
<LI class="teamName teamdd_8">Detroit
<LI class="teamName teamdd_11">Indiana
- Miami
- <LI class="teamName teamdd_15">Milwaukee
<LI class="teamName teamdd_17">New Jersey
<LI class="teamName teamdd_18 disabled">New York
<LI class="teamName teamdd_19">Orlando
<LI class="teamName teamdd_20 disabled">Philadelphia
<LI class="teamName teamdd_28">Toronto
- Washington
Western Conference
- <LI class="teamName teamdd_6">Dallas
<LI class="teamName teamdd_7">Denver
<LI class="teamName teamdd_9">Golden State
<LI class="teamName teamdd_10">Houston
<LI class="teamName teamdd_12">LA Clippers
<LI class="teamName teamdd_13">LA Lakers
<LI class="teamName teamdd_29">Memphis
- Minnesota
- <LI class="teamName teamdd_3">New Orleans
<LI class="teamName teamdd_25">Oklahoma City
<LI class="teamName teamdd_21">Phoenix
<LI class="teamName teamdd_22">Portland
<LI class="teamName teamdd_23">Sacramento
<LI class="teamName teamdd_24">San Antonio
- Utah
<!-- End of Top Container --><!-- Body Container -->
Share your trade
Post trade to ESPN
Try This Trade Trade to:
- New York Knicks
- Cleveland Cavaliers
- Minnesota Timberwolves
- Philadelphia 76ers
Trade Exceptions:
New York Knicks
Payroll
$58,434,714
Cap Room
-$390,714
- Player
- Salary
- PER
Being Traded To
Being Traded To
Being Traded To
Being Traded To
Acquiring 4 Players
$30,268,508$30.3M
New York Knicks Roster
Being Traded To Philadelphia 76ers
- SF5
0
- 1 Year
No Reacquiring (Golden State Warriors)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To Cleveland Cavaliers
Being Traded To Philadelphia 76ers
Being Traded To Philadelphia 76ers
Being Traded To
Being Traded To
Being Traded To
Being Traded To Philadelphia 76ers
Being Traded To Minnesota Timberwolves
Being Traded To Cleveland Cavaliers
- PF6
0
- 2 Years
No Reacquiring (Golden State Warriors)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To Minnesota Timberwolves
Being Traded To
Being Traded To
- C9
0
- 1 Year
No Reacquiring (Golden State Warriors)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To Cleveland Cavaliers
Being Traded To
- SF5
0
- 1 Year
Free Agent
Restriction Expires: December 23, 2010 After a free agent signs with a team, he cannot be traded for 3 months or until December 15, whichever is later.
Cleveland Cavaliers
Payroll
$72,470,523
Cap Room
-$14,426,523
- Player
- Salary
- PER
Being Traded To
- PF6
0
- 2 Years
Being Traded To
- SG2 0
- 2 Years
Being Traded To
- G3 0
- 2 Years
Being Traded To
- C9 0
- 2 Years
Acquiring 4 Players
$6,098,909$6.1M
Cleveland Cavaliers Roster
Being Traded To
Being Traded To
Being Traded To
Being Traded To
- G3
0
- 2 Years
Free Agent
Restriction Expires: December 27, 2010 After a free agent signs with a team, he cannot be traded for 3 months or until December 15, whichever is later.
Being Traded To
Being Traded To
- C9
0
- 1 Year
No Reacquiring (Minnesota Timberwolves)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To
Being Traded To
Being Traded To
Being Traded To
Being Traded To
Being Traded To
- PG1
0
- 2 Years
No Reacquiring (Minnesota Timberwolves)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To New York Knicks
Being Traded To
- F7
0
- 1 Year
1-Year Bird
Restriction Expires: July 01, 2011 Must receive consent to trade players with a 1-year contract, excluding options, who will become Early Bird or Bird free agents at the end of the contract, or players who have accepted a qualifying offer for a 5th season following the 4th option season on the Rookie Scale. If the player consents, he will lose his Bird rights and become a non-Bird free agent at the end of the contract.
Being Traded To
Trade Exceptions
- L. James
- $14,500,000$14.5M
Minnesota Timberwolves
Payroll
$46,216,306
Cap Room
$11,827,694
- Player
- Salary
- PER
Being Traded To
Being Traded To
Being Traded To Philadelphia 76ers
Acquiring 3 Players
$11,017,096$11M
Minnesota Timberwolves Roster
Being Traded To
- PF6
0
- 2 Years
No Reacquiring (Miami Heat)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To
Being Traded To Cleveland Cavaliers
Being Traded To
Being Traded To
- G3
0
- 1 Year
Free Agent
Restriction Expires: February 12, 2011 After a free agent signs with a team, he cannot be traded for 3 months or until December 15, whichever is later.
Being Traded To
Being Traded To
Being Traded To
- C9
0
- 2 Years
No Reacquiring (Utah Jazz)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To
Being Traded To
Being Traded To
Being Traded To New York Knicks
Being Traded To
- PG1
0
- 1 Year
No Reacquiring (Cleveland Cavaliers)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To Cleveland Cavaliers
Being Traded To
Philadelphia 76ers
Payroll
$70,151,232
Cap Room
-$12,107,232
- Player
- Salary
- PER
Being Traded To
Being Traded To
- G3 0
- 2 Years
Being Traded To
- SF5
0
- 1 Year
Being Traded To Cleveland Cavaliers
- SG2 0
- 1 Year
Acquiring 4 Players
$17,047,863$17M
Philadelphia 76ers Roster
Being Traded To
Being Traded To
- SF5
0
- 2 Years
No Reacquiring (New Orleans Hornets)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To
Being Traded To
Being Traded To
Being Traded To New York Knicks
Being Traded To New York Knicks
Being Traded To
Being Traded To Minnesota Timberwolves
Being Traded To
- PF6
0
- 1 Year
No Reacquiring (New Orleans Hornets)
Restriction Expires: July 01, 2011 Teams cannot reacquire a player that they traded during a given season (July 1 - June 30) unless the player has been waived.
Being Traded To
Being Traded To
Being Traded To
Being Traded To
Trade Exceptions
- S. Dalembert
- $2,192,894$2.1M
Add a Second Team
Projected Record Note:
Projected records are based on the PER of the players in each team?s post-trade rotation. Taking into account the players traded and the ability of their replacements, it is possible for each team in a trade to have a better projected record, or for each team to have a worse one, or for one team to be better and another to be worse by a different number of games.
HOW TO USE THE TRADE MACHINE
Add a team
Click on the "Add Team 1" button to add a team to trade. You need two teams to start a trade.
Add a second team
Click on the "Add Team 2" button to add a second team.
Trade players
Simply click on a player to trade him to another team. If there are 3 or more teams involved select the team you want to trade to from the drop down after clicking on a player.
Try your trade
The ESPN.com NBA Trade Machine will let you know if your trade works based on the NBA's trade rules!
Share your trade
Discuss your trade with others on the Trade Machine Conversation page by posting the link provided after trying a trade.
<!-- End of Body Container -->
LOADING TRADE...
Try This Trade
<!-- begin site nav -->
- <!-- begin site nav --><!-- begin site nav -->
- <!-- start: Menuitem :: MyTAB -->
- MyESPN <!-- start: Menuitem :: NFL -->
- NFL <!-- start: Menuitem :: MLB -->
- MLB <!-- start: Menuitem :: NBA -->
- NBA <!-- start: Menuitem :: NHL -->
- NHL <!-- start: Menuitem :: NCAA FB -->
- NCAA FB <!-- start: Menuitem :: NCAA BB -->
- NCAA BB <!-- start: Menuitem :: NASCAR -->
- NASCAR <!-- start: Menuitem :: SOCCER -->
- SOCCER <!-- start: Menuitem :: GOLF -->
- GOLF <!-- start: Menuitem :: TENNIS -->
- TENNIS <!-- start: Menuitem :: BOXING-->
- BOXING <!-- start: Menuitem :: MMA -->
- MMA <!-- start: Menuitem :: ALL SPORTS -->
- MORE SPORTS <!-- start: Menuitem :: MORE ESPN -->
- RADIO& MORE <!-- start: Menuitem :: COMMENTARY & P2 -->
- PAGE 2& COMMENTARY <!-- start: Menuitem :: FANTASY & GAMES -->
- FANTASY& GAMES <!-- start: Menuitem :: WATCH -->
- WATCH
<!-- end site nav --><!-- end site nav -->
<!-- end site nav -->
<!--/nba/tradeMachine-->
<!-- end content -->
<!-- end subheader --><SCRIPT>espn.core.init.nav();</SCRIPT><!-- begin footer --><SCRIPT type=text/javascript>//<![CDATA[var link = window.location;var bugText = 'Report a Bug | ';//]]></SCRIPT>ESPN.com: Help | PR Media Kit | Advertise On ESPN.com | Sales Media Kit | Interest-Based Ads |<SCRIPT type=text/javascript>document.write(bugText);</SCRIPT> Report a Bug | Corrections | Contact Us | Site Map | Shop | Jobs at ESPN | Supplier Information
?2010 ESPN Internet Ventures. Terms of Use and Privacy Policy and Safety Information/Your California Privacy Rights are applicable to you. All rights reserved.
<!-- end footer -->
<!-- end bg-elements --><!-- SiteCatalyst code version: H.21.3 Copyright 1997-2010 Omniture, Inc. http://www.omniture.com --><SCRIPT type=text/javascript> var s_account="wdgespcom"; var omniPageName = "espn:nba:trademachine"; var insiderStatus = "", anGen = "", anYear = "", anDateString = "", anLoginStatus = "", undef = 'undefined', callOmniture = function(){ if (typeof anCV != "undefined"){anParseLoginBarInfo(anCV);} s_omni.pageName="nba:trademachine"; s_omni.server = window.location.host; // Server from the Host s_omni.channel = "nba"; s_omni.prop1 = "espn"; s_omni.prop5 = "nba:trademachine"; s_omni.prop11 = (insiderStatus !== null) ? insiderStatus + "remium-no" : "premium-no"; s_omni.prop17 = "en"; s_omni.prop21 = anDateString; s_omni.prop22 = anGen; s_omni.prop25 = "basketball"; s_omni.prop26 = "nba"; s_omni.prop29 = anLoginStatus; s_omni.prop30 = "n"; s_omni.hier1 = "nba:trademachine"; s_omni.eVar7 = anYear + ":" + anGen + ":" + anLoginStatus + ":" + s_omni.prop11 + ":"; s_omni.eVar9 = "en"; s_omni.eVar13 = "nba:trademachine"; s_omni.eVar19 = "basketball"; s_omni.eVar21 = "nba"; if (s_omni.prop11=="anonymousremium-yes" || s_omni.prop11=="insider-noremium-yes" && typeof s_omni.prop4!="undefined" && (s_omni.prop4=="story" || s_omni.prop4=="blog")) { if (typeof s_omni.events != "undefined" && s_omni.events!="") { s_omni.events = s_omni.events+",event8" } else { s_omni.events="event8" } } anDebugCase = "ver_10Nov10_1_"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s_omni.t(); if(s_code) { //document.write(s_code); jQuery('body').append(s_code); } }; jQuery(function($) { // we want to load the analytics files from the cache if possible - so, let's use full $.ajax() calls $.ajax({ type:'GET', url: 'http://a.espncdn.com/combiner/c?js=analytics/sOmni.js,analytics/analytics.js,analytics/zf.js', dataType: 'script', cache: true, success: function() { var lgSrc; if(typeof anCV !== undef && anCV === '' && document.getElementById('form-memberarea') != null) { lgSrc = ('https:' === document.location.protocol) ? 'https://r.espn.go.com/members/util/getUserInfo?cb=runOmnitureIndependently' : 'http://sports.espn.go.com/espn/js/uniloginInLineReplace?cb=runOmnitureIndependently'; $.getScript(lgSrc); // we don't want this to be cached - so we'll use the $.getScript() method } else { callOmniture(); if (typeof(zf) != "undefined") zf("http://espn.zoomflow.com/zf", "ZoomFlow"); } } }); }); </SCRIPT><!-- End SiteCatalyst code version: H.15. --><SCRIPT>jQuery.getScriptCache('http://assets.espn.go.com/prod/scripts/foresee_v3/foresee-trigger.js');</SCRIPT><!-- dynamic logic: safecount --><SCRIPT src="http://content.dl-rms.com/rms/mother/508/nodetag.js"></SCRIPT><SCRIPT type=text/javascript charset=UTF-8>(function(){function c{var k=document.cookie,s,e,l="length";if(k[l]>0){s=k.indexOf(n+"=");if(s!=-1){ s=s+n[l]+1;e=k.indexOf(";",s);if(e==-1)e=k[l];return unescape(k.substring(s,e));}}return"";}var a=c("releaseCandidate")=="true";this.ESPN_GLOBALS={pageType:"nbaindex",videoPlayers:{index09:{src:!!a?"http://assets.espn.go.com/espnvideo/mpf22/dev/r_3_2_0_200/ESPN_Player.swf":"http://assets.espn.go.com/espnvideo/mpf32/prod/r_3_2_0_14/ESPN_Player.swf",height:324,width:576,adminOver:!!a?"newskin":"3805638",autostart:"false",playerType:!!a?"newskin_index09_dev":"index09"}}}})();</SCRIPT>