var xreq = null;
var games = Array();
var dates = Array();
var curdate = 0;
var curpage = 0;
var totalpages = 0;

var dow = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var moy = ["January","February","March","April","May","June","July","August","September","October","November","December"];

function ol()
{
	if(screen.width <= 1024)
	{
		if(document.getElementById("ie-container"))
			document.getElementById("ie-container").style.overflow = "visible";
		document.getElementById("sky-row").style.display = "none";
		document.getElementById("grass-row").style.display = "none";
	}	
}

function getDateFromString(str)
{	
	var dtitems = str.split(" ");
	var months = Array();	
	months["Jan"] = 0;
	months["Feb"] = 1;
	months["Mar"] = 2;
	months["Apr"] = 3;
	months["May"] = 4;
	months["Jun"] = 5;
	months["Jul"] = 6;
	months["Aug"] = 7;
	months["Sep"] = 8;
	months["Oct"] = 9;
	months["Nov"] = 10;
	months["Dec"] = 11;
	var month = months[dtitems[0]];

	str = str.substr(3);
	str = str.replace(/^\s+|\s+$/g, '');
	dtitems = str.split(" ");

	return new Date(dtitems[1],month,dtitems[0]);
}

function setLinesDateTo(xdate)
{
	document.getElementById("lines-date-display").innerHTML = '<span class="heavy">' + dow[xdate.getDay()] + ',</span> ' + 
		 moy[xdate.getMonth()] + 
		 ' <span class="heavy">' + xdate.getDate() +  
		 (xdate.getDate().toString().lastIndexOf("1") == (xdate.getDate().toString().length - 1) ? "st" : (xdate.getDate().toString().lastIndexOf("2") == (xdate.getDate().toString().length - 1) ? "nd" : (xdate.getDate().toString().lastIndexOf("3") == (xdate.getDate().toString().length - 1) ? "rd" : "th"))) + 
		 '</span> ';
}

function setLinesContentTo(xdate)
{
	xdate = xdate.substr(0,11);
	
	if(games.length && games.length > 0)
	{
		//Grab all games of the requested date
		var dv = document.getElementById("lines-content");
		dv.innerHTML = '';
		curpage = 0;
		totalpages = 0;
		var str = '<table class="gamelines">';
		
		for(x=0,p=0;x<games.length;x++)
		{
			if(games[x].getAttribute("GameDateTime").indexOf(xdate) == 0)
			{
				var fav = games[x].getAttribute("FavoredTeamID") == games[x].getAttribute("Team1ID") ? 1 : 2;
				
				str += 
				'<tr class="gameline-entry-' + (fav == 1 ? 'favorite' : 'unfavorite') + '"><td class="team-name">';

				if(!(p%2))
				{
					str += '<div id="page' + totalpages +'" style="height: 3px; font-size: 1px;"></div>';
					totalpages++;
				}

				str += games[x].getAttribute("Team1ID") + '</td>' +
					'<td class="spread">' + (fav == 1 ? (games[x].getAttribute("Spread")) : ('+' + games[x].getAttribute("Spread")*(-1))) + '</td>' +
					'<td class="spreadadj">' + games[x].getAttribute("SpreadAdj1") + '</td>' +
					'<td class="overunder">' + (fav == 1 ? 'o' : 'u') + '</td>' +
					'<td class="totalpoints">' + games[x].getAttribute("TotalPoints") + '</td>' +
					'<td class="totalpointsadj">' + games[x].getAttribute("TtlPtsAdj1") + '</td>' +
				 '</tr>';
				 
				str += '<tr class=""><td colspan="6"><div class="gameline-entry-separator"></div><td></tr>';
				
				str += 
				'<tr class="gameline-entry-' + (fav == 2 ? 'favorite' : 'unfavorite') + '">' +
					'<td class="team-name">' + games[x].getAttribute("Team2ID") + '</td>' +
					'<td class="spread">' + (fav == 2 ? (games[x].getAttribute("Spread")) : ('+' + games[x].getAttribute("Spread")*(-1))) + '</td>' +
					'<td class="spreadadj">' + games[x].getAttribute("SpreadAdj2") + '</td>' +
					'<td class="overunder">' + (fav == 2 ? 'o' : 'u') + '</td>' +
					'<td class="totalpoints">' + games[x].getAttribute("TotalPoints") + '</td>' +
					'<td class="totalpointsadj">' + games[x].getAttribute("TtlPtsAdj2") + '</td>' +
				 '</tr>';

				str += '<tr class="gameline-entry-spacer"><td colspan="6"><span class="hs-green">' +  
				       games[x].getAttribute("GameName") + '</span> ' + games[x].getAttribute("GameLoc") + '<td></tr>';
						 
				p++;
			}
		}
		str += '</table>';
		dv.innerHTML = str;
		
		$('scroll-controls').style.visibility = totalpages > 1 ? "visible" : "hidden";
	}
}

function handleResponse(response)
{
	var doc = null;
	
	if (window.ActiveXObject)
	{
		doc = new ActiveXObject("Microsoft.XMLDOM");
		doc.async="false";
		doc.loadXML(response);
	}
	else
	{
		var parser = new DOMParser();
		var doc = parser.parseFromString(response,"text/xml");
	}
	
	if(doc != null)
	{
		var tmpgames = doc.getElementsByTagName("Game");	
		//Filter periods out of this, keep only actual games
		for(x=0;x<tmpgames.length;x++)
		{
			//PeriodDescription="Game"
			if(tmpgames[x].getAttribute("PeriodDescription") == "Game")
				games.push(tmpgames[x]);		
		}
		
		//Once we have what we need, grab all dates !!!
		for(x=0;x<games.length;x++)
		{
			var inarray = false;
			
			for(y=0;y<dates.length;y++)
				if(getDateFromString(games[x].getAttribute("GameDateTime")).toString() == dates[y][0].toString())
				{
					inarray = true;
					break;
				}
			
			if(!inarray)
			{
				var dt = getDateFromString(games[x].getAttribute("GameDateTime"));
				var today = new Date();
				today = new Date(today.getFullYear(),today.getMonth(),today.getDate());
				
				if(today > dt)
					curdate++;
					
				dates.push(new Array(dt,games[x].getAttribute("GameDateTime")));
			}			
		}
		
		//Display the first date, attach events to the links to move through dates.
		setLinesDateTo(dates[curdate][0]);
		setLinesContentTo(dates[curdate][1]);
		$('lines-date-back').addEvent('click', function(e){
					e = new Event(e); 
					curdate = curdate <= 0 ? (dates.length - 1) : --curdate;
					setLinesDateTo(dates[curdate][0]);
					setLinesContentTo(dates[curdate][1]);
					e.stop();
		});
		$('lines-date-forward').addEvent('click', function(e){
					e = new Event(e); 
					curdate = curdate >= (dates.length - 1) ? 0 : ++curdate;
					setLinesDateTo(dates[curdate][0]);
					setLinesContentTo(dates[curdate][1]);
					e.stop();
		});
	}
}


