var	Trophy_Global_ListSize		=	50;
var Trophy_Global_FieldID		=	"TrophyEntry_";
var	Trophy_user_sessionID		=	"";
var	Trophy_GameTypeID			=	0;
var	Trophy_Trial_GamesXML		=	"";
var GamePlayJavascript			=	"";		// This is the javascript used to play this game. We need it for the 


$(document).ready(function(){

	Trophy_user_sessionID	=	PHP_UserSessionID;
	
	var AwardMap		=	$('.hide_award_map').text();
	if (AwardMap > 0) {
		ReadTrophyGames(AwardMap);
	}

	//	There is a chance that this js is loaded in a page other then the normal play game page (e.g. the all_game_page) 
	//	So if we find a GamePlayURI with PlayTrophy in it, we use the map ID to load the correct stuff
	
	var	GamePlayURI	=	GetURLParameter("GamePlayURI");
	if (GamePlayURI.length > 0) {
		if (GamePlayURI.indexOf("PlayTrophy") >= 0) {
			AwardMap	=	GetURLParameter("GameMapID");
			if (AwardMap.length > 0) {
				$('.gs_playagain').hide();
				ReadTrophyGames(AwardMap);
			}
		}
	}
	
});


function ReadTrophyGames(AwardMap) // {{{
{

	var	WebServiceURL	= "/API/server/game/GameServer.php";
	var RPCName			= "game.list";		
	var	Parameters		= new Object;
	
	Trophy_GameTypeID		=	$('#playcash_game_type_id').text();

	var max_trophy_awards		=	$('.max_trophy_awards').text();
	var Trophy_Global_ListSize	=	$('.max_trophy_games').text();
	
	Parameters.ListSize			= 	Trophy_Global_ListSize;
	Parameters.LanguageID		=	127;
	Parameters.Mobile			=	0;
	Parameters.GameMapID		=	AwardMap;
	Parameters.AwardGame		=	1;	
	Parameters.MaxGames			=	Trophy_Global_ListSize;
	Parameters.CashGamesOnly	=	1;
	Parameters.AddCurrentLeader	=	1;
	Parameters.CurrencyID		=	131;
	Parameters.AffiliateID		=	readCookie("AffiliateID");
	
	var UserUniqueID			= readCookie("BDUniq"); 
	
	if (UserUniqueID.length > 0) {
		Parameters.UserUniqueID	=	UserUniqueID;
	}
	
	GetSimpleRPCData(ShowTrophys,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 ShowTrophys(xml,result) // {{{
{

	$('#Trophys_loading').hide();
	Trophy_Trial_GamesXML	=	xml;
	
	//return;

	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) {
			$('#Trophy_no_games').show();
		}
		else {
			DisplayCashPlayError(ErrorMessage);
		}
		return;
	}
	
	$('.gs_playagain').show();

	var max_trophy_awards		=	$('.max_trophy_awards').text();
	var Trophy_Global_ListSize	=	$('.max_trophy_games').text();

	var	NumberOfGames			=	parseInt($("scalar[id='NumberOfGames']",xml).text());
	for (i=1;i<Trophy_Global_ListSize;i++) {
		
		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	GameImage				=	$("scalar[id='GameImageURL_300x225']",ThisGame).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				=	"";
				}
				
				var	href				=	"javascript:PlayTrophy(" + i + ")";		// Keep it simple 
				
				/*
				var href				=	"javascript:PlayTrophy(" + GameID + ",'" + 
																			DisplayStake + "','" + 
																			DisplayPrizeMoney + "','" + 
																			Stake + "'," +
																			"'" + PlayGamePage + "'," + 
																			CurrentPlayers + "," +
																			PlayBrainCells + "," +
																			WinBrainCells + "," +
																			"'" + DisplayEndDateTime + "'," +
																			"'" + LeaderName + "'," +
																			"'" + GameImage + "'," +
																			"'" + GameTypeName + "'" +
																			")";				

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


				$('#' + Trophy_Global_FieldID + i + '_href').attr("href", href);				
				$('#' + Trophy_Global_FieldID + i + '_Stake').html(DisplayStake);
				$('#' + Trophy_Global_FieldID + i + '_GameTypeName').html(GameTypeName);
				$('#' + Trophy_Global_FieldID + i + '_PrizeMoney').html(DisplayPrizeMoney);
				$('#' + Trophy_Global_FieldID + i + '_EndDateTime').html(DisplayEndDateTime);
				$('#' + Trophy_Global_FieldID + i + '_image_name').text(GameImage);
				

				try {
					$('.' + Trophy_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 + " " + Trophy_Global_FieldID);
					
					//	Deal with the awards Display
					
					var GameScoreTargets		=	$("scalar[id='GameScoreTargets']",ThisGame).text();
					var	MaxBrainCells			=	0;
					var	DisplayMaxBrainCells	=	"";
					
					for (var a=1;a<=max_trophy_awards;a++) {
						
						//	This bit shows the Trophy's this person has won.....
						var	ThisTrophy					=	"";
						var DisplayTargetScore			=	"";
						var DisplayAward				=	"";

						if (a <= GameScoreTargets) {
							var ThisScoreTargetArray	=	$("vector[id='GameScoreTarget_" + a + "']",ThisGame);
							
							var	UserHasAward			=	$("scalar[id='UserHasAward']",ThisScoreTargetArray).text();
							var DisplayTargetScore		=	$("scalar[id='DisplayTargetScore']",ThisScoreTargetArray).text();
							var ImagePath				=	$("scalar[id='Image_Icon_Path']",ThisScoreTargetArray).text();
							var PublicName				=	$("scalar[id='PublicName']",ThisScoreTargetArray).text();
							var Description				=	$("scalar[id='Description']",ThisScoreTargetArray).text();
							var AwardID					=	$("scalar[id='AwardID']",ThisScoreTargetArray).text();
							var	GainBrainCells			=	parseInt($("scalar[id='GainBrainCells']",ThisScoreTargetArray).text());
							var	DisplayGainBrainCells	=	$("scalar[id='DisplayGainBrainCells']",ThisScoreTargetArray).text();
							
							if (GainBrainCells > MaxBrainCells) {
									MaxBrainCells			=	GainBrainCells;
									DisplayMaxBrainCells	=	DisplayGainBrainCells;
							}
							
							//var	DisplayAward			=	"Award Name or Image " + a;
							var DisplayAward	=	Description; //+", Target Score:"+a;

							//ThisTrophy			=	"<a title=\""+"\" href=\""+"\">"+
							//						"<img alt=\""+"\" src=\""+"\"/></a>\n";
							ThisTrophy			=	"<img alt=\""+PublicName+"\" src=\""+ImagePath+"\"/>\n";

							//if (UserHasAward == 1) {
							//	ThisTrophy				=	" - YES - ";
							//}
							//else {
							//	ThisTrophy				=	" - NO - ";
							//}

						}
						$('#' + Trophy_Global_FieldID + i + '_award_' + a).html(ThisTrophy);
						
						//	This fills the "possible" awards box
						
						$('#' + Trophy_Global_FieldID + i + '_award_possible_' + a).html(DisplayAward);
						$('#' + Trophy_Global_FieldID + i + '_award_points_' + a).html(DisplayTargetScore);
						
					}
					
					$('#' + Trophy_Global_FieldID + i + '_WinBrainCells').html("Up to " + DisplayMaxBrainCells);
					
				}
				catch (Exception) {}

				
			}
			catch (Exception) {}
			
			$('#' + Trophy_Global_FieldID + i + '_Leader').html(LeaderName);
			$('#' + Trophy_Global_FieldID + i + '_HighScore').html(LeaderGameScore);
		
			
			$('.' + Trophy_Global_FieldID + i).show();
			
			
		}
		else {
			$('.' + Trophy_Global_FieldID + i).hide();
		}
	}

	// setTimeout("ReadTrophys()", 600000);
	
} // }}}
/*
function PlayTrophy (GameID,DisplayStake,DisplayPrize,Stake,PlayGamePage,CurrentPlayers, 
						  PlayBrainCells, WinBrainCells, ChallengeEnds,CurrentLeader,GameImage,GameName)
*/

function PlayTrophy (GameSequence)
{ // {{{

	ThisGame					=	$("vector[id='Game_" + GameSequence + "']",Trophy_Trial_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']",Trophy_Trial_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']",Trophy_Trial_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_Trophy_stake').html(DisplayStake);
	$('#fb_Trophy_prizemoney').html(DisplayPrizeMoney);
	
	// HM: Change the '#' names below so the are the Div in which you want to display the value
	
	$('#fb_CurrentPlayers').html(CurrentPlayers);
	$('#fb_PlayBrainCells').html(PlayBrainCells);
	$('#fb_CurrentLeader').html(CurrentLeader);
	$('.facebox_image_url').attr("src", GameImage);
	// $('.facebox_game_type_name').text(GameName);
	
	Trophy_user_sessionID	=	$('#Trophy_user_sessionID').text();	

	try {
		
		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 + " " + Trophy_Global_FieldID);
		
		//	Deal with the awards Display
		
		var GameScoreTargets	=	$("scalar[id='GameScoreTargets']",ThisGame).text();
		
		var	MaxBrainCells			=	0;
		var	DisplayMaxBrainCells	=	"0";
		for (var a=1;a<=max_trophy_awards;a++) {
			
			//	This bit shows the Trophy's this person has won.....
			var	ThisTrophy					=	"";
			var DisplayTargetScore			=	"";
			var DisplayAward				=	"";

			if (a <= GameScoreTargets) {
				var ThisScoreTargetArray	=	$("vector[id='GameScoreTarget_" + a + "']",ThisGame);
				
				var	UserHasAward			=	$("scalar[id='UserHasAward']",ThisScoreTargetArray).text();
				var DisplayTargetScore		=	$("scalar[id='DisplayTargetScore']",ThisScoreTargetArray).text();
				var ImagePath				=	$("scalar[id='Image_Icon_Path']",ThisScoreTargetArray).text();
				var PublicName				=	$("scalar[id='PublicName']",ThisScoreTargetArray).text();
				var	GainBrainCells			=	parseInt($("scalar[id='GainBrainCells']",ThisScoreTargetArray).text());
				var	DisplayGainBrainCells	=	$("scalar[id='DisplayGainBrainCells']",ThisScoreTargetArray).text();
				var Description				=	$("scalar[id='Description']",ThisScoreTargetArray).text();
				var AwardID					=	$("scalar[id='AwardID']",ThisScoreTargetArray).text();
				
				//var	DisplayAward			=	"Award Name or Image " + a;
				var DisplayAward	=	Description; //+", Target Score:"+a;

				//ThisTrophy			=	"<a title=\""+"\" href=\""+"\">"+
				//						"<img alt=\""+"\" src=\""+"\"/></a>\n";
				ThisTrophy			=	"<img alt=\""+PublicName+"\" src=\""+ImagePath+"\"/>\n";
				
				if (GainBrainCells > MaxBrainCells) {
						MaxBrainCells			=	GainBrainCells;
						DisplayMaxBrainCells	=	DisplayGainBrainCells;
				}
				
				$('.tt_lb_award_image_' + a).html(ThisTrophy);
				$('.tt_lb_award_points_' + a).html(DisplayTargetScore);
				$('.tt_lb_award_bc_' + a).html(DisplayGainBrainCells + " <?php echo $RewardSystemNameShort; ?>");
				$('.tt_lb_row_' + a).show();

			}
			else {
				$('.tt_lb_row_' + a).hide();
			}
		}
	}
	catch (Exception) {}
	
	$('#fb_WinBrainCells').html("Up to " + DisplayMaxBrainCells);
	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();

	GamePlayJavascript	=	$('#' + Trophy_Global_FieldID + GameSequence + '_href').attr("href");
	
	if (Trophy_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_Trophy_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_Trophy' },'lightbox');

} // }}}

