/*
 * Scores
 */
function CompetitionLeaderboard(){
	
	Box.call(this);
}

CompetitionLeaderboard.prototype = new Box;
CompetitionLeaderboard.prototype.constructor = CompetitionLeaderboard;
CompetitionLeaderboard.prototype.type = "top";
CompetitionLeaderboard.prototype.country = "";
CompetitionLeaderboard.prototype.icon = "boxicons/scores.png";
CompetitionLeaderboard.prototype.lastData = null;
CompetitionLeaderboard.prototype.competitionid = 0;

CompetitionLeaderboard.prototype.setCompetitionId = function(competitionId){
	
	this.competitionId = competitionId;
	return this;
}

CompetitionLeaderboard.prototype.addContent = function(){
	
	this.getCompetitionLeaderboard();
}

CompetitionLeaderboard.prototype.getCompetitionLeaderboard = function(obj){

	 if (obj == null)
		 obj = this;
	 $.getJSON("interface/json.php",{action: "getCompetitionLeaderboard", competitionId: obj.competitionId}, obj.jqueryCompetitionLeaderboardCallbackFunc(obj));	 
};

CompetitionLeaderboard.prototype.addScore = function (scoreData){
		
	var score = $("#template_player_scores_score").clone().attr("id","")
	.addClass("scoreboard_position_" + scoreData.scoreboardPosition);
	score.find(".score_rank").html(scoreData.position);
	score.find(".score_image").attr("src","images/avatars/playerpics" + scoreData.picture + ".png");
	score.find(".score_name").html(scoreData.userName);
	score.find(".score_link").attr("href","?action=profile&userId=" + scoreData.userId);			   
	score.find(".score_countryName").html(scoreData.countryName);
	score.find(".score_score").html("");
	score.find(".score_countryFlag").attr("src", "images/flags/" + scoreData.country + ".gif");
	if (scoreData.userId == userId){
		
		score.find(".highlightable").addClass("highlighted");
	}
	
	oldScore = $(this.containerId + " .scoreboard_position_" + scoreData.scoreboardPosition);
	if (oldScore.length != 0){
		
		score.insertAfter(this.containerId + " .scoreboard_position_" + + scoreData.scoreboardPosition);
		score.css("display","");
		score.find(".user_row_rank").effect("pulsate",{},500,function(){$(this).effect("pulsate",{},500,null);});
		score.find(".score_name").css("color","#FFF").animate({"color": "#FC0"},10000);
		
		oldScore.remove();		
	} else {

		score.appendTo(this.containerId);
		score.css("display","");
	}				
};

CompetitionLeaderboard.prototype.jqueryCompetitionLeaderboardCallbackFunc = function(obj){
	
	return function (data){
		
		console.log("Leaderboard: " + obj.title + " - running full update");		
				
		for (var i = 0; i < data.length; i++){
			
			//Different winner section types
			switch (i){
				
				case 0:
					$('<img src = "images/winbanner.png"/>').appendTo(obj.containerId);
					$('<h2>Grand Prize:</h2>').appendTo(obj.containerId);
					break;
				case 1:
					$('<h2>Runner Up:</h2>').appendTo(obj.containerId);				
					break;
				case 2:
					$('<h2>Deluxe Hampers:</h2>').appendTo(obj.containerId);				
					break;
				case 10:
					$('<h2>Hampers:</h2>').appendTo(obj.containerId);				
					break;
			}
			
			data[i].scoreboardPosition = i;
			obj.addScore(data[i]);
		}

		obj.lastData = data;

		//Add click functionality
		$(obj.containerId).find(".score_link").click(function(event){
			
			event.preventDefault();
			var newProfile = new Profile;
			newProfile.setOwner(obj).setUserId(piece($(this).attr("href"),"userId"));
			obj.addChild(newProfile);
		});
		
		obj.loaded();	
	}
}
