/*
 * Ext JS Library 2.1
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

var TEAM = 1;

var findTeam = new RegExp('[?&]team=([^&]*)','i');
if (location.search.search(findTeam) >= 0) {
	var queryArr = location.search.match(findTeam);
	var selectedTeam = queryArr[1];
	if (selectedTeam == parseInt(selectedTeam)) {
		TEAM = selectedTeam;
	}
}

var AWAY_TEAM = TEAM, HOME_TEAM = TEAM, BOXSCORE_TEAM = TEAM;

Ext.onReady(function(){
	
	Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
	
	// create some portlet tools using built in Ext tool ids
	var tools = [/*{
		id:'gear',
		handler: function(){
			Ext.Msg.alert('Message', 'The Settings tool was clicked.');
		}
	},*/{
		id:'close',
		handler: function(e, target, panel){
			panel.ownerCt.remove(panel, true);
		}
	}];
	
	var myPortal = new Ext.Panel({
		layout:'anchor',
		items:[{
			xtype:'portal',
			renderTo: 'content',
			margins   :'35 5 5 0',
			items:[{
				columnWidth:.50,
				style:'padding:5px',
				items:[{
					title: '<span class="title">Scoreboard</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					renderTo: 'content',
					id: 'scoreboard',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Pitch Tracker</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					id: 'game_tvl',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Play-by-Play</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					renderTo: 'content',
					id: 'pbp',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Game Boxscore</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					renderTo: 'content',
					id: 'boxscore',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Team Links</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					renderTo: 'content',
					id: 'team_links',
					html: '<span class="widget_content"></span>'
				}]
			},{
				columnWidth:.50,
				style:'padding:5px',
				items:[{
					title: '<span class="title">Current Batter Stats</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					id: 'current_batter_stats',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Batter VS Pitcher</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					id: 'batter_vs_pitcher',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Around the League</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					id: 'atl_scoreboard',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Stories</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					renderTo: 'content',
					id: 'team_stories',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">Photos</span>',
					tools: tools,
					style: 'margin: 0 0 5px 0',
					renderTo: 'content',
					id: 'team_photos',
					html: '<span class="widget_content"></span>'
				},{
					title: '<span class="title">League Standings</span>',
					tools: tools,
					id: 'league_standings',
					style: 'margin: 0 0 5px 0;',
					html: '<div class="widget_content"></div>'
				}]
			}]
		}]
	});
	
	var column1 = myPortal.items.items[0].items.items[0];
	var column2 = myPortal.items.items[0].items.items[1];
	
	/*
	Ext.get('testButton').on('click', function(){
		myNewPanel = new Ext.ux.Portlet({
			title: 'Brand New panel',
			tools: tools,
			style: 'margin: 0 0 10px 0',
			renderTo: 'widget_content',
			html: '<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.'
		});
		
		column1.insert(0,myNewPanel);
		column1.doLayout();
		
	});
	*/
	
	var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December')
	jQuery(function() {
		jQuery.ajax({
		  type: "GET",
		  url: "ticker_byteam.asp",
		  data: "sport=mlb&team=ALL",
		  cache: false,
		  success: function(xmlBody){
			var html = '';
			
			var gamelist  = jQuery(xmlBody).find('ticker-entries');
			var todaydate = parseInt(jQuery(gamelist).attr('date')) - 19800000;
			
			findGamedate(xmlBody, todaydate);
			/*
			jQuery('ticker-entry', xmlBody).each( function() {
				var gamecode = jQuery(this).attr('gamecode');
				if (jQuery('#'+gamecode+'_scoreBoard').length == 0)
					html += addNewScoreboard(this);
			});
			
			if (html != '') {
//				jQuery('#cubs_scoreboard div.x-panel-mc div').html(html);
				jQuery('#cubs_scoreboard .widget_content').html(html);
			}
			*/
			
			jQuery('ticker-entry', xmlBody).each( function() {
				var awayid = jQuery(this).find('visiting-team').attr('id')
				var homeid = jQuery(this).find('home-team').attr('id');
				var gamecode = jQuery(this).attr('gamecode');
				
				if ((awayid == TEAM) || (homeid == TEAM))
					updateScoreboard(this);
				
				if (gamecode.indexOf(todaydate) == 0)
					updateAroundTheLeagueScoreboard(this);
			});
			
			setTimeout('getScoreboards()',10*1000);
		  },
		  error: function (XMLHttpRequest, textStatus, errorThrown) {
			setTimeout('getScoreboards()',30*1000);
		  }
		});
		
		jQuery.getFeed({
			url: '/multisport/headlines.rss.asp?sport=mlb&team='+TEAM,
//			url: 'feeds.asp?feed=stories',
			success: function(feed) {
			
				var html = '<div class="stories"> <ul> ';
				
				for(var i = 0; i < feed.items.length && i < 5; i++) {
					
					var item = feed.items[i];
					if (item.updated) {
						var item_date = new Date(item.updated);
					
						html += '<li><a href="'+item.link+'" target="_blank">'+item.title+'</a><span>'+months[item_date.getMonth()]+' '+item_date.getDate()+' | '+(item_date.getHours()%12 == 0 ? 12 : item_date.getHours()%12)+':'+(item_date.getMinutes() < 10 ? '0'+ item_date.getMinutes() : item_date.getMinutes())+(item_date.getHours() >= 12 ? 'PM' : 'AM')+'</span></li>';
					}
					else
						html += '<li><a href="'+item.link+'" target="_blank">'+item.title+'</a></li>';
					//if (item.thumbnail != null) html += '<img src="'+item.thumbnail+'" style="float: right"/><div style="clear: both"></div>';
				}
				html += ' </ul> <a href="'+feed.link+'" class="moreLink" target="_blank">Read more about the Team</a> </div>';
				
//				jQuery('#team_stories div.x-panel-mc div').html(html);
				jQuery('#team_stories .widget_content').html(html);
			}    
		});
		
		jQuery.getFeed({
			url: '/multisport/photos.rss.asp?sport=mlb&team='+TEAM,
//			url: 'feeds.asp?feed=images',
//			url: 'photofeedtest2.xml',
			success: function(feed) {
				if (feed.items.length >= 1) {
					var caption = ''
					if (feed.items[0].description != '') caption = feed.items[0].description;
					var html = '<div class="photos"> <table width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="leftBtn"> <a href="#" onclick="prevPhoto(); return false;">Previous</a> </td> <td class="photo" valign="top" align="center"> <img src="'+feed.items[0].enclosure+'"  border="0"> <span>'+caption+'</span> </td> <td class="rightBtn"> <a href="#" onclick="nextPhoto(); return false;">Next</a> </td> </tr> </table> </div>';
					for(var i = 0; i < feed.items.length; i++) {
						addPhoto(feed.items[i].description,  feed.items[i].enclosure);
					}
					
					/*
					myNewPanel = new Ext.ux.Portlet({
						title: 'Cubs Photos',
						tools: tools,
						style: 'margin: 0 0 5px 0',
						renderTo: 'widget_content',
						id: 'team_photos',
						html: html
					});
					
					column2.add(myNewPanel);
					column2.doLayout();
					*/
//					jQuery('#team_photos div.x-panel-mc div').html(html);
					jQuery('#team_photos .widget_content').html(html);
					//jQuery('#team_photos .title').html('<a href="'+feed.link+'" target="_blank">Team Photos</a>');
					jQuery('#team_photos .title').html('Team Photos');
					
					if (feed.items[0].description == '') jQuery('div.photos span').css('visibility','hidden');
//					if (feed.items.length == 1) jQuery('div.photos table tr td.rightBtn').css('visibility','hidden');
//					jQuery('div.photos table tr td.leftBtn').css('visibility','hidden');
					
					resizePhoto();
				}			
			}    
		});
		
		//jQuery('#current_batter_stats .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "playerstats", test: true});
		//jQuery('#batter_vs_pitcher .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "bvsp", test: true});
		/*
		jQuery('#current_batter_stats .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "playerstats"});
		jQuery('#batter_vs_pitcher .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "bvsp"});
		jQuery('#league_standings .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "standings"});
		jQuery('#game_tvl .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "tvl"});
		jQuery('#boxscore .widget_content').load('gamezone_mlb.asp', {team: BOXSCORE_TEAM, page: "boxscore"});
		jQuery('#pbp .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "pbp"});
		*/
		var now = new Date();
		var nowSecs = now.getTime();
		jQuery('#current_batter_stats .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=playerstats&random='+(nowSecs*Math.random()));
		jQuery('#batter_vs_pitcher .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=bvsp&random='+(nowSecs*Math.random()));
		jQuery('#league_standings .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=standings&random='+(nowSecs*Math.random()));
		jQuery('#game_tvl .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=tvl&random='+(nowSecs*Math.random()));
		jQuery('#boxscore .widget_content').load('gamezone_mlb.asp?team='+BOXSCORE_TEAM+'&page=boxscore&random='+(nowSecs*Math.random()));
		jQuery('#pbp .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=pbp&random='+(nowSecs*Math.random()));
		
	});
});


function getScoreboards() {
	jQuery.ajax({
	  type: "GET",
	  url: "ticker_byteam.asp",
//	  data: "team="+TEAM,
	  data: "sport=mlb&team=ALL",
	  cache: false,
	  success: function(xmlBody){
		var recheck = 300;
		
		var gamelist = jQuery(xmlBody).find('ticker-entries');
		var todaydate = parseInt(jQuery(gamelist).attr('date')) - 19800000;
		
		findGamedate(xmlBody, todaydate);
		
		jQuery('ticker-entry', xmlBody).each( function() {
			var awayid = jQuery(this).find('visiting-team').attr('id')
			var homeid = jQuery(this).find('home-team').attr('id');
			var gamecode = jQuery(this).attr('gamecode');
			
			if ((awayid == TEAM) || (homeid == TEAM))
				recheck = Math.min(updateScoreboard(this), recheck);
			
			if (gamecode.indexOf(todaydate) == 0)
				updateAroundTheLeagueScoreboard(this);
		});
		
		
		setTimeout('getScoreboards()',recheck*1000);
	  },
	  error: function (XMLHttpRequest, textStatus, errorThrown) {
		setTimeout('getScoreboards()',30*1000);
	  }
	});
	
	//jQuery('#current_batter_stats .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "playerstats", test: true});
	//jQuery('#batter_vs_pitcher .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "bvsp", test: true});
	/*
	jQuery('#current_batter_stats .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "playerstats"});
	jQuery('#batter_vs_pitcher .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "bvsp"});
	jQuery('#game_tvl .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "tvl"});
	jQuery('#boxscore .widget_content').load('gamezone_mlb.asp', {team: BOXSCORE_TEAM, page: "boxscore"});
	jQuery('#pbp .widget_content').load('gamezone_mlb.asp', {team: TEAM, page: "pbp"});
	*/
	var now = new Date();
	var nowSecs = now.getTime();
	jQuery('#current_batter_stats .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=playerstats&random='+(nowSecs*Math.random()));
	jQuery('#batter_vs_pitcher .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=bvsp&random='+(nowSecs*Math.random()));
	jQuery('#game_tvl .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=tvl&random='+(nowSecs*Math.random()));
	jQuery('#boxscore .widget_content').load('gamezone_mlb.asp?team='+BOXSCORE_TEAM+'&page=boxscore&random='+(nowSecs*Math.random()));
	jQuery('#pbp .widget_content').load('gamezone_mlb.asp?team='+TEAM+'&page=pbp&random='+(nowSecs*Math.random()));
}

// sort through all the games involving this team to get the current day's game
//    - there could be games in the future with this team, because its future opponent doesn't play earlier than that
//    - there could be games in the past with this team, because its opponent has been eliminated from the playoffs
//    - there could be more than one game today for this team in some sports because of a double-header
function findGamedate(xmlBody, todaydate) {
	var allgamedates = new Array();
	
	//pull all the game dates for this team out into an array
	jQuery('ticker-entry', xmlBody).each( function() {
		var awayid = jQuery(this).find('visiting-team').attr('id')
		var homeid = jQuery(this).find('home-team').attr('id');
		var gamecode = jQuery(this).attr('gamecode');
		
		if ((awayid == TEAM) || (homeid == TEAM)) {
			allgamedates[allgamedates.length] = parseInt(gamecode.substring(0,6));
		}
	});
	
	var curgamedate = allgamedates.shift();
	if (curgamedate != todaydate) {
		while (allgamedates.length > 0) {
			var nextgamedate = allgamedates.shift();
			
			if (nextgamedate == todaydate) {
				curgamedate = nextgamedate;
				break;
			}
			else if (nextgamedate < todaydate) {
				if (curgamedate < todaydate) {
					if (nextgamedate >= curgamedate) {
						//use nextgamedate, because CURGAMEDATE <= NEXTGAMEDATE < TODAYDATE and we want the most recent past game
						curgamedate = nextgamedate;
					}
					//else use curgamedate, because NEXTGAMEDATE < CURGAMEDATE < TODAYDATE and we want the most recent past game
				}
				//else use curgamedate, because NEXTGAMEDATE < TODAYDATE < CURGAMEDATE and we want the future game over a past game
			}
			else { //todaydate < nextgamedate
				if (curgamedate < todaydate) {
					//use nextgamedate, because CURGAMEDATE < TODAYDATE < NEXTGAMEDATE and we want the future game over a past game
					curgamedate = nextgamedate;
				}
				else {
					if (nextgamedate < curgamedate) {
						//use nextgamedate, because TODAYDATE < NEXTGAMEDATE < CURGAMEDATE and we want the first future game
						curgamedate = nextgamedate;
					}
					//else use curgamedate, because TODAYDATE < CURGAMEDATE <= NEXTGAMEDATE and we want the first future game
				}
			}
		}
	}
	setGamedate(xmlBody, curgamedate, todaydate);
	return;
}

var SHOW_GAMEDATE = "";
var TODAY_DATE    = "";
function setGamedate(xmlBody, newgamedate, todaydate) {
	if (SHOW_GAMEDATE != newgamedate) {
		var html = "";
		
		jQuery('ticker-entry', xmlBody).each( function() {
			var awayid = jQuery(this).find('visiting-team').attr('id')
			var homeid = jQuery(this).find('home-team').attr('id');
			var gamecode = jQuery(this).attr('gamecode');
			
			if (((awayid == TEAM) || (homeid == TEAM)) && (gamecode.indexOf(newgamedate) == 0))
				if (jQuery('#'+gamecode+'_scoreBoard').length == 0)
					html += addNewScoreboard(this);
		});
		
		jQuery('#scoreboard .widget_content').html(html);
	}
	SHOW_GAMEDATE = newgamedate;
	
	if (todaydate != TODAY_DATE) {
		clearAroundTheLeagueScoreboard();
		jQuery('ticker-entry', xmlBody).each( function() {
			var gamecode = jQuery(this).attr('gamecode');
			
			if (gamecode.indexOf(todaydate) == 0)
				addAroundTheLeagueScoreboard(this);
		});
	}
	TODAY_DATE = todaydate;
}

function addNewScoreboard(xmlBody) {
	var html, row_html = new Array('','','');
	
	var away = jQuery(xmlBody).find('visiting-team');
	var home = jQuery(xmlBody).find('home-team');
	var awayid = jQuery(away).attr('id'), homeid = jQuery(home).attr('id');
	var awayname = jQuery(away).attr('display_name'), homename = jQuery(home).attr('display_name');
	
	AWAY_TEAM = awayid;
	HOME_TEAM = homeid;
	
	getTeamLinks(homeid, awayid, homename, awayname);
	
	var game_status = jQuery(xmlBody).find('gamestate');
	var gamecode = jQuery(xmlBody).attr('gamecode');
	
	row_html[0] = '<td class="noBorder" id="'+gamecode+'_gameStatus">&nbsp;</td>';
	row_html[1] = '<td class="team">'+awayname+'</td>';
	row_html[2] = '<td class="team">'+homename+'</td>';
	
	for (var i = 0; i < 9; i++) {
		var tdclass = '';
		if (i == 0) tdclass=' class="noBorder"';
		row_html[0] += '<td id="'+gamecode+'_colTitle_'+(i+1)+'"'+tdclass+'>&nbsp;</td>';
		row_html[1] += '<td id="'+gamecode+'_awayScore_'+(i+1)+'">&nbsp;</td>';
		row_html[2] += '<td id="'+gamecode+'_homeScore_'+(i+1)+'">&nbsp;</td>';
	}
	row_html[0] += '<td class="noBorder">&nbsp;</td>';
	row_html[1] += '<td class="noBorder">&nbsp;</td>';
	row_html[2] += '<td class="noBorder">&nbsp;</td>';
	for (i = 3; i > 0; i--) {
		var tdclass = '';
		if (i == 3) tdclass=' class="noBorder"';
		row_html[0] += '<td id="'+gamecode+'_colTitle_sum'+(i-2)+'"'+tdclass+'>&nbsp;</td>';
		row_html[1] += '<td id="'+gamecode+'_awayScore_sum'+(i-2)+'"'+tdclass+'>&nbsp;</td>';
		row_html[2] += '<td id="'+gamecode+'_homeScore_sum'+(i-2)+'"'+tdclass+'>&nbsp;</td>';
	}
	
	html = '<div id="'+gamecode+'_scoreBoard"><div class="scoreBoard"><div class="broadCastSchedule"><span><strong>TV:&nbsp;</strong>&nbsp;</span></div><table width="100%" cellspacing="0" cellpadding="0"><tr class="colTitles">'+row_html[0]+'</tr><tr class="away">'+row_html[1]+'</tr><tr class="home">'+row_html[2]+'</tr></table></div><div class="gamePitchers" style="display: none"></div><div class="gameView" style="display: none"></div><a href="/mlb/boxscore.asp?gamecode='+gamecode+'" target="_blank" class="moreLink" style="display: none">View more game detail</a></div>';
	
	return html;
}

function updateScoreboard(xmlBody) {
	var cols, row = new Array(new Array(), new Array(), new Array()), row_html = new Array('','','');
	
	var away = jQuery(xmlBody).find('visiting-team');
	var home = jQuery(xmlBody).find('home-team');
	var game_status = jQuery(xmlBody).find('gamestate');
	var game_status_str = game_status.attr('display_status1');
	if ((game_status_str.indexOf("PM") >= 0) || (game_status_str.indexOf("AM") >= 0)) {
//		game_status_str = localizeTime(game_status_str, 'CT', 'ET');
		game_status_str += " ET";
	}
	if (game_status.attr('display_status2') != undefined)
		game_status_str += ' '+game_status.attr('display_status2');
	
	var gamecode = jQuery(xmlBody).attr('gamecode');
	
	jQuery('#'+gamecode+'_gameStatus').text(game_status_str);
	
	jQuery('score', away).each( function() { row[0].push(jQuery(this).attr('heading')); row[1].push(jQuery(this).attr('value')); });
	jQuery('score', home).each( function() {                                            row[2].push(jQuery(this).attr('value')); });
	
	cols = row[1].length;
	var lower = (cols >= 12 ? cols - 12 : 0);
	var upper = cols - 3;
	for (var i = lower; i < upper; i++) {
		jQuery('#'+gamecode+'_colTitle_'+(i-lower+1)).text(row[0][i]);
		jQuery('#'+gamecode+'_awayScore_'+(i-lower+1)).text(row[1][i]);
		if (i < row[2].length - 3) jQuery('#'+gamecode+'_homeScore_'+(i-lower+1)).text(row[2][i]);
	}
	if (row[2].length < row[1].length) jQuery('#'+gamecode+'_homeScore_'+(upper-lower)).text('');
	for (; i < 9; i++) {
		jQuery('#'+gamecode+'_colTitle_'+(i+1)).text(i+1);
		jQuery('#'+gamecode+'_awayScore_'+(i+1)).text();
		jQuery('#'+gamecode+'_homeScore_'+(i+1)).text();
	}
	for (i = 3; i > 0; i--) {
		jQuery('#'+gamecode+'_colTitle_sum'+(i-2)).text(row[0][row[0].length-i]);
		if (row[1].length >= i && row[1][row[1].length-i] != undefined) { jQuery('#'+gamecode+'_awayScore_sum'+(i-2)).text(row[1][row[1].length-i]) } else { jQuery('#'+gamecode+'_awayScore_sum'+(i-2)).text(' ') }
		if (row[2].length >= i && row[2][row[2].length-i] != undefined) { jQuery('#'+gamecode+'_homeScore_sum'+(i-2)).text(row[2][row[2].length-i]) } else { jQuery('#'+gamecode+'_homeScore_sum'+(i-2)).text(' ') }
	}
	
	if (game_status.attr('tv') != undefined)
		jQuery('#'+gamecode+'_scoreBoard .broadCastSchedule span').html('<strong>TV:&nbsp;</strong>'+game_status.attr('tv')+'&nbsp;');
	else
		jQuery('#'+gamecode+'_scoreBoard .broadCastSchedule span').html('<strong>TV:&nbsp;</strong>&nbsp;');
	jQuery('#vsTab .home_team').html('<img src="images/mlbteams/'+zeroPad(home.attr('id'),2)+'.png" />');
	jQuery('#vsTab .away_team').html('<img src="images/mlbteams/'+zeroPad(away.attr('id'),2)+'.png" />');
	
	if (game_status.attr('href') != '') {
		jQuery('#'+gamecode+'_scoreBoard .moreLink').css('display','block');
		jQuery('#'+gamecode+'_scoreBoard .moreLink').attr('href',game_status.attr('href'));
	}
	else
		jQuery('#'+gamecode+'_scoreBoard .moreLink').css('display','none');
	
	if (game_status.attr('status') == 'Pre-Game') {
		var gameview = '';
		jQuery('starting-pitcher', xmlBody).each( function() { gameview += '<div class="startingpitcher"><a href="/mlb/playerstats.asp?id='+ jQuery(this).attr('id') +'" target="_blank">'+ jQuery(this).attr('first-name') +' '+ jQuery(this).attr('last-name') +'</a> ('+ jQuery(this).attr('wins') +'-'+ jQuery(this).attr('losses') +', '+ jQuery(this).attr('earned-run-average') +' ERA)</div>' });
		
		jQuery('#'+gamecode+'_scoreBoard .gameView').css('display','none');
		jQuery('#'+gamecode+'_scoreBoard .gamePitchers').html(gameview);
		if (gameview != '')
			jQuery('#'+gamecode+'_scoreBoard .gamePitchers').css('display','block');
		else
			jQuery('#'+gamecode+'_scoreBoard .gamePitchers').css('display','none');
		
		return 60;
	}
	else if (game_status.attr('status') == 'Final') {
		var pitchers = new Array();
		jQuery('winning-pitcher', xmlBody).each( function() { pitchers.push('<span class="dataTitle">W:</span> <a href="/mlb/playerstats.asp?id='+ jQuery(this).attr('id') +'" target="_blank">'+ jQuery(this).attr('first-name') +' '+ jQuery(this).attr('last-name') +'</a> ('+ jQuery(this).attr('wins') +'-'+ jQuery(this).attr('losses') +') '); });
		jQuery('losing-pitcher', xmlBody).each( function() { pitchers.push('<span class="dataTitle">L:</span> <a href="/mlb/playerstats.asp?id='+ jQuery(this).attr('id') +'" target="_blank">'+ jQuery(this).attr('first-name') +' '+ jQuery(this).attr('last-name') +'</a> ('+ jQuery(this).attr('wins') +'-'+ jQuery(this).attr('losses') +') '); });
		jQuery('saving-pitcher', xmlBody).each( function() { pitchers.push('<span class="dataTitle">S:</span> <a href="/mlb/playerstats.asp?id='+ jQuery(this).attr('id') +'" target="_blank">'+ jQuery(this).attr('first-name') +' '+ jQuery(this).attr('last-name') +'</a> ('+ jQuery(this).attr('saves') +') '); });
		
		var gameview = pitchers.join('&nbsp;');
		
		jQuery('#'+gamecode+'_scoreBoard .gameView').css('display','none');
		jQuery('#'+gamecode+'_scoreBoard .gamePitchers').html(gameview);
		if (gameview != '')
			jQuery('#'+gamecode+'_scoreBoard .gamePitchers').css('display','block');
		else
			jQuery('#'+gamecode+'_scoreBoard .gamePitchers').css('display','none');
		
		return 300;
	}
	else if ((game_status.attr('status') == 'In-Progress' || game_status.attr('status') == 'Delayed') && (jQuery(game_status).find('current-pitcher').length > 0)) {
		var bases = (jQuery(game_status).find('first-base').length > 0 ? '1' : '0') + (jQuery(game_status).find('second-base').length > 0 ? '1' : '0')+ (jQuery(game_status).find('third-base').length > 0 ? '1' : '0');
		
		var menonbaseShort = new Array(4);
		var menonbaseFull = new Array(4);
		for (i = 1; i <= 3 ; i++) {
			menonbaseShort[i] = '';
			menonbaseFull[i] = '';
		}
		
		var manonfirst = jQuery(game_status).find('first-base');
		if (manonfirst.length > 0) {
			menonbaseShort[1] = '<a href="/mlb/playerstats.asp?id='+ manonfirst.attr("id") +'" target="_blank">' + manonfirst.attr("last-name") + '</a>';
			menonbaseFull[1] = '<a href="/mlb/playerstats.asp?id='+ manonfirst.attr("id") +'" target="_blank">' + manonfirst.attr("first-name") +' '+ manonfirst.attr("last-name") + '</a>';
		}
		
		var manonsecond = jQuery(game_status).find('second-base');
		if (manonsecond.length > 0) {
			menonbaseShort[2] = '<a href="/mlb/playerstats.asp?id='+ manonsecond.attr("id") +'" target="_blank">' + manonsecond.attr("last-name") + '</a>';
			menonbaseFull[2] = '<a href="/mlb/playerstats.asp?id='+ manonsecond.attr("id") +'" target="_blank">' + manonsecond.attr("first-name") +' '+ manonsecond.attr("last-name") + '</a>';
		}
		
		var manonthird = jQuery(game_status).find('third-base');
		if (manonthird.length > 0) {
			menonbaseShort[3] = '<a href="/mlb/playerstats.asp?id='+ manonthird.attr("id") +'" target="_blank">' + manonthird.attr("last-name") + '</a>';
			menonbaseFull[3] = '<a href="/mlb/playerstats.asp?id='+ manonthird.attr("id") +'" target="_blank">' + manonthird.attr("first-name") +' '+ manonthird.attr("last-name") + '</a>';
		}
		
		//var gameview = '<a href="/mlb/gameview.asp?gamecode='+gamecode+'" target="_blank"><div class="field">';
		var gameview = '<div class="field">';
		for (i = 1; i <= 3 ; i++) {
			if (menonbaseShort[i] != '')
				gameview += '<em class="playerOnBase'+i+'"></em>';
//				gameview += '<em class="playerOnBase'+i+'">'+menonbaseShort[i]+'</em>';
		}
					
		//gameview += '</div></a>';
		gameview += '</div>';
		
		if (game_status.attr('balls') != null) {
			gameview += '<div class="gameCount"><span>Ball:</span><ul class="ballCount">';
			for (i = 1; i <= parseInt(game_status.attr('balls')) ; i++)
				gameview += '<li class="active"></li>';
			for (; i <= 4 ; i++)
				gameview += '<li></li>';
			
			gameview += '</ul><span>Strike:</span><ul class="strikeCount">';
			for (i = 1; i <= parseInt(game_status.attr('strikes')) ; i++)
				gameview += '<li class="active"></li>';
			for (; i <= 3 ; i++)
				gameview += '<li></li>';
			
			gameview += '</ul><span>Out:</span><ul class="outCount">';
			for (i = 1; i <= parseInt(game_status.attr('outs')) ; i++)
				gameview += '<li class="active"></li>';
			for (; i <= 3 ; i++)
				gameview += '<li></li>';
			gameview += '</ul></div>';
		}
		else
			gameview += '<div class="gameCount"><span>Ball:</span><ul class="ballCount"><li></li><li></li><li></li><li></li></ul><span>Strike:</span><ul class="strikeCount"><li></li><li></li><li></li></ul><span>Out:</span><ul class="outCount"><li></li><li></li><li></li></ul></div>';
		
		var pitcherstats = new Array();
		var curpitcher = jQuery(game_status).find('current-pitcher');
		if (curpitcher.attr('innings-pitched') != '') pitcherstats.push(curpitcher.attr('innings-pitched')+' IP');
		if (curpitcher.attr('earned-runs') != '') pitcherstats.push(curpitcher.attr('earned-runs')+' ER');
		if (curpitcher.attr('strike-outs') != '') pitcherstats.push(curpitcher.attr('strike-outs')+' K');
		
		var batters = new Array();
		jQuery('batter', game_status).each( function() {
			var batterstats = new Array();
			if (jQuery(this).attr('at-bats') != '') batterstats.push(jQuery(this).attr('hits') +'-'+ jQuery(this).attr('at-bats'));
			if (jQuery(this).attr('runs-batted-in') != '' && jQuery(this).attr('runs-batted-in') != 0) batterstats.push(jQuery(this).attr('runs-batted-in')+' RBI');
			if (jQuery(this).attr('runs') != '' && jQuery(this).attr('runs') != 0) batterstats.push(jQuery(this).attr('runs')+' R');
			if (jQuery(this).attr('home-runs') != '' && jQuery(this).attr('home-runs') != 0) batterstats.push(jQuery(this).attr('home-runs')+' HR');
			batters.push('<a href="/mlb/batterstats.asp?id='+ jQuery(this).attr("id") +'" target="_blank">'+ jQuery(this).attr("first-name") +' '+ jQuery(this).attr("last-name") +'</a> '+ batterstats.join(', '))
		});
		
		gameview += '<div class="topBoxData"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td class="dataTitle">Pitcher:</td><td><a href="/mlb/playerstats.asp?id='+ curpitcher.attr("id") +'" target="_blank">'+ curpitcher.attr("first-name") +' '+ curpitcher.attr("last-name") +'</a> '+ pitcherstats.join(', ') +'</td></tr><td class="dataTitle">At Bat:</td><td>'+ (batters.length > 0 ? batters[0] : '') +'</td></tr><td class="dataTitle">On Deck:</td><td>'+ (batters.length > 1 ? batters[1] : '') +'</td></tr></table></div><div class="btmBoxData"><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td class="dataTitle">1st Base:</td><td>'+menonbaseFull[1]+'</td></tr><td class="dataTitle">2nd Base:</td><td>'+menonbaseFull[2]+'</td></tr><td class="dataTitle">3rd Base:</td><td>'+menonbaseFull[3]+'</td></tr></table></div>';

//		alert(gameview);
		
		jQuery('#'+gamecode+'_scoreBoard .gamePitchers').html('');
		jQuery('#'+gamecode+'_scoreBoard .gamePitchers').css('display','none');
		jQuery('#'+gamecode+'_scoreBoard .gameView').html(gameview);
		jQuery('#'+gamecode+'_scoreBoard .gameView').css('display','block');
		return 5;
	}
	else {
		jQuery('#'+gamecode+'_scoreBoard .gamePitchers').html('');
		jQuery('#'+gamecode+'_scoreBoard .gamePitchers').css('display','none');
		jQuery('#'+gamecode+'_scoreBoard .gameView').html('');
		jQuery('#'+gamecode+'_scoreBoard .gameView').css('display','none');
		return 5;
	}
}

var cubs_photo_captions = new Array(), cubs_photo_images = new Array(), current_cub_photo = 0;
function addPhoto(caption, image) {
	cubs_photo_captions[cubs_photo_captions.length] = caption;
	
	var this_image = new Image();
	this_image.src = image;
	cubs_photo_images[cubs_photo_images.length] = this_image;
}

function nextPhoto() {
	if (cubs_photo_captions.length > current_cub_photo+1) {
		current_cub_photo++;
		jQuery('.photos img').attr('src', cubs_photo_images[current_cub_photo].src);
		resizePhoto();
		
		jQuery('.photos span').text(cubs_photo_captions[current_cub_photo]);
		if (cubs_photo_captions[current_cub_photo] == '')
			jQuery('div.photos span').css('visibility','hidden');
		else
			jQuery('div.photos span').css('visibility','visible');
		
		jQuery('div.photos table tr td.leftBtn').css('visibility','visible');
//		if (cubs_photo_captions.length == current_cub_photo+1)
//			jQuery('div.photos table tr td.rightBtn').css('visibility','hidden');
	}
}
function prevPhoto() {
	if (current_cub_photo > 0) {
		current_cub_photo--;
		jQuery('.photos img').attr('src', cubs_photo_images[current_cub_photo].src);
		resizePhoto();
		
		jQuery('.photos span').text(cubs_photo_captions[current_cub_photo]);
		if (cubs_photo_captions[current_cub_photo] == '')
			jQuery('div.photos span').css('visibility','hidden');
		else
			jQuery('div.photos span').css('visibility','visible');
		
		jQuery('div.photos table tr td.rightBtn').css('visibility','visible');
//		if (current_cub_photo == 0)
//			jQuery('div.photos table tr td.leftBtn').css('visibility','hidden');
	}
}

function resizePhoto() {
	if (cubs_photo_images.length > current_cub_photo) {
		var this_image = cubs_photo_images[current_cub_photo];
		if (this_image.height/218 > this_image.width/326) {
			jQuery('.photos img').css('height', "218px");
			jQuery('.photos img').css('width', Math.ceil(this_image.width/(this_image.height/218))+"px");
//			alert((this_image.width/(this_image.height/218))+"x218");
		}
		else {
			jQuery('.photos img').css('height', Math.ceil(this_image.height/(this_image.width/326))+"px");
			jQuery('.photos img').css('width', "326px");
//			alert("326x"+(this_image.height/(this_image.width/326)));
		}
	}
}

function getTeamLinks(homeid, awayid, homename, awayname) {
//			jQuery('#team_links div.x-panel-mc div')
	jQuery('#team_links .widget_content').html('<div class="teamlinks"><table width="100%" cellspacing="0" cellpadding="0"> <tr class="colTitles"> <td class="awayheader">'+awayname+'</td> <td class="homeheader">'+homename+'</td></tr><tr class="linkrow"><td class="awaylink"><a href="/mlb/teamreports.asp?tm='+awayid+'&report=schedule" target="_blank">Team Schedule</a></td><td class="homelink"><a href="/mlb/teamreports.asp?tm='+homeid+'&report=schedule" target="_blank">Team Schedule</a></td></tr><tr class="linkrow"><td class="awaylink"><a href="/mlb/teamreports.asp?tm='+awayid+'&report=roster" target="_blank">Team Roster</a></td><td class="homelink"><a href="/mlb/teamreports.asp?tm='+homeid+'&report=roster" target="_blank">Team Roster</a></td></tr> <tr class="linkrow"><td class="awaylink"><a href="/mlb/teamreports.asp?tm='+awayid+'&report=stats" target="_blank">Team Statistics</a></td><td class="homelink"><a href="/mlb/teamreports.asp?tm='+homeid+'&report=stats" target="_blank">Team Statistics</a></td></tr> <tr class="linkrow"><td class="awaylink"><a href="/mlb/teamreports.asp?tm='+awayid+'&report=injuries" target="_blank">Team Injuries</a></td><td class="homelink"><a href="/mlb/teamreports.asp?tm='+homeid+'&report=injuries" target="_blank">Team Injuries</a></td></tr> <tr class="linkrow"><td class="awaylink"><a href="/mlb/teamreports.asp?tm='+awayid+'&report=depth" target="_blank">Team Depth Chart</a></td><td class="homelink"><a href="/mlb/teamreports.asp?tm='+homeid+'&report=depth" target="_blank">Team Depth Chart</a></td></tr><tr class="linkrow"><td class="awaylink"><a href="/mlb/teamreports.asp?tm='+awayid+'&report=trans" target="_blank">Team Transactions</a></td><td class="homelink"><a href="/mlb/teamreports.asp?tm='+homeid+'&report=trans" target="_blank">Team Transactions</a></td></tr></div>');
}

function showStandings(division) {
	for (var x = 1; x <= 3; x++) {
		if (x == division) {
			jQuery('#standings'+x).show();
			jQuery('table.regions a:eq('+(x-1)+')').addClass('active');
		}
		else {
			jQuery('#standings'+x).hide();
			jQuery('table.regions a:eq('+(x-1)+')').removeClass('active');
		}
	}
	return false;
}

function showBoxscore(team) {
	for (var x = 1; x <= 2; x++) {
		if (x == team) {
			jQuery('#boxscore'+x).show();
			jQuery('.gameBoxscore table.teams a:eq('+(x-1)+')').addClass('active');
			BOXSCORE_TEAM = (x == 1 ? AWAY_TEAM : HOME_TEAM);
		}
		else {
			jQuery('#boxscore'+x).hide();
			jQuery('.gameBoxscore table.teams a:eq('+(x-1)+')').removeClass('active');
		}
	}
	return false;
}

var NEXT_BLANK_GAME = 1;
function clearAroundTheLeagueScoreboard() {
	var html = "";
	
	for (var x = 1; x <= 30; x++)
		html += '<tr class="game'+x+'" style="display: none"> <td class="matchUp"></td> <td class="tv"></td> <td class="score"></td> <td class="status"></td> </tr>';
	
	jQuery('#atl_scoreboard .widget_content').html(' <div class="aroundTheLeague"> <table width="100%" cellspacing="0" cellpadding="0" border="0"> <tr> <th>Match Up</th> <th>TV</th> <th>Score</th> <th>Status</th> </tr> '+html+' </table> <a href="/mlb/scoreboard.asp" target="_blank"><span class="more">Full Scoreboard</span></a> </div>');
	
	NEXT_BLANK_GAME = 1;
}

function addAroundTheLeagueScoreboard(xmlBody) {
	var gamecode = jQuery(xmlBody).attr('gamecode');
	
	jQuery('#atl_scoreboard .widget_content .game'+NEXT_BLANK_GAME).addClass('atl_scoreboard_'+gamecode);
	updateAroundTheLeagueScoreboard(xmlBody);
	jQuery('#atl_scoreboard .widget_content .game'+NEXT_BLANK_GAME).show();
	
	NEXT_BLANK_GAME++;
}

function updateAroundTheLeagueScoreboard(xmlBody) {
	var gamecode = jQuery(xmlBody).attr('gamecode');
	
	var away = jQuery(xmlBody).find('visiting-team');
	var home = jQuery(xmlBody).find('home-team');
	var awayname = jQuery(away).attr('display_name');
	var homename = jQuery(home).attr('display_name');
	
	var game_status = jQuery(xmlBody).find('gamestate');
	var game_status_str = game_status.attr('display_status1');
	
	if (game_status.attr('display_status2') && game_status.attr('display_status2') != "")
		game_status_str += ' '+ game_status.attr('display_status2')
	
	if (game_status.attr('href') && game_status.attr('href') != "")
		game_status_str = '<a href="'+ game_status.attr('href') +'" target="_blank">' +game_status_str + "</a>";
	
	var tv_str = "";
	if (game_status.attr('tv'))
		tv_str = game_status.attr('tv');
	
	var score_str = "";
	var home_score = jQuery(home).find('score[heading=\'R\']');
	var away_score = jQuery(away).find('score[heading=\'R\']');
	if ((home_score.length > 0) && (away_score.length > 0) && (jQuery(away_score).attr('value') != undefined) && (jQuery(home_score).attr('value') != undefined)) {
		score_str = jQuery(away_score).attr('value') + '-' + jQuery(home_score).attr('value');
	}
	
	jQuery('#atl_scoreboard .widget_content .atl_scoreboard_'+gamecode+' .matchUp').html(awayname+' at '+homename);
	jQuery('#atl_scoreboard .widget_content .atl_scoreboard_'+gamecode+' .tv').html('&nbsp;' + tv_str);
	jQuery('#atl_scoreboard .widget_content .atl_scoreboard_'+gamecode+' .score').html('&nbsp;' + score_str);
	jQuery('#atl_scoreboard .widget_content .atl_scoreboard_'+gamecode+' .status').html(game_status_str);
		
}

