﻿
function Mir3ServicesProvider() {}
var Mir3Services = new Mir3ServicesProvider();


//========GetTopPlayersLeaderboard========//
Mir3ServicesProvider.prototype.GetTopPlayersLeaderboard = function(pageNumber, pageSize, className, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "GetTopPlayersLeaderboard");

	serviceRequest.AddFormParameter("pageNumber", pageNumber);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	if (className != null)
	{
		serviceRequest.AddFormParameter("className", className);
	}
	
	SendRequest(serviceRequest, callback, state);
}


//========SearchTopPlayersLeaderboard========//
Mir3ServicesProvider.prototype.SearchTopPlayersLeaderboard = function(characterName, pageSize, className, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "SearchTopPlayersLeaderboard");
	
	serviceRequest.AddFormParameter("characterName", characterName);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	if (className != null)
	{
		serviceRequest.AddFormParameter("className", className);
	}

	SendRequest(serviceRequest, callback, state);
}


//========GetFastMoversLeaderboard========//
Mir3ServicesProvider.prototype.GetFastMoversLeaderboard = function(pageNumber, pageSize, className, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "GetFastMoversLeaderboard");

	serviceRequest.AddFormParameter("pageNumber", pageNumber);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	if (className != null)
	{
		serviceRequest.AddFormParameter("className", className);
	}
	
	SendRequest(serviceRequest, callback, state);
}


//========SearchFastMoversLeaderboard========//
Mir3ServicesProvider.prototype.SearchFastMoversLeaderboard = function(characterName, pageSize, className, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "SearchFastMoversLeaderboard");
	
	serviceRequest.AddFormParameter("characterName", characterName);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	if (className != null)
	{
		serviceRequest.AddFormParameter("className", className);
	}

	SendRequest(serviceRequest, callback, state);
}


//========GetSabukWarsList========//
Mir3ServicesProvider.prototype.GetSabukWarsList = function(callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "GetSabukWarsList");

	SendRequest(serviceRequest, callback, state);
}


//========GetSabukWarsLeaderboard========//
Mir3ServicesProvider.prototype.GetSabukWarsLeaderboard = function(sabukWarId, pageNumber, pageSize, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "GetSabukWarsLeaderboard");

	serviceRequest.AddFormParameter("sabukWarId", sabukWarId);
	serviceRequest.AddFormParameter("pageNumber", pageNumber);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	SendRequest(serviceRequest, callback, state);
}


//========SearchSabukWarsLeaderboard========//
Mir3ServicesProvider.prototype.SearchSabukWarsLeaderboard = function(sabukWarId, characterName, pageSize, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "SearchSabukWarsLeaderboard");

	serviceRequest.AddFormParameter("sabukWarId", sabukWarId);
	serviceRequest.AddFormParameter("characterName", characterName);
	serviceRequest.AddFormParameter("pageSize", pageSize);

	SendRequest(serviceRequest, callback, state);
}


//========GetSabukWarsGuildLeaderboard========//
Mir3ServicesProvider.prototype.GetSabukWarsGuildLeaderboard = function(sabukWarId, callback, state)
{
	var serviceRequest = CreateServiceRequest("Mir3Service", "GetSabukWarsGuildLeaderboard");

	serviceRequest.AddFormParameter("sabukWarId", sabukWarId);

	SendRequest(serviceRequest, callback, state);
}


//========ClaimAccount========//
Mir3ServicesProvider.prototype.ClaimAccount = function(gameLogin, gamePassword, callback, state)
{
	var serviceRequest = CreateSecureServiceRequest("Mir3Service", "ClaimAccount");
	
	serviceRequest.AddFormParameter("gameLogin", gameLogin);
	serviceRequest.AddFormParameter("gamePassword", gamePassword);

	SendRequest(serviceRequest, callback, state);
}


//========GetPlayerCharacters========//
Mir3ServicesProvider.prototype.GetPlayerCharacters = function(playerName, callback, state)
{
	var serviceRequest = CreateSecureServiceRequest("Mir3Service", "GetPlayerCharacters");
	
	if(playerName != null && playerName.length > 0)
	{
		serviceRequest.AddFormParameter("playerName", playerName);		
	}
	
	SendRequest(serviceRequest, callback, state);
}


//========SetCharacterVisibility========//
Mir3ServicesProvider.prototype.SetCharacterVisibility = function(gameName, characterName, visibility, callback, state)
{
	var serviceRequest = CreateSecureServiceRequest("Mir3Service", "SetCharacterVisibility");
	
	serviceRequest.AddFormParameter("gameName", gameName);		
	serviceRequest.AddFormParameter("characterName", characterName);		
	serviceRequest.AddFormParameter("visibility", visibility);		
	
	SendRequest(serviceRequest, callback, state);
}


//========GetGuildList========//
Mir3ServicesProvider.prototype.GetGuildList = function(callback, state)
{
	var serviceRequest = CreateSecureServiceRequest("Mir3Service", "GetGuildList");
	
	SendRequest(serviceRequest, callback, state);
}


//========GetGuildDetails========//
Mir3ServicesProvider.prototype.GetGuildDetails = function(guildName, callback, state)
{
	var serviceRequest = CreateSecureServiceRequest("Mir3Service", "GetGuildDetails");
	
	serviceRequest.AddFormParameter("guildName", guildName);		
	
	SendRequest(serviceRequest, callback, state);
}