﻿
function LeaderboardServicesProvider() { }
var LeaderboardServices = new LeaderboardServicesProvider();


//========GetLeaderboardRecords========//
LeaderboardServicesProvider.prototype.GetLeaderboardRecords = function(leaderboardId, pageNumber, pageSize, callback, state)
{
	var serviceRequest = CreateServiceRequest("LeaderboardService", "GetLeaderboardRecords");

	serviceRequest.AddFormParameter("leaderboardId", leaderboardId);
	serviceRequest.AddFormParameter("pageNumber", pageNumber);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	SendRequest(serviceRequest, callback, state);
}


//========GetLeaderboardList========//
LeaderboardServicesProvider.prototype.GetLeaderboardList = function(gameName, leaderboardType, onlyGetOpenLeaderboards, callback, state)
{
	var serviceRequest = CreateServiceRequest("LeaderboardService", "GetLeaderboardList");

	serviceRequest.AddFormParameter("gameName", gameName);

	if (leaderboardType != null && leaderboardType.length > 0)
	{
		serviceRequest.AddFormParameter("leaderboardType", leaderboardType);
	}

	if (onlyGetOpenLeaderboards != null)
	{
		serviceRequest.AddFormParameter("onlyGetOpenLeaderboards", onlyGetOpenLeaderboards);
	}

	SendRequest(serviceRequest, callback, state);
}


//========GetPlayerHighScores========//
LeaderboardServicesProvider.prototype.GetPlayerHighScores = function(playerName, gameName, leaderboardType, leaderboardId, callback, state)
{
	var serviceRequest = CreateServiceRequest("LeaderboardService", "GetPlayerHighScores");

	if(playerName != null && playerName.length > 0)
	{
		serviceRequest.AddFormParameter("playerName", playerName);
	}

	if (gameName != null && gameName.length > 0)
	{
		serviceRequest.AddFormParameter("gameName", gameName);
	}
	
	if (leaderboardType != null && leaderboardType.length > 0)
	{
		serviceRequest.AddFormParameter("leaderboardType", leaderboardType);
	}

	if (leaderboardId != null)
	{
		serviceRequest.AddFormParameter("leaderboardId", leaderboardId);
	}

	SendRequest(serviceRequest, callback, state);
}
