//window.onload = loadTodayGames;
addLoadEvent(loadTodayGames);

function loadTodayGames() {
	//var chForce = Math.round(Math.random() * 1000000);
	var datePath = getMLBDate().toDirectoryPath();
	var dataUrl = "/shared/gen/stats/mlb/"+datePath+"/miniscoreboard_ny.xml"; //?chf="+chForce;
	var am = new AjaxManager();
    am.request(dataUrl, loadTGAjax);
}

var jsObj;
var primeTeam = "NYY";

function loadTGAjax(xmlObj) {
	if(xmlObj.xml) {
		jsObj = toJSObject(xmlObj.xml);
		var scoresDiv = getObject("mlb_scores");
		if(jsObj.game) {				
			if(scoresDiv) {
				var tgTable = document.createElement("table");
					tgTable.setAttribute("id", "todayGames");
					tgTable.setAttribute("cellpadding", "0");
					tgTable.setAttribute("cellspacing", "4");
				var tgRow = tgTable.appendChild(document.createElement("tr"));
				var tgTeamOne = tgRow.appendChild(document.createElement("td"));
				var tgTeamTwo = tgRow.appendChild(document.createElement("td"));
				
				if(jsObj.game.length) {							
					var nyy = new Array();
					var nym = new Array();
					var gl = jsObj.game.length;
					for(var g = 0; g < gl; g++) {
						if(jsObj.game[g].home_code.toUpperCase() == "NYM" || jsObj.game[g].away_code.toUpperCase() == "NYM") {
							nym.push(jsObj.game[g]);
						} else {
							nyy.push(jsObj.game[g]);
						}
					}
					
					if(jsObj.game.length > 2) {
						tgRow = tgTable.appendChild(tgRow.cloneNode(true));
						var tgTeamThree = tgRow.childNodes[0];
						var tgTeamFour = tgRow.childNodes[1];							
						if(primeTeam == "NYM") {
							createModule(nym[0], tgTeamOne);
							createModule(nym[1], tgTeamThree);
							createModule(nyy[0], tgTeamTwo);
							createModule(nyy[1], tgTeamFour);
						} else {
							createModule(nyy[0], tgTeamOne);
							createModule(nyy[1], tgTeamThree);
							createModule(nym[0], tgTeamTwo);
							createModule(nym[1], tgTeamFour);
						}
					} else {
						if(nym.length == 2 && (								
								(nym[0].home_code == nym[1].home_code) &&
								(nym[0].away_code == nym[1].away_code)
								)
						   ) {								
								createModule(nym[0], tgTeamOne);
								createModule(null, tgTeamTwo);
						} else
						if(nym.length == 2 || nyy.length == 2) {
							if(nym.length == 2) {
								createModule(nym[0], tgTeamOne);
								createModule(nym[1], tgTeamTwo);
							} else {
								createModule(nyy[0], tgTeamOne);
								createModule(nyy[1], tgTeamTwo);
							}
						} 
						else 
						if(primeTeam == "NYM") {
							createModule(nym[0], tgTeamOne);
							createModule(nyy[0], tgTeamTwo);
						} else {
							createModule(nyy[0], tgTeamTwo);
							createModule(nym[0], tgTeamOne);
						}
					}
				} else {
					createModule(jsObj.game, tgTeamOne);
					createModule(null, tgTeamTwo);
				}					
				// scoresDiv.innerHTML  = '<div style="text-align:center;margin:3px 0 0;padding:1px 0;background-color:#ccc;font-size:11px;"><b>MLB</b></div>';
				scoresDiv.innerHTML = getOuterHTML(tgTable);
			}
		} else {
			//scoresDiv.innerHTML = "<br/>&nbsp;&nbsp;&nbsp;No games scheduled for today<br/><br/>";
		}
	}
}

function createModule(gameObj, htmlObj) {
if(gameObj) {
	var modGrid = new GridTable();
	modGrid.border = 0;
	modGrid.padding = 1;
	modGrid.width = "100";
	
	var status = gameObj.ind.toUpperCase();
	var headerCaption = "";
	var inngs = parseInt(gameObj.inning);
	var ampm = (gameObj.ampm == "PM")?"p.m.":"a.m.";
	var time = gameObj.time + " " + ampm + " ET";
	if(time.indexOf("3:33 a.m.") != -1) { time = "GAME 2"; }
	
	var awayRun = parseInt(gameObj.away_team_runs);
	var awayTeam = gameObj.away_team_city;
	//var awayWin = gameObj.away_win;
	//var awayLoss = gameObj.away_loss;
	//------------------------------------
	var homeRun = parseInt(gameObj.home_team_runs);
	var homeTeam = gameObj.home_team_city;
	//var homeWin = gameObj.home_win;
	//var homeLoss = gameObj.home_loss;
	
	var rowOne = "";
	var rowTwo = "";
	switch(true) {
		case (status.charAt(0) == 'F' ||
			  status.charAt(0) == 'O' ||
			  status.charAt(0) == 'R' ||
			  status.charAt(0) == 'U'): //Final	
			headerCaption = (inngs < 9 || inngs > 9)?"FINAL /" + inngs:"FINAL";
			if(awayRun > homeRun) {
				rowOne = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td><b>"+awayTeam+"</b></td><td align='right'>"+awayRun+"</td></tr></table>";
				rowTwo = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td>"+homeTeam+"</td><td align='right'>"+homeRun+"</td></tr></table>";
			} else {					
				rowOne = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td>"+awayTeam+"</td><td align='right'>"+awayRun+"</td></tr></table>";
				rowTwo = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td><b>"+homeTeam+"</b></td><td align='right'>"+homeRun+"</td></tr></table>";
			}
			break
		case (status.charAt(0) == 'I'): //In-Game
			var topbot = gameObj.status.top_inning;
				headerCaption = (topbot == "Y")?"TOP " + inngs:"BOTTOM " + inngs;
			if(status.length > 1) {
				headerCaption = (topbot == "Y")?"TOP " + inngs:"BOTTOM " + inngs;
				headerCaption += " (delay)";
			}				
			if(awayRun > homeRun) {
				rowOne = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td><b>"+awayTeam+"</b></td><td align='right'>"+awayRun+"</td></tr></table>";
				rowTwo = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td>"+homeTeam+"</td><td align='right'>"+homeRun+"</td></tr></table>";
			} else {					
				rowOne = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td>"+awayTeam+"</td><td align='right'>"+awayRun+"</td></tr></table>";
				rowTwo = "<table cellpadding='0' cellspacing='0' width='100%' border='0'><tr><td><b>"+homeTeam+"</b></td><td align='right'>"+homeRun+"</td></tr></table>";
			}
			break;
		case (status.charAt(0) == 'D'):	//Postponed
			headerCaption = "Postponed";
			rowOne = awayTeam;
			rowTwo = homeTeam;
			break;
		case (status.charAt(0) == 'C'):	//Cancelled
			headerCaption = "Cancelled";
			rowOne = awayTeam;
			rowTwo = homeTeam;
			break;
		case (status.charAt(0) == 'P'):	//Pre-Game
			headerCaption = time;			
			if(status.length > 1) {
				headerCaption = time + " (delay)";
			}
			if(status == "PW") {
				headerCaption = time + " (wrmup)";
			}
			//rowOne = awayTeam+" ("+awayWin+"-"+awayLoss+")";
			//rowTwo = homeTeam+" ("+homeWin+"-"+homeLoss+")";
			rowOne = awayTeam;
			rowTwo = homeTeam;
			break;
		case (status.charAt(0) == 'S'):	//Pre-Game - Scheduled
			headerCaption = time;
			//rowOne = awayTeam+" ("+awayWin+"-"+awayLoss+")";
			//rowTwo = homeTeam+" ("+homeWin+"-"+homeLoss+")";
			rowOne = awayTeam;
			rowTwo = homeTeam;
			break;
	}
	
	//-----------------------------------------
	var column = new GridColumn(headerCaption);
		column.captionStyle = "gameHeader";
		modGrid.appendColumn(column);
		modGrid.insertRow([rowOne],"midRow");
		modGrid.insertRow([rowTwo],"botRow");
	
		htmlObj.innerHTML = modGrid.renderGrid();
	} else {
		htmlObj.innerHTML = "&nbsp;";
		htmlObj.width = 130;
		//htmlObj.style.background = "url(/images/bg_nogame.gif)";
	}
}
