
bam.extend({
	interleague : (function(){
		
		var _stat_name_translation = {};
		_stat_name_translation.k = "Strikeouts";
		_stat_name_translation.w = "Wins";
		_stat_name_translation.so = "Strikeouts";
		_stat_name_translation.h = "Hits";
		_stat_name_translation.sv = "Saves";
		_stat_name_translation.sb = "Stolen Bases";
		_stat_name_translation.rbi = "Runs Batted In";
		_stat_name_translation.r = "Runs Scored";
		_stat_name_translation.g = "Games";
		_stat_name_translation.hr = "Home Runs";
		_stat_name_translation.era= "Earned Run Average";
		_stat_name_translation.avg = "Batting Average";
		_stat_name_translation.ip = "Innings Pitched";
		
		var data_query = function (data_url, cb) {
				$.ajax({
						type: "GET",
						url: data_url,
						dataType: "json",
						error: function() {
							alert('error retrieving ' + data_url);
						},
						async: true,
						success: cb					
					});	
			};
		
					
		var _self = {
		 	max_slots : 10,
			render_count : 0,
			is_empty_object : function(o) {
				if(typeof(o) === "object" && !!o) {
  					for(var p in o) {
						if (!o.hasOwnProperty || o.hasOwnProperty(p)) {
    						if (o[p] != o.constructor.prototype[p]) {
     			 				return false;
							}
						}
  					}
				}
				return true;
			},
			
		lookupStats : function() {
				var submit_url = {}; //asc vs desc | season | sport_code | sort_column 
				
				var pitching_stats = ["w","era","sv","so","ip","g"];
				var batting_stats = ["hr","avg","rbi","sb","r","h"];
				var ascending_stats = ["era"];
			
				var season = $("form[name='leftNav_interleague_events'] select[name='season'] option:selected").val();
				if (!season) {
					var d = new Date();
					var thisYear = parseInt(d.getFullYear(),10);
					season = thisYear;
				}
				$("td#pitching_season").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Pitching "+season+"</b>");
				$("td#hitting_season").html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Hitting "+season+"</b>");
				
				var pitching_stats_length = pitching_stats.length;
				var batting_stats_length = batting_stats.length;
				var total_num_stats = pitching_stats_length + batting_stats_length;
			
				var sort_stat = "";
				for (var i=0;i<batting_stats_length;i++ ) {
					sort_stat = batting_stats[i];
					submit_url[sort_stat] = "/lookup/json/named.leader_hitting_interleague_desc.bam?sort_column=%27"+batting_stats[i]+"%27&season="+season;
					if (jQuery.inArray(sort_stat,ascending_stats) > -1) {
						submit_url[sort_stat] = submit_url[sort_stat].replace(/desc/,"asc");
					}
				}	
				for (var j=0;j<pitching_stats_length;j++ ) {
					sort_stat = pitching_stats[j];
					submit_url[sort_stat] = "/lookup/json/named.leader_pitching_interleague_desc.bam?sort_column=%27"+pitching_stats[j]+"%27&season="+season;
					if (jQuery.inArray(sort_stat,ascending_stats) > -1) {
						submit_url[sort_stat] = submit_url[sort_stat].replace(/desc/,"asc");
					}
				}
				
				var url_to_send = "";
				$.each(submit_url,function(sort_var, url_to_send) {
					if (url_to_send) {
						data_query(url_to_send,function(data) {bam.interleague.render(url_to_send,sort_var,data,total_num_stats);});
					}
				});
			},
			
			render : function(url,sort_var,json,total_num_stats) {
				_self.render_count = _self.render_count + 1;
				$("td#"+sort_var).empty();
				if (total_num_stats == _self.render_count) {
					$("div#loadingMask_upper").hide();
					$("div#loadingMask_lower").hide();
				}
				var sv_name = "";
				for (var v in _stat_name_translation) {
					if (v == sort_var) { 
						sv_name = _stat_name_translation[v];
					}
				}
				
				if (!_self.is_empty_object(json)) {
					var num_results = "";
					var row_arr = [];
					if (url.indexOf('desc') != -1) {
						if (url.indexOf('hitting') != -1) {
							num_results = json.leader_hitting_interleague_desc.queryResults.totalSize;
							row_arr = json.leader_hitting_interleague_desc.queryResults.row;
						} else {
							num_results = json.leader_pitching_interleague_desc.queryResults.totalSize;
							row_arr = json.leader_pitching_interleague_desc.queryResults.row;
						}
					} else {
						if (url.indexOf('hitting') != -1) {
							num_results = json.leader_hitting_interleague_asc.queryResults.totalSize;
							row_arr = json.leader_hitting_interleague_asc.queryResults.row;
						} else {
							num_results = json.leader_pitching_interleague_asc.queryResults.totalSize;
							row_arr = json.leader_pitching_interleague_asc.queryResults.row;
						}
					}
					if (num_results > 0) {
						var tbl = "<table cellspacing='0' cellpadding='0' border='0'>";
						tbl += "<tbody>";
						tbl += "<tr><td class='textSm grey' nowrap='' align='left' colspan='7'>"+sv_name+"</td>";
						tbl += "</tr><tr bgcolor='#cccccc'><td><img width='1' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
						tbl += "<td><img width='5' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
						tbl += "<td class='text primary' width='81' nowrap=''><b>Player</b></td>";
						tbl += "<td><img width='1' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
						tbl += "<td class='text primary' width='40' nowrap='' align='center'><b>Team</b></td>";
						tbl += "<td><img width='1' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
						tbl += "<td class='text primary' width='28' nowrap='' align='center'><b>"+sort_var.toUpperCase()+"</b></td></tr>";
						
						var stats_table = {};
						var name,team,pid,stat_value,tr,count = "";
						var num_to_show = "";
						if (_self.max_slots <= row_arr.length) {
							num_to_show = _self.max_slots;
						} else {
							num_to_show = row_arr.length;
						}
						for (var i=0;i<num_to_show;i++) {
							count = i+1;
						 	name = row_arr[i].name_display_roster;
							team = row_arr[i].team_abbrev;
							pid = row_arr[i].player_id;
							stat_value = row_arr[i][sort_var];
							
							tr = "<tr>";
							tr += "<td class='text primary' align='center'>"+count+"</td>";
							tr += "<td><img width='1' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
							tr += "<td class='text'><a href='/team/player.jsp?player_id="+pid+"'>"+name+"</a></td>";
							tr += "<td><img width='1' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
							tr += "<td class='text' align='center'>"+team+"</td>";
							tr += "<td><img width='1' height='1' border='0' alt='' src='/images/trans.gif'/></td>";
							tr += "<td class='text' bgcolor='#ccccff' align='center'>"+stat_value+"</td>";
							tr += "</tr>";
							tbl += tr;
						}
						tbl += "</tbody></table>";
						$("td#"+sort_var).html(tbl);

					}//end if num_results > 0
				} //end if json not empty
			} // end render function
		}; //end _self variable definition
		return _self;
  })()
});


$(document).ready(function() {

var passed_vars = window.location.search.substring(1);
var passed_keys = passed_vars.split("&");
var seriesCode = "";
for (var i=0;i < passed_keys.length;i++) {
	var val = passed_keys[i].split("=");
	if (val[0] == "seriesCode") {
		seriesCode = val[1];
	}
 } 
if (seriesCode == "Interleague") {
	$("div#loadingMask_upper").show();
	$("div#loadingMask_lower").show();
	bam.interleague.render_count = 0;
	bam.interleague.lookupStats();
}
	$("form[name='leftNav_interleague_events']").submit(function() {
		bam.interleague.render_count = 0;
		if ($("input[name='seriesCode']").val() == "Interleague") {
			bam.interleague.lookupStats();
		}
	});
	
});

