

$(document).ready(function(){
	
	/*
	For play again buttons we don't want to load all the jackpots but instead just the game
	we want to play again. That's initiated from the game_results page where necessary
	*/
	
	var	LoadJackpots	=	1;
	if (SkipLoadJackpots != undefined) {
		if (SkipLoadJackpots == 1) {
			LoadJackpots	=	0;
		}
	}
	if (LoadJackpots == 1) {
		ReadCompetitions(0);
	}
});

var	Competion_Global_ListSize	=	50;
var Competion_Global_FieldID	=	"CompetitionEntry_";
var	Competion_user_sessionID	=	"";
var	Competion_GameTypeID		=	0;
var	Competion_GamesXML			=	"";
var GamePlayJavascript			=	"";		// This is the javascript used to play this game. We need it for the PlayAgain Button

function ReadCompetitions(GameID)
{

	var	WebServiceURL	= 	"/API/server/game/GameServer.php";
	var RPCName			= 	"game.list";		
	var	Parameters		= 	new Object;
	var	GameTypeID		=	GetURLParameter("GameTypeID");
	if (GameTypeID.length > 0) {
		Competion_GameTypeID		=	GameTypeID;
	}
	else {
		Competion_GameTypeID		=	$('#playcash_game_type_id').text();
	}
	
	Parameters.ListSize			= 	Competion_Global_ListSize;
	Parameters.LanguageID		=	127;
	Parameters.Mobile			=	0;
	if (Competion_GameTypeID > 0) {
		Parameters.GameTypeID		=	Competion_GameTypeID;
	}
	
	Parameters.MaxGames			=	Competion_Global_ListSize;
	Parameters.CashGamesOnly	=	1;
	Parameters.AddCurrentLeader	=	1;
	Parameters.CurrencyID		=	131;
	Parameters.AffiliateID		=	readCookie("AffiliateID");
	/*
	if ((GameID != undefined) && (GameID.length > 0)) {		
		Parameters.GameID	=	GameID;
		$('.play_again_btn').attr("onclick", "javascript:PlayCompetition(1)");
		$('.play_again_btn').attr("href", "#");
	}
	*/
	GetSimpleRPCData(ShowCompetions,WebServiceURL,RPCName,Parameters);

}

/*

The ShowUserData routine is called when we receive the PublicUserInfo 
call back. It is used to update every "changable" field in on the site
When you have finished processing it, the "setTimeout" forks of another 
request in 30 seconds

*/

function ShowCompetions(xml,result)
{

	$('#competitions_loading').hide();

	var Status		=	$("scalar[id='Status']",xml).text().toUpperCase();
	if (Status == "ERROR") {
		var	ErrorCount		=	$("scalar[id='ErrorCount']",xml).text();
		var	ErrorMessage	=	"";
		var ErrorCode		=	0;
		var NoGames			=	false;
		for (ThisError=1;ThisError<=ErrorCount;ThisError++) {
			ThisError		=	$("vector[id='Error_" + ThisError + "']",xml);
			ErrorMessage	=	ErrorMessage + "<br>" + $("scalar[id='ErrorMessage']",ThisError).text();
			ErrorCode		=	$("scalar[id='ErrorCode']",ThisError).text();
			if (ErrorCode == 28) {
				NoGames		=	true;
			}
		}
		
		if (NoGames == true) {
			$('#competition_no_games').show();
		}
		else {
			DisplayCashPlayError(ErrorMessage);
		}
		return;
	}

	Competion_GamesXML			=	xml;
	Competion_user_sessionID	=	PHP_UserSessionID;
	
	$('.jackpot_end_game_play_again').show();

	var	NumberOfGames			=	parseInt($("scalar[id='NumberOfGames']",xml).text());
	
	// alert("Start Jackpot Loop " + Competion_Global_ListSize);

	for (i=1;i<Competion_Global_ListSize;i++) {
		
		var	ElapseString = "";
		// ElapseString	+=	AlertMilliSeconds("1 -");
		
		if (i<=NumberOfGames) {
			
			ThisGame			=	$("vector[id='Game_" + i + "']",xml);
			try {
				
				var	GameID					=	$("scalar[id='GameID']",ThisGame).text();
				var	DisplayStake			=	$("scalar[id='ShowStake']",ThisGame).text();
				var	Stake					=	$("scalar[id='Stake']",ThisGame).text();
				var	GameTypeName			=	$("scalar[id='GameTypeName']",ThisGame).text();
				var	DisplayPrizeMoney		=	$("scalar[id='ShowPrizeMoney']",ThisGame).text();
				var	DisplayEndDateTime		=	$("scalar[id='DisplayEndDateTime']",ThisGame).text();

				var	GameTypeArray			=	$("vector[id='GameTypeArray']",xml);
				var	PlayGamePage			=	$("scalar[id='PlayGamePage']",GameTypeArray).text();
				
				var	CurrentPlayers			=	$("scalar[id='CurrentGamePlayers']",ThisGame).text();;
				var	PlayBrainCells			=	$("scalar[id='PlayBrainCells']",ThisGame).text();;
				var	WinBrainCells			=	$("scalar[id='WinBrainCells']",ThisGame).text();;
				var	WillRollOver			=	parseInt($("scalar[id='WillRollOver']",ThisGame).text());;
				// ElapseString	+=	AlertMilliSeconds("1.1 -");
				
				var	GameImage				=	$("scalar[id='GameImageURL_300x225']",ThisGame).text();;
				
				// var	ChallengeEnds			=	"Today"
				
				// var LeaderArray				=	$("vector[id='CurrentLeader']",xml);
				// var	CurrentLeader			=	$("scalar[id='UserName']",LeaderArray).text();
				
				try {
					var CurrentLeader				=	$("vector[id='CurrentLeader']",xml);
					var LeaderName					=	$("scalar[id='UserName']",ThisGame).text();
					var LeaderGameScore				=	$("scalar[id='GameScore']",ThisGame).text();
				}
				catch (Exception) {}
				
				if (LeaderName.length == 0) {
						LeaderName					=	"No players yet";
						LeaderGameScore				=	"";
				}
				
				// ElapseString	+=	AlertMilliSeconds("1.2 -");
				var href				=	"javascript:PlayCompetition(" + i + ")";
				/*
				var href				=	"javascript:PlayCompetition(" + GameID + ",'" + 
																			DisplayStake + "','" + 
																			DisplayPrizeMoney + "','" + 
																			Stake + "'," +
																			"'" + PlayGamePage + "'," + 
																			CurrentPlayers + "," +
																			PlayBrainCells + "," +
																			WinBrainCells + "," +
																			"'" + DisplayEndDateTime + "'," +
																			"'" + LeaderName + "'," +
																			"'" + GameImage + "'," +
																			"'" + GameTypeName + "'," + i +
																			")";				

				*/
				//	This line avoids the lightbox
				
				// var href				=	PlayGamePage + "?SCS=0&GameID=" + GameID + "#FLASHGAME";

				// ElapseString	+=	AlertMilliSeconds("1.3 -");

				$('#' + Competion_Global_FieldID + i + '_href').attr("href", href);				
				$('#' + Competion_Global_FieldID + i + '_Stake').html(DisplayStake);
				$('#' + Competion_Global_FieldID + i + '_GameTypeName').html(GameTypeName);
				$('#' + Competion_Global_FieldID + i + '_PrizeMoney').html(DisplayPrizeMoney);
				$('#' + Competion_Global_FieldID + i + '_EndDateTime').html(DisplayEndDateTime);
				$('#' + Competion_Global_FieldID + i + '_image_name').text(GameImage);
				// ElapseString	+=	AlertMilliSeconds("1.4 -");
				if (WillRollOver == 1) {
					$('#' + Competion_Global_FieldID + i + '_will_roll_over').show();
				}
				else {
					$('#' + Competion_Global_FieldID + i + '_will_roll_over').hide();
				}
				
				// ElapseString	+=	AlertMilliSeconds("1.5 -");

				try {
					$('.' + Competion_Global_FieldID + i + '_TotalPrize').html(DisplayPrizeMoney);
					var PrizeMoneyArray	=	$("vector[id='PrizeMoneyArray']",ThisGame);
					var	Prizes			=	$("vector[id='Prizes']",PrizeMoneyArray);
					var	PrizePositions	=	parseInt($("scalar[id='PrizePositions']",PrizeMoneyArray).text());
					var	WinBrainCells	=	parseInt($("scalar[id='WinBrainCells']",PrizeMoneyArray).text());
					if (parseInt(WinBrainCells) == 0) {
						WinBrainCells	=	10;
					}
					// alert(WinBrainCells + " " + Competion_Global_FieldID);
					
					$('#' + Competion_Global_FieldID + i + '_WinBrainCells').html(WinBrainCells);
					
					// ElapseString	+=	AlertMilliSeconds("2 -");

					for (var PMR=1;PMR<=11;PMR++) {						
						var	UsePosition	=	PMR;
						// 	Number 11 is special... It's the last one in the list
						if (PMR == 11) {
							UsePosition = PrizePositions;
						}
						
						var	RowClassName		=	Competion_Global_FieldID + i + '_row_' + UsePosition;
						if (UsePosition <= 	PrizePositions) 
						{
							var	ThisPrize			=	$("vector[id='Position_" + UsePosition + "']",Prizes);
							var	DisplayPrize		=	$("scalar[id='DisplayPrizeMoney']",ThisPrize).text();
							var	PositionClassName	=	Competion_Global_FieldID + i + '_position_class_' + UsePosition;
							var	PrizeClassName		=	Competion_Global_FieldID + i + '_prize_class_' + UsePosition;
	
							$('.' + PositionClassName).html(UsePosition);
							$('.' + PrizeClassName).html(DisplayPrize);
							$('.' + RowClassName).show();
						}
						else {
							$('.' + RowClassName).hide();
						}
					}
					
					// ElapseString	+=	AlertMilliSeconds("3 -");
	
				}
				catch (Exception) {}

				// ElapseString	+=	AlertMilliSeconds("4 -");
			}
			catch (Exception) {}
			
			$('#' + Competion_Global_FieldID + i + '_Leader').html(LeaderName);
			$('#' + Competion_Global_FieldID + i + '_HighScore').html(LeaderGameScore);
		
			
			$('#' + Competion_Global_FieldID + i).show();
			
			if (i==1) {
				// alert(ElapseString);
			}
		}
		else {
			$('#' + Competion_Global_FieldID + i).hide();
		}
	}
	
	// alert("End Jackpot Loop" + ElapseString);

	setTimeout("ReadCompetitions()", 600000);
}

/*
function PlayCompetition (GameID,DisplayStake,DisplayPrize,Stake,PlayGamePage,CurrentPlayers, 
						  PlayBrainCells, WinBrainCells, ChallengeEnds,CurrentLeader,GameImage,GameName,Sequence)
*/

function PlayCompetition (GameSequence)

{
	ThisGame					=	$("vector[id='Game_" + GameSequence + "']",Competion_GamesXML);
	var max_trophy_awards		=	$('.max_trophy_awards').text();
	var Trophy_Global_ListSize	=	$('.max_trophy_games').text();
	
	var	GameID					=	$("scalar[id='GameID']",ThisGame).text();
	var	DisplayStake			=	$("scalar[id='ShowStake']",ThisGame).text();
	var	Stake					=	$("scalar[id='Stake']",ThisGame).text();
	var	GameTypeName			=	$("scalar[id='GameTypeName']",ThisGame).text();
	var	GameTypeID				=	$("scalar[id='GameTypeID']",ThisGame).text();
	var	DisplayPrizeMoney		=	$("scalar[id='ShowPrizeMoney']",ThisGame).text();
	var	DisplayEndDateTime		=	$("scalar[id='DisplayEndDateTime']",ThisGame).text();

	var	GameTypeArray			=	$("vector[id='GameTypeArray']",Competion_GamesXML);
	var	PlayGamePage			=	$("scalar[id='PlayGamePage']",GameTypeArray).text();
	
	var	CurrentPlayers			=	$("scalar[id='CurrentGamePlayers']",ThisGame).text();;
	var	PlayBrainCells			=	$("scalar[id='PlayBrainCells']",ThisGame).text();;
	var	WinBrainCells			=	$("scalar[id='WinBrainCells']",ThisGame).text();;
	
	var	GameImage				=	$("scalar[id='GameImageURL_300x225']",ThisGame).text();;
	
	try {
		var CurrentLeader				=	$("vector[id='CurrentLeader']",Competion_GamesXML);
		var LeaderName					=	$("scalar[id='UserName']",ThisGame).text();
		var LeaderGameScore				=	$("scalar[id='GameScore']",ThisGame).text();
	}
	catch (Exception) {}
	
	if (LeaderName.length == 0) {
			LeaderName					=	"No players yet";
			LeaderGameScore				=	"";
	}	

	$('#fb_competition_stake').html(DisplayStake);
	$('#fb_competition_prizemoney').html(DisplayPrizeMoney);

	// GamePlayJavascript	=	$('#' + Competion_Global_FieldID + GameSequence + '_href').attr("href");	
	/*
	GamePlayJavascript				=	"javascript:PlayCompetition(" + GameID + ",'" + 
																		DisplayStake + "','" + 
																		DisplayPrizeMoney + "','" + 
																		Stake + "'," +
																		"'" + PlayGamePage + "'," + 
																		CurrentPlayers + "," +
																		PlayBrainCells + "," +
																		WinBrainCells + "," +
																		"'" + DisplayEndDateTime + "'," +
																		"'" + LeaderName + "'," +
																		"'" + GameImage + "'," +
																		"'" + GameTypeName + "'," + i +
																		")";				
	*/
	
	GamePlayJavascript				=	"javascript:PlayCompetition(" + GameSequence + ")";				
	
	
	// HM: Change the '#' names below so the are the Div in which you want to display the value
	
	$('#fb_CurrentPlayers').html(CurrentPlayers);
	$('.fb_CurrentPlayers').html(CurrentPlayers);	
	$('#fb_PlayBrainCells').html(PlayBrainCells);
	$('.fb_PlayBrainCells').html(PlayBrainCells);
	$('#fb_WinBrainCells').html(WinBrainCells);
	$('.fb_WinBrainCells').html(WinBrainCells);
	$('#fb_ChallengeEnds').html(DisplayEndDateTime);
	$('#fb_CurrentLeader').html(CurrentLeader);
	$('.facebox_image_url').attr("src", GameImage);
	$('.facebox_game_type_name').text(GameTypeName);
	
	Competion_user_sessionID	=	PHP_UserSessionID;	
											   
	ShowButton(Stake,'fb_comp_user_login_yes','fb_comp_user_login_no');
	
	if (Stake > 0) {
		var StakeString	= "&FreeGame=0&CashGame=1";
	}
	else {
		var StakeString	= "&FreeGame=1&CashGame=0";
	}
	
	//	This bit deals with reloading the URLs
	
    var newDate = new Date;
	RefreshString	=	"&Refresh=" +     newDate.getTime();

	if (Competion_user_sessionID.length > 0) {
		var href	=	PlayGamePage + "?" +
						"SCS=0&" +
						"GameTypeID=" + GameTypeID + "&" +
						"GameID=" + GameID + "&" +
						StakeString + RefreshString + 
						"&GamePlayJavascript=" + encodeURI(GamePlayJavascript) +
						"#FLASHGAME";	//	SCS = don't show confirmation screen
		$('#fb_competition_playnow').attr("href", href);
		// $('#fb_comp_user_login_no').hide();
		// $('#fb_comp_user_login_yes').show();
	}
	else {
		// $('#fb_comp_user_login_yes').hide();
		// $('#fb_comp_user_login_no').show();
	}

	$.facebox({ div: '#fb_play_competition' },'lightbox');

}

