﻿var leaderboard =
{
	gameID: 0,		type: 0,	period: 0,			gender: 0,
	comparison: 0,	age: 0,		isAroundUser: 0,	countryID: 0,
	setCountry: false,

	aroundMe: function()
	{
		leaderboard.isAroundUser = 1;
		leaderboard.paginate(1);
		return false;
	},
	paginate: function(page)
	{
		if (leaderboard.type == 2 && leaderboard.countryID == 0 && !leaderboard.setCountry) // my country?
		{
			$('#' + resources.get('divCountrySelection')).show();
			leaderboard.setCountry = true;
		}
		else
		{
			if (leaderboard.type == 2 && leaderboard.countryID == 0 && leaderboard.setCountry)
			{
				leaderboard.countryID = $('#' + resources.get('ddlCountry') + ' option:selected').val();
				$('#' + resources.get('divCountrySelection')).hide();
			}
			$.post(resources.get('LeaderboardUrl'),
				{ g: leaderboard.gameID, pn: page, p: leaderboard.period, t: leaderboard.type, s: leaderboard.gender, c: leaderboard.comparison,
				a: leaderboard.age, u: leaderboard.isAroundUser, cid: leaderboard.countryID },
				leaderboard.onPaginate,
				'text');
		}
	},
	onPaginate: function(response)
	{
		htmlutils.table_clear(resources.get('tblLeaderboard'), 1);
		$('#' + resources.get('tblLeaderboard')).append(response);
		$('#' + resources.get('imgSortGamePlayed')).hide();
		$('#' + resources.get('imgSortWins')).hide();
		$('#' + resources.get('imgSortBestScore')).hide();
		$('#' + resources.get('lblSortGamePlayed')).attr('class', 'hand');
		$('#' + resources.get('lblSortWins')).attr('class', 'hand');
		$('#' + resources.get('lblSortBestScore')).attr('class', 'hand');
		switch (leaderboard.comparison)
		{
			case 0:
				$('#' + resources.get('imgSortBestScore')).show();
				$('#' + resources.get('lblSortBestScore')).attr('class', 'hand Bold');
				break;
			case 1:
				$('#' + resources.get('imgSortGamePlayed')).show();
				$('#' + resources.get('lblSortGamePlayed')).attr('class', 'hand Bold');
				break;
			case 2:
				$('#' + resources.get('imgSortWins')).show();
				$('#' + resources.get('lblSortWins')).attr('class', 'hand Bold');
				break;
		}
		leaderboard.isAroundUser = 0;
	},
	updateHeader: function(type, filter, userRanking)
	{
		$('#' + resources.get('lblType')).html(type);
		$('#' + resources.get('lblFilter')).html(filter);
		$('#' + resources.get('lblRanking')).html(userRanking);
	},
	sort: function(comparison)
	{
		leaderboard.comparison = comparison;
		leaderboard.isAroundUser = 0;
		leaderboard.paginate(1);
		return false;
	},
	refresh: function()
	{
		leaderboard.type = $('#' + resources.get('ddlFilterType') + ' option:selected').val();
		leaderboard.period = $('#' + resources.get('ddlFilterPeriod') + ' option:selected').val();
		leaderboard.gender = $('#' + resources.get('ddlFilterGender') + ' option:selected').val();
		leaderboard.age = $('#' + resources.get('ddlFilterAge') + ' option:selected').val();
		leaderboard.aroundMe();
		return false;
	},
	init: function(gameID, type, period, gender, comparison, age, isAroundUser, countryID)
	{
		leaderboard.gameID = gameID;
		leaderboard.period = period;
		leaderboard.type = type;
		leaderboard.gender = gender;
		leaderboard.comparison = comparison;
		leaderboard.age = age;
		leaderboard.countryID = countryID;
		leaderboard.aroundMe(1);
	},
	setGameID: function(gameID) 
	{
		leaderboard.gameID = gameID;
		leaderboard.isAroundUser = 1;
		leaderboard.paginate(1);
		return false;
	}
}
