// ==UserScript==
// @name Bungie Graph
// @namespace npike.net
// @include http://www.bungie.net/stats/PlayerStatsHalo3.aspx?player=*
// ==/UserScript==
// stats
var placementStats = Array();
var recent_games_table = document.getElementById("ctl00_mainContent_bnetpgl_recentgames_ctl01");
var rows = recent_games_table.getElementsByTagName("tr");
// itterate through rows
// skip first two, and last row
for (var x = 3; x<rows.length; x++) {
var elt = rows[x];
var placement = elt.childNodes[5].innerHTML;
// Gather Stats
if (placement.indexOf("1st") > -1) {
if (placementStats[0] == undefined) { placementStats[0] = 0; }
placementStats[0]++;
} else if (placement.indexOf("2nd") > -1) {
if (placementStats[1] == undefined) { placementStats[1] = 0; }
placementStats[1]++;
} else if (placement.indexOf("3rd") > -1) {
if (placementStats[2] == undefined) { placementStats[2] = 0; }
placementStats[2]++;
}else if (placement.indexOf("4th") > -1) {
if (placementStats[3] == undefined) { placementStats[3] = 0; }
placementStats[3]++;
} else {
if (placementStats[4] == undefined) { placementStats[4] = 0; }
placementStats[4]++;
}
}
// Build a chart with Google Charts API
//
// Example:
//http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=150x100&chl=Hello|World
var chart = "http://chart.apis.google.com/chart?cht=p3&chd=t:";
for (var i =0; i < placementStats.length; i++) {
if (placementStats[i] == undefined) {placementStats[i] = 0;}
chart +=placementStats[i];
if (i < placementStats.length-1) {
chart += ",";
}
}
chart += "&chs=150x100&&chs=280x150&chl=1st|2nd|3rd|4th&chf=bg,s,404040&chco=1E3F60";
// Inject into Bungie page, with Bungie "Look and Feel"
var img = document.createElement("img");
img.src = chart;
var convex = document.createElement("div");
convex.setAttribute("class", "convex_cont");
var convex2 = document.createElement("div");
convex2.setAttribute("class", "convex");
convex2.innerHTML = "Recent Games";
convex.appendChild(convex2);
var foo = document.getElementById("ctl00_mainContent_bnetpgl_gamepreviewh3_pnlGameDetail");
foo.parentNode.insertBefore(img, foo);
foo.parentNode.insertBefore(convex, img);