var aBetBasketOther = new Array();//for trifecta,Exacta and Quinella & First4
//--------------for display hide cell;ref to winplace js---------
var flagChanged = false;
var fromMode = 1;//after refresh the toMode will always be 1
var toMode = 0;

function RefreshRaceCardLoop(EventId,Refresh,PageType,UpdateNow) {
	var iDuration = 30000;

	if (UpdateNow) {
	    // Find all of the checked checkboxes before refreshing
	    var eleRaceCardCheckboxesBefore = $("#rc_" + EventId + " INPUT:checkbox:checked");

		var JockTrainFlucChoice = GetJockTrainFlucChoice();
		var sURL = "/XMLData/HTML_RacingEventPrices.aspx?EventId=" + EventId+"&PageType="+PageType+"&JockTrainFlucChoice=" + JockTrainFlucChoice;
		var eventPrices = GetXMLData(sURL);
		
		if (eventPrices == null || eventPrices == "") 
			window.status = "Price Refresh Failed.......";
		else {	
			if (document.getElementById("rc_" + EventId) != null)
				document.getElementById("rc_" + EventId).innerHTML = eventPrices;

            // Re-check any checkboxes from before the refresh
            eleRaceCardCheckboxesBefore.each(function(i) {
                $("#" + $(this).attr("id")).attr("checked", true)
            });
            
			
			if(flagChanged)
			{
				if(toMode>1&&toMode<=3)
					SwitchFlucCol(fromMode,toMode);
			}
			iDuration = GetLoopDuration(EventId,Refresh, PageType);
		}
	}
	else UpdateNow = true;

	setTimeout("RefreshRaceCardLoop(" + EventId + "," + Refresh + ",'" +PageType +"'," + UpdateNow + ")", iDuration);
}

function GetJockTrainFlucChoice() 
{
	var colChoice;
	var JockTrainFlucChoice;
	var ths = document.getElementsByTagName("th");
	
	for (var i=0;i<ths.length;i++) {
		if (ths[i].className == "focus") {
			colChoice = ths[i].getAttribute("value");
			break;
		}		
	}
	
	switch (colChoice) {
		case "1": JockTrainFlucChoice = "jock"; break;
		case "2": JockTrainFlucChoice = "train"; break;
		case "3": JockTrainFlucChoice = "fluc"; break;
		default: JockTrainFlucChoice = "fluc"; break;
	}
	
	return JockTrainFlucChoice;
}

function ReTickCheckBoxes(PageType)
{
	if(PageType=="W"||PageType=="UKW"||PageType=="UKP") {

	    var betsInCookie = LoadAndReturnBetBasket();
	    if (betsInCookie != null && betsInCookie.length > 0)
		{
		    for (var i = 0; i < betsInCookie.length; i++)
			{
			    var objP = betsInCookie[i];
				if(objP.TransType == 'RACING')
				{
					var id = "chkPart_"+objP.PartId+objP.PriceType+objP.BetType;
					var chkBox = document.getElementById(id);
					if(chkBox != null) chkBox.checked = true;
					else {
						chkBox = document.getElementById(objP.BookNo+id);
						if (chkBox != null) chkBox.checked = true;
					}		
				}
			}
				
		}		
	}
	else if(PageType=="A"||PageType=="UKM")
	{		
		if(aBetBasketMulti!=null&&aBetBasketMulti.length>0)
		{
			for(var i=0; i<aBetBasketMulti.length; i++)
			{
				var objP = aBetBasketMulti[i];
				if(objP.TransType == 'RACING')
				{
					var id = objP.BookNo+"chkPart_"+objP.PartId+objP.PriceType+objP.BetType;
					var chkBox = document.getElementById(id);
					if(chkBox!=null) chkBox.checked = true;
				}
			}				
		}		
	}
	else if(PageType=="T"||PageType=="E"||PageType=="F4"||PageType=="Q"||PageType=="UKFT")
	{
		if(aBetBasketOther!=null&&aBetBasketOther.length>0)
		{
			for(var i=0; i<aBetBasketOther.length; i++)
			{
				var objP = aBetBasketOther[i];
				if(PageType==objP.Type)
				{
					if(objP.No!="field-all")
					{
						var id = objP.BookNo+"_chkPos"+objP.Pos+"_"+objP.No;
						var chkBox = document.getElementById(id);
							if(chkBox!=null&&(!chkBox.checked))
							{
								chkBox.checked = true;
							}
					}
					else
					{
						var id = objP.BookNo+"_field-all-"+objP.Pos;
						var chkBox = document.getElementById(id);
							if(chkBox!=null&&(!chkBox.checked))
							{
								chkBox.checked = true;
							}
					}
				}
			}
		}		
	}
}

function GetLoopDuration(EventId,Refresh, PageType)
{
	var iLoop = 60000;
	var iTotalSeconds = parseInt(document.getElementById("totalseconds_" + EventId).value);
	var MinsToClose = Math.ceil((iTotalSeconds-iCloseBettingSec)/60);

	if (MinsToClose < -30)
			iLoop = 3600000; // Hour
	else 
	{
		if (MinsToClose == 0 && Refresh != 1) {
			if (PageType == "UKW" || PageType=="UKM"){
				window.location.href="/site/racing/ukracingwin.aspx?refresh=1&eventid=" + EventId;
			}
			else{
				window.location.href="/site/racing/racingwinplace.aspx?refresh=1&eventid=" + EventId;
			}	
		}
		else
		{
			if (MinsToClose >= -30 && MinsToClose < -5)
				iLoop = 60000;
			else 
			{
				if (MinsToClose >= -5 && MinsToClose < 5)
					iLoop = 30000;
				else 
				{
					if (MinsToClose >= 5 && MinsToClose < 30)
						iLoop = 60000;
					else
						iLoop = 300000;
				}
			}
		}
	}
	return (iLoop);
}

function FieldAllTicked(BookNo,iCol,pageType)
{
	
	BB_AddRemoveRaceOther(BookNo,iCol,"field-all",pageType);
	
	var chkBoxs = document.getElementsByTagName('Input');
	
	if(chkBoxs.length>0)
	{
		for(var i= 0; i< chkBoxs.length; i++)
		{
			if(chkBoxs[i].Type = "CheckBox")
			{
				var str = chkBoxs[i].id.split("_");
								
				if(str.length=3)
				{
					var prefix = "chkPos"+iCol;
					if(str[0] == BookNo && str[1] == prefix)
					{
						var runnerNo = str[2];
						var fieldAllBox = document.getElementById(BookNo+"_field-all-"+iCol);
						
						if(fieldAllBox!=null)
						{
							if(fieldAllBox.checked)
							{
								if(!chkBoxs[i].checked)
								{
									chkBoxs[i].checked = true;
									BB_AddRemoveRaceOther(BookNo,iCol,runnerNo,pageType);
								}
							}
							else
							{
								if(chkBoxs[i].checked)
								{
									chkBoxs[i].checked = false;
									BB_AddRemoveRaceOther(BookNo,iCol,runnerNo,pageType);
								}
							}
						}
					}
				}				
			}
		}
	}
	
}

function BB_AddRemoveRaceOther(BookNo,iPos,iRunnerNo,pageType){
	/*var obj = new Object();
	obj.BookNo = BookNo;
	obj.Pos=iPos;
	obj.No=iRunnerNo;
	obj.Type=pageType;
	obj.NoReserve='0';
	if (document.getElementById("chkNoReserve_" + BookNo) != null)
		if (document.getElementById("chkNoReserve_" + BookNo).checked)
			obj.NoReserve='1';
			
    //if the selection is already ticked, remove from the collection and return
	for(var i=0; i< aBetBasketOther.length; i++)
	{
		if(aBetBasketOther[i].BookNo==obj.BookNo && aBetBasketOther[i].Pos==obj.Pos && 
			aBetBasketOther[i].No==obj.No&&aBetBasketOther[i].Type==obj.Type)
		{
			aBetBasketOther.splice(i,1);
			return;
		}					
	}
	
	//Otherwise add to the collection.
	aBetBasketOther.push(obj);
	//SaveRaceOther();	// not required
	alert(aBetBasketOther.length);*/
	
}

function UKFT_RemoveAny(BookNo,iAny, bChecked)
{
	if(bChecked)
	{
		//remove any items for that column from basket
		for(var i=0; i< aBetBasketOther.length; i++)
		{
			if(aBetBasketOther[i].BookNo==BookNo && aBetBasketOther[i].Pos==iAny
				&& aBetBasketOther[i].Type=='UKFT')
			{
				aBetBasketOther.splice(i,1);
			}					
		}
	
		var chkBoxs = document.getElementsByTagName('Input');
	
		if(chkBoxs.length>0)
		{
			for(var i= 0; i< chkBoxs.length; i++)
			{
				if(chkBoxs[i].Type = "CheckBox")
				{
					var str = chkBoxs[i].id.split("_");
									
					if(str.length=3)
					{
						var prefix = "chkPos"+iAny;
						var prefix_fld = "field-all-"+iAny;
						if(str[0] == BookNo && (str[1] == prefix || str[1] == prefix_fld))
						{
							if(chkBoxs[i].checked)
							{
								chkBoxs[i].checked = false; //remove all any checkboxes if exist
							}
						}
					}
				}
			}
		}					
	}
}

function UKFT_RemoveFT(BookNo,iAny, bChecked)
{
	if (bChecked)
	{
		if (iAny == '3') //forecast
		{	UKFT_RemoveAny(BookNo,'1', true);
			UKFT_RemoveAny(BookNo,'2', true);
		}
		if (iAny == 'D') //tricast
		{	UKFT_RemoveAny(BookNo,'A', true);
			UKFT_RemoveAny(BookNo,'B', true);
			UKFT_RemoveAny(BookNo,'C', true);}
	}
}

//----------------------------Hide|display cell javascripts----------------------------------
//1-jock;2-train;3-fluc
function SwitchFlucCol(iFrom,iTo)
{	
	//From jock to train
		var ths = document.getElementsByTagName("th");
		for (var i=0;i<ths.length;i++)
		{
			
			if(ths[i].getAttribute("value")==iFrom)
			{
				ths[i].className="blur";
			}
			else if(ths[i].getAttribute("value")==iTo)
			{
				ths[i].className="focus";
			}
		}
		var tds = document.getElementsByTagName("td");
		for (var i=0;i<tds.length;i++)
		{
			if(tds[i].getAttribute("value")==iFrom)
			{
				tds[i].className="blur";
			}
			else if(tds[i].getAttribute("value")==iTo)
			{
				tds[i].className="focus";
			}
		}
		flagChanged = true;
		toMode = iTo;
}