var timeZone;
var locale;

function updateTodaysResults(formattedRaces) {

	var elem = document.getElementById("trackAccordion");
	var trackID = elem.getAttribute("trackSelected");
	
	todaysResults = document.getElementsByName("TR_" + trackID);
	if (  todaysResults.length == 0 ) {
		todaysResults = getElementsByName_iefix ( elem, "span", "TR_" + trackID);
	}
		
	archiveTimeZone = timeZone;
	archiveLocale = locale;
	
	if ( formattedRaces.length > 0 ) {
		for ( i = 0 ; i < todaysResults.length && i < formattedRaces.length; i++ ) {
			var raceTime = formattedRaces[i].formattedRaceTime;
			var currentRace = formattedRaces[i].race;
			var raceDate = formatRacebookDate(currentRace.raceDate);
			if (currentRace.raceStatus=='C') 			
				todaysResults[i].innerHTML = "<A HREF=\"/horse-betting/result-search.jsp?tc=ALLTRACKS" + "&date=" + raceDate + "&seltrack=" + trackID + "&r=" + currentRace.raceID +"#ancor_"+trackID+"\"> " + raceTime + " </A>";
			else	 
				todaysResults[i].innerHTML = raceTime;
		}
	}
}

function setTimeZone(time){
	timeZone = time;
}
	
function setLocale(local){
	locale = local;
}

function resultArchiveUpdate() {
	resultArchiveQuickUpdate();
	setTimeout("resultArchiveUpdate()", reload_interval);
}

function resultArchiveQuickUpdate() {
	var elem = document.getElementById("trackAccordion");
	var trackID = elem.getAttribute("trackSelected");
	TracksManager.getDateFormattedRaces(trackID, locale, timeZone, updateTodaysResults);
}

var track;

function setTrack(trackId){
	track = trackId;
}

var table_wps = '<table width="380" border=0 cellspacing="0" cellpadding="0">'
				+'<tr class="result-race-info-block-header">'
				+'	<td class="race-info-header-gate">&nbsp;</td>'
				+'	<td class="race-info-header-horse">Horse</td>'
				+'	<td class="race-info-header-trainer">Jockey</td>'
				+'	<td>Min</td>'
				+'	<td>Win</td>'
				+'	<td>Place</td>'
				+'	<td>Show</td>'
				+'</tr>';
var table_ex = '<table width="380" border=0 cellspacing="0" cellpadding="0">'
				+'	<tr class="result-race-info-block-header">'
				+'		<td align="center">Min</td>'
				+'		<td>Bet Type</td>'
				+'		<td align="center">Result</td>'
				+'		<td align="center">Payout</td>'
				+'	</tr>';

function updateTodaysTrackRaceResults(formattedResults) {
	if(formattedResults!= null && formattedResults.length == 3){
		var table =  document.getElementById("TABLE_" + track+"_"+formattedResults[0]);
		if(table){
			//WPS
			table.innerHTML = table_wps+formattedResults[1]+"</table>";	
			//Exotics
			table = document.getElementById("TABLE_EX_" + track+"_"+formattedResults[0]);
			table.innerHTML = table_ex+formattedResults[2]+"</table>";				
		} 
	}
}

var prevFormattedRaces = null;
function updateTodaysTrackResults(formattedRaces) {
	var elem = document.getElementById("trackHeader");
	var trackID = track;
	
	todaysResults = document.getElementsByName("TR_" + trackID);
	if (  todaysResults.length == 0 ) {
		todaysResults = getElementsByName_iefix ( elem, "span", "TR_" + trackID);
	}	

	archiveTimeZone = timeZone;
	archiveLocale = locale;
	if ( formattedRaces.length > 0 ) {
		for ( i = 0 ; i < todaysResults.length && i < formattedRaces.length; i++ ) {

			var raceTime = formattedRaces[i].formattedRaceTime;
			var currentRace = formattedRaces[i].race;
			var raceDate = formatRacebookDate(currentRace.raceDate);
			var j = i + 1;
			if(prevFormattedRaces == null || i > prevFormattedRaces.length 
			  || currentRace.raceStatus != prevFormattedRaces[i].race.raceStatus
			  || raceTime != prevFormattedRaces[i].formattedRaceTime ) {			  
				if (currentRace.raceStatus=='C') { 			
					todaysResults[i].innerHTML = "<A HREF=\"#ancor_"+j+"\"> " + raceTime + " </A>";
					var jspelem =  document.getElementById("TR_WPS_" + track+"_"+j);
					if(jspelem){	
						TracksManager.getTrackRaceUpdate(track, i, updateTodaysTrackRaceResults);
					}
				} else {	 
					todaysResults[i].innerHTML = raceTime;
					var x = getElementsByName_iefix ( elem, "span", "TR_" + trackID+"_"+j);
					x[0].innerHTML = raceTime;
					x[1].innerHTML = raceTime;
				}
			}
		}
	}
	prevFormattedRaces = formattedRaces;
}


function resultArchiveTrackUpdate() {
	resultArchiveTrackQuickUpdate();
	setTimeout("resultArchiveTrackUpdate()", reload_interval);
}

function resultArchiveTrackQuickUpdate() {
	TracksManager.getDateFormattedRaces(track, locale, timeZone, updateTodaysTrackResults);
}

function getScrollHeight(){		
	return document.all ? Math.max(Math.max(document.documentElement.offsetHeight, document.documentElement.scrollHeight), Math.max(document.body.offsetHeight, document.body.scrollHeight)) : (document.body ? document.body.scrollHeight : ((document.documentElement.scrollHeight != 0) ? document.documentElement.scrollHeight : 0));
}
	
var topX;
var bottomMargin;
var topMargin;
function topButtonInit(){
	topX = 400;	
	topMargin = 600;
	bottomMargin = 240;
	window.onscroll = function(){ topButton(); }
	//setTimeout('topButton()',50);
}

function topButton(){
	var maxHeight = getScrollHeight();	
	if (document.all) {
		var newHeight = topX;		
		if(document.body.scrollTop > document.documentElement.scrollTop){
			newHeight +=  document.body.scrollTop;
		} else {
			newHeight +=  document.documentElement.scrollTop;
		}
		if(newHeight > maxHeight - bottomMargin) {
			newHeight = maxHeight - bottomMargin;
		} else if(newHeight < topMargin){
			newHeight = topMargin;
		}
		document.all.top_button.style.pixelTop = newHeight;
	}
	else if (document.layers) {
		var newHeight = topX + window.pageYOffset;
		if(newHeight > maxHeight - bottomMargin) {
			newHeight = maxHeight - bottomMargin;
		} else if(newHeight < topMargin){
			newHeight = topMargin;
		}
		document.top_button.top = newHeight;
	}
	else if (document.getElementById) {
		var newHeight = topX +window.pageYOffset;
		if(newHeight > maxHeight - bottomMargin) {
			newHeight = maxHeight - bottomMargin;
		} else if(newHeight < topMargin){
			newHeight = topMargin;
		}
		document.getElementById('top_button').style.top = newHeight + 'px';
	}
	//setTimeout('topButton()',100);
}