var ajax_recap_poller = (function(){
 	var _self = {
		game_id : "",
		eventLog_url : "",
		siteCode: "",
		get_game_id : function() {
			var querystring = window.location.search.substring(1); 
  			var kv_pairs = querystring.split("&"); 
  			for (var i=0;i<kv_pairs.length;i++) { 
    			var kv = kv_pairs[i].split("="); 
    			if (kv[0] == "gid") { 
      				_self.game_id = kv[1]; 
    			} 
				if ((kv[0] == "sid") || (kv[0] == "did")) {
					if (kv[1]) {
						_self.siteCode = kv[1];
					} else {
						_self.siteCode = "milb";
					}
				}
  			} 
		},
		get_eventLog_url : function() {
			var league = _self.game_id.substring(14,17);
			var year = _self.game_id.substring(0,4);
			var month = _self.game_id.substring(5,7);
			var day = _self.game_id.substring(8,10);
			var gid = _self.game_id;
			_self.eventLog_url = "/gdcross/components/game/"+league+"/year_"+year+"/month_"+month+"/day_"+day+"/gid_"+gid+"/eventLog.xml";
		},
 
 		update_recap : function() {
			$.sajax
  			.text('/shared/components/linescore/milb_recap.tpl')
  			.xml(_self.eventLog_url, function (data, status, tpl) {
				var html = "";
				$('#recap').empty();
				var events = {};
				if ($(data).find("team")) {
					$(data).find("team").each(function() {
						var t = $(this);
						var team = t.attr("name");
						var is_home = t.attr("home_team");
						var top_bottom = "";
						if (is_home == "false") { 
							top_bottom = "Top of the "; 
						} else { 
							top_bottom = "Bottom of the "; 
						} 
						t.find("event").each( function(){ 
							var e = $(this);
							var inn = e.attr("inning");
							if (typeof(events[inn]) !== "undefined") {
								if (typeof(events[inn][team]) !== "undefined") {
									events[inn][team].push(e.attr("description")); 
								} else {
									events[inn][team] = [];
									events[inn][team].top_bottom = top_bottom;
									events[inn][team].push(e.attr("description"));
								}
							} else {
								events[inn] = {};
								events[inn][team] = [];
								events[inn][team].top_bottom = top_bottom;
								events[inn][team].push(e.attr("description"));
							}
						});
					});
					html = $.template(tpl,events,true);
				} else {
					$("#recap").html("There is no data currently available for this game.");
				}	
    			$('#recap').append(html);
  			});
		}
 	}; //end self
  	return _self;
})();

$(document).ready(function() {
	ajax_recap_poller.get_game_id();
	ajax_recap_poller.get_eventLog_url();
	
	var gameDataPoller = new bam.util.PeriodicalExecuter(ajax_recap_poller.update_recap,15000,false);
	ajax_recap_poller.update_recap();
});
