Overall Stat Number on team page

By DDCUnderground Last update Jul 8, 2008 — Installed 6,065 times.
// ==UserScript==
// @name           Overall Stat Number on team page
// @namespace      DDCUnderground - Greasemonkey
// @description    From the team page will pull overal numerical ranking of each team on schedule
// @include        http://goallineblitz.com/game/team.pl?team_id=*
// ==/UserScript==
 
var timeout = 0;
function getElementsByClassName(classname, par){
   var a=[];  
   var re = new RegExp('\\b' + classname + '\\b'); 
   var els = par.getElementsByTagName("*");
   for(var i=0,j=els.length; i<j; i++){      
      if(re.test(els[i].className)){
         a.push(els[i]);
      }
   }
   return a;
};
function getStat(teampath, i, hoa)
{
	GM_xmlhttpRequest({
	method: 'GET',
	url: 'http://goallineblitz.com' + teampath,
	headers: {
		'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
		'Accept': 'application/atom+xml,application/xml,text/xml',
	},
	onload: function(opteam) {
         var response1=opteam.responseText
         var stat=response1.split('px">');
         var stat1=stat[1].split('</div></div>')
         var stat2=stat[9].split('</div></div>')
         var spread = stat1[0] - stat2[0]
         if (spread > 0) {
             spread = '+' + spread
         }
         var opponententry=getElementsByClassName('alternating_color'+hoa,document)
         var portion1end = opponententry[i].innerHTML.indexOf('</a>')
         portion1end = portion1end + 4 
         var portion1str = opponententry[i].innerHTML.substr(0,portion1end)
         var portion2end = opponententry[i].innerHTML.length
         var portion2str = opponententry[i].innerHTML.substring(portion1end,portion2end)
         opponententry[i].innerHTML = portion1str + '(' + stat2[0] + ') ' + '(' + spread + ')' + portion2str
 		}
	});
};




window.setTimeout( function() {
   var opponentheader=getElementsByClassName('schedule_opponent',document)
   opponentheader[0].innerHTML = opponentheader[0].innerHTML + ' (Overall)(Spread)'
   var teamheader=getElementsByClassName('content_container',document)
   teamsplit = teamheader[0].innerHTML.split('team_pic.pl?team_id=')
   teamsplit2 = teamsplit[1].split('" height')
   localteamid = teamsplit2[0].substring(0,teamsplit2[0].indexOf('"',0))
   var opponentaway=getElementsByClassName('alternating_color1',document)    
   for (var i = 0; i < 8; i++) {
        rowdata = opponentaway[i].innerHTML.split('<td>')
        var startpos = rowdata[2].indexOf("/game/compare")
        if (startpos!=(-1)) {
            var stoppos = rowdata[2].indexOf('"',(startpos+1))
            var teampath = rowdata[2].slice(startpos,stoppos)
            getStat(teampath, i, '1')
        }else {
            startpos = (rowdata[1].indexOf('team.pl?team_id=') + 16)
            var stoppos = rowdata[1].indexOf('"',(startpos+1))
            var teampath = rowdata[1].slice(startpos,stoppos)
            getStat('/game/compare_teams.pl?team1=' + localteamid + '&team2=' + teampath, i,'1')
        }

   }
   var opponenthome=getElementsByClassName('alternating_color2',document)    
   for (var i = 0; i < 8; i++) {
       rowdata = opponenthome[i].innerHTML.split('<td>')
        var startpos = rowdata[2].indexOf("/game/compare")
        if (startpos!=(-1)) {
            var stoppos = rowdata[2].indexOf('"',(startpos+1))
            var teampath = rowdata[2].slice(startpos,stoppos)
            getStat(teampath, i, '2')
        }else {
            startpos = (rowdata[1].indexOf('team.pl?team_id=') + 16)
            var stoppos = rowdata[1].indexOf('"',(startpos+1))
            var teampath = rowdata[1].slice(startpos,stoppos)
            getStat('/game/compare_teams.pl?team1=' + localteamid + '&team2=' + teampath, i,'2')
        }
   }
},timeout);