//  Copyright - RealTime Fantasy Sports 2007
//--
//-- AJAX/Refresh stuff
//--
var WatchDogTimer = 0;
var RefreshRate = 300000;
var isWorking = false;
var displayEventName = false;
var http = getHTTPObject();

function handleHttpResponse() {

	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
			try
			{
				var xmlDocument = http.responseXML;
				DisplayResults(xmlDocument);

				isWorking = false;

				timerID = setTimeout("UpdateLineupResults()", RefreshRate + Math.floor(Math.random() * 5));

				clearTimeout(WatchDogTimer);
				WatchDogTimer = setTimeout("RefreshPage()", RefreshRate * 2);

				updateElement = xmlDocument.getElementsByTagName('update').item(0);
				if (updateElement)
				{
					//Update the time on the screen
					//var updateCell = document.getElementById("TopCurrDate");
					//if (updateCell) updateCell.innerHTML = updateElement.getAttribute('time');
				}
			}
			catch (e) { ; }

		} else {
			;
		}
	}
}

function UpdateLineupResults(event_id,user_id)
{
	if (event_id) document.RefreshForm.EVENTID.value=event_id;
	if (user_id) document.RefreshForm.USERID.value=user_id;

	if (!isWorking && http && document.RefreshForm.EVENTID.value.length>0 && document.RefreshForm.USERID.value.length>0) {
		http.open("GET", "/pbr/lineup-results-provider.php?EVENTID=" + escape(document.RefreshForm.EVENTID.value) +
							 "&USERID=" + escape(document.RefreshForm.USERID.value) + "&DETAILS=1&X=" + Math.floor(Math.random() * 99999), true);

		http.onreadystatechange = handleHttpResponse;
		isWorking = true;
	    http.send(null);
	}
}

function RefreshPage()
{
	document.RefreshForm.submit();
}

function DisplayResults(xmlDocument) {

	var msgLineupNA = document.getElementById('LINEUP_NA');
	var msgLineup = document.getElementById('LINEUP');
	var eventElement = xmlDocument.getElementsByTagName('event').item(0);

	var customerElement = xmlDocument.getElementsByTagName('customer').item(0);
	if (customerElement && eventElement)
	{
		var updateStatusElement = eventElement.getAttribute('update_status');
		if (updateStatusElement == 0 || updateStatusElement == -1) {
			// Guy has no lineup
			if (msgLineup) msgLineup.style.display = 'none';
			if (msgLineupNA) msgLineupNA.style.display = 'block';
			msgLineupNA.innerHTML = "<br><center>" + customerElement.getAttribute('nickname') + " " + (updateStatusElement == -1 ? "has not picked" : "did not pick") + " a lineup for this event.</center><br>";
			if (updateStatusElement == -1)
				if (document.RefreshForm.LOGGEDINUSERID)
					if (document.RefreshForm.LOGGEDINUSERID.value == customerElement.getAttribute('id'))
						// If we're viewing results for logged in user, they have no lineup, and it's before start event
					 	msgLineupNA.innerHTML += "<center>Click <a href=/pbr/lineup>here</a> to choose a lineup.</center><br>";
		}
		else {
			if (msgLineup) msgLineup.style.display = 'block';
			if (msgLineupNA) msgLineupNA.style.display = 'none';

/*MJR - Don't update the Avatar Image and the Nickname via AJAX
			var avatarImg = document.getElementById('USER_AVATAR');
			if (avatarImg) {
				var img_src = customerElement.getAttribute('avatar_url');
				if (img_src.length > 0)
					avatarImg.src = img_src;
				else
					avatarImg.src = "http://www.rtsports.com/pbr/img/default-avatar.gif";
			}

			var nicknameCell = document.getElementById('USER_NICKNAME');
			if (nicknameCell) {
				nicknameCell.innerHTML = '<img src="/pbr/pbr-font.php?TEXT=' + customerElement.getAttribute('nickname') + '">';
			}
*/
		}

		var seasonRankCell = document.getElementById('USER_SEASON_RANK');
		if (seasonRankCell) seasonRankCell.innerHTML = (customerElement.getAttribute('season_position') > 0 ? "#" + customerElement.getAttribute('season_position') : "-");

		var seasonPtsCell = document.getElementById('USER_SEASON_PTS');
		if (seasonPtsCell) seasonPtsCell.innerHTML = "&nbsp;&nbsp;" + (customerElement.getAttribute('season_points') > 0 ? customerElement.getAttribute('season_points') : "-");
	}
	if (updateStatusElement > 0 || updateStatusElement < -1) {
		if (eventElement)
		{
			var topTextCell = document.getElementById('TITLE_TEXT');
			if (topTextCell && displayEventName) {
				topTextCell.innerHTML = eventElement.getAttribute('name');
			}
			var eventRankCell = document.getElementById('EVENT_RANK');
			if (eventRankCell) eventRankCell.innerHTML = "Event Rank: " + (eventElement.getAttribute('event_rank') > 0 ? "#" + eventElement.getAttribute('event_rank') : "-");

         var rnds;
         var i;
   
         rnds = eventElement.getAttribute('rounds');

			for (i = 0; i < eventElement.childNodes.length; i++)
			{

				var node = eventElement.childNodes.item(i);

				if (node.nodeType == 1)
				{
					if (node.tagName == 'pbr_player')
					{
						var lineup_pos = node.getAttribute('lineup_pos');
						var id = node.getAttribute('id');
						var pbr_id = node.getAttribute('pbr_id');
						var last_name = node.getAttribute('last_name');
						var first_name = node.getAttribute('first_name');
						var have_headshot = node.getAttribute('have_headshot');
						var ride1_pts = new Number(node.getAttribute('ride1_pts'));
						var ride2_pts = new Number(node.getAttribute('ride2_pts'));
						var ride3_pts = new Number(node.getAttribute('ride3_pts'));
						var ride4_pts = new Number(node.getAttribute('ride4_pts'));
						var ride5_pts = new Number(node.getAttribute('ride5_pts'));
						var ride6_pts = new Number(node.getAttribute('ride6_pts'));
						var ride7_pts = new Number(node.getAttribute('ride7_pts'));
						var ride8_pts = new Number(node.getAttribute('ride8_pts'));
						var ride1_name = node.getAttribute('ride1_name');
						var ride2_name = node.getAttribute('ride2_name');
						var ride3_name = node.getAttribute('ride3_name');
						var ride4_name = node.getAttribute('ride4_name');
						var ride5_name = node.getAttribute('ride5_name');
						var ride6_name = node.getAttribute('ride6_name');
						var ride7_name = node.getAttribute('ride7_name');
						var ride8_name = node.getAttribute('ride8_name');
						var ride1_bot = new Number(node.getAttribute('ride1_bot'));
						var ride2_bot = new Number(node.getAttribute('ride2_bot'));
						var ride3_bot = new Number(node.getAttribute('ride3_bot'));
						var ride4_bot = new Number(node.getAttribute('ride4_bot'));
						var ride5_bot = new Number(node.getAttribute('ride5_bot'));
						var ride6_bot = new Number(node.getAttribute('ride6_bot'));
						var ride7_bot = new Number(node.getAttribute('ride7_bot'));
						var ride8_bot = new Number(node.getAttribute('ride8_bot'));
						var is_bull = (lineup_pos.substring(0,1) == 'B');
						var pts = 0;
						if (node.firstChild) pts = new Number(node.firstChild.data);

                  if (lineup_pos == "TB")
                  {
                     var tbBullCell = document.getElementById('TB_BULL');
                     if (tbBullCell)
                     {
   							tbBullCell.innerHTML = 'Tiebreaker: ' + last_name + ' ' +  pts.toFixed(2); 
                     }
                  }

						var playerImg = document.getElementById(lineup_pos + '_IMG');
						if (playerImg)
						{
							if (id == 0)
							{
								playerImg.src = "http://www.rtsports.com/pbr/img/default-headshot.gif";
							}
							else if (have_headshot==1)
							{
								if (is_bull)
									playerImg.src = "http://www.rtsports.com/pbr/img/headshot/B" + pbr_id + ".jpg";
								else
									playerImg.src = "http://www.rtsports.com/pbr/img/headshot/" + pbr_id + ".jpg";
							}else{
								if (is_bull)
									playerImg.src = "http://www.rtsports.com/pbr/img/headshot/B0-small.jpg";
								else
									playerImg.src = "http://www.rtsports.com/pbr/img/headshot/0.jpg";
							}
						}
						var playerNameCell = document.getElementById(lineup_pos + '_NAME');
						if (playerNameCell)
						{
							playerNameCell.innerHTML = "";
							if (first_name.length > 0)
							{
								playerNameCell.innerHTML = first_name + "&nbsp;";
							}
							playerNameCell.innerHTML = playerNameCell.innerHTML + last_name;
						}
						var playerScoreCell = document.getElementById(lineup_pos + '_SCORE');
						if (playerScoreCell)
						{
							playerScoreCell.innerHTML = pts.toFixed(2);
						}
						var playerStatCell = document.getElementById(lineup_pos + '_STATS');
						if (playerStatCell)
						{
							var stat_line = "";

							if (ride1_name != null)
                     {
                        if (ride1_name.length > 0) {
                           stat_line += (rnds==1?"SG: ":"R1: ") + ride1_name;
                           if (ride1_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride1_pts.toFixed(2);
                           else if (ride1_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride1_bot.toFixed(1) + "s";
                        }
							}
							
							if (ride2_name != null)
                     {
                        if (ride2_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==2?"SG: ":"R2: ") + ride2_name;
                           if (ride2_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride2_pts.toFixed(2);
                           else if (ride2_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride2_bot.toFixed(1) + "s";
                        }
							}

							if (ride3_name != null)
                     {
                        if (ride3_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==3?"SG: ":"R3: ") + ride3_name;
                           if (ride3_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride3_pts.toFixed(2);
                           else if (ride3_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride3_bot.toFixed(1) + "s";
                        }
							}

                     if (ride4_name != null)
                     {
                        if (ride4_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==4?"SG: ":"R4: ") + ride4_name;
                           if (ride4_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride4_pts.toFixed(2);
                           else if (ride4_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride4_bot.toFixed(1) + "s";
                        }
							}

							if (ride5_name != null)
                     {
                        if (ride5_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==5?"SG: ":"R5: ") + ride5_name;
                           if (ride5_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride5_pts.toFixed(2);
                           else if (ride5_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride5_bot.toFixed(1) + "s";
                        }
							}

							if (ride6_name != null)
                     {
                        if (ride6_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==6?"SG: ":"R6: ") + ride6_name;
                           if (ride6_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride6_pts.toFixed(2);
                           else if (ride6_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride6_bot.toFixed(1) + "s";
                        }
							}

							if (ride7_name != null)
                     {
                        if (ride7_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==7?"SG: ":"R7: ") + ride7_name;
                           if (ride7_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride7_pts.toFixed(2);
                           else if (ride7_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride7_bot.toFixed(1) + "s";
                        }
							}

							if (ride8_name != null)
                     {
                        if (ride8_name.length > 0) {
                           if (stat_line.length > 0) stat_line += "<br>";
                           stat_line += (rnds==8?"SG: ":"R8: ") + ride8_name;
                           if (ride8_pts > 0)
                              stat_line += "&nbsp;&nbsp;" + ride8_pts.toFixed(2);
                           else if (ride8_bot > 0)
                              stat_line += "&nbsp;BOT&nbsp;" + ride8_bot.toFixed(1) + "s";
                        }
							}

                     playerStatCell.innerHTML = stat_line;
						}

					}else if (node.tagName == 'total_points')
					{
						var total_pts = 0;
						if (node.firstChild) total_pts = new Number(node.firstChild.data);
						var totalCell = document.getElementById('EVENT_TOTAL');
						if (totalCell)
						{
							totalCell.innerHTML = total_pts.toFixed(2);
						}
					}

				}

			}

		}
	}
}


