To experience everything that ESPN.com has to offer, we recommend that you upgrade to a newer version of your web browser. Click the upgrade button to the right or learn more.

"); } // only if button was added if($(".follow-button").length) { $(".follow-button").click(function(){ var promise = isFollowing(); promise.then(function(result) { if (result) { unfollow(); } else { follow(); } }); }); // initial load toggleFollowButton(); } function toggleFollowButton() { var button = $(".follow-text"), promise = isFollowing(); promise.then(function(result) { if (result) { button.text(followingLabel); button.css("color", "#6c6d6f"); $(".follow-button").css("border-color", "#6c6d6f"); } else { button.text(followLabel); button.css("color", "#007aff"); $(".follow-button").css("border-color", "#007aff"); } }); } function isFollowing() { var promise = getMyPreferences(); return promise.then(function(result) { let myPlayers = result.myPlayers; if (myPlayers.length > 0) { for (var i = 0;i < myPlayers.length; i++) { if (myPlayers[i].guid === guid) { return true; } } } return false; }); } function getMyPreferences() { return new Promise(function(resolve, reject) { jQuery.when(fanAPI.getAsP13n()).done(resolve).fail(reject); }); } function follow() { var promise = new Promise(function(resolve, reject) { fanAPI.createPreference({ preferenceTypeId: 3, entityId: guid }, { success: function(preference) { resolve((preference && preference.preference_id) !== undefined); }, error: reject }); }); promise.then(function(result) { toggleFollowButton(); }); } function unfollow() { var preferences = getMyPreferences(), pId = null; preferences.then(function(result) { let myPreferences = result.myPreferences; for (var i = 0; i < myPreferences.length; i++) { if (myPreferences[i].metaData.guid === guid) { pId = myPreferences[i].id; break; } } if (pId !== null) { var promise = new Promise(function(resolve, reject) { fanAPI.deletePreference({ preferenceTypeId: 3, preferenceId: pId, entityId: guid }, { success: function(result) { resolve(true); }, error: reject }); }); promise.then(function(result) { if (result) { toggleFollowButton(); } }); } }); } }); })(jQuery);