	var current_rank_type = 0;
	
	var page = 0;
	var mode = false;
	
	var script = "includes/ajaxRanking.php";
	
	var pagePrev = false;
	var pageNext = false;
	
	var isloading = false;
	
	$(document).ready(function() {

		default_text = $('#searchField').val();
		
		$('#no-results').hide(); 		

		$("#rankPageUp").click(function(){
			previous_page();
		});
		
		$("#rankPageDown").click(function(){
			next_page();
		});

		$('#searchField').focus(function(){
			if($(this).val() == '' || $(this).val() == default_text){
				$(this).val(''); 
			}
		});

		$('#searchField').blur(function(){
			 if($(this).val() == ''){
				 $(this).val(default_text); 
			 }
		});

		$("#searchField").keypress(function(e){
			if (e.which == 13){
				searchUser();
			}
		});

		$('#submitField').click(function(){
			searchUser();
		});
		
		$('#resetField').click(function(){		
			cleanSearch();
		});
		
		getGlobalRanking(current_rank_type);
	});

	function searchUser(){
		if((!isloading) && ($('#searchField').val() != '' || $('#searchField').val() != default_text)){
			mode = true;
			searchRanking($('#searchField').val(), current_rank_type);
		}		
	}
	
	function cleanSearch(){
		if(!isloading && mode){
			$('#searchField').val(default_text);
			page = 0;
			getGlobalRanking(current_rank_type);
			mode = false;
		}
	}
	
	
	function previous_page(){
		if(!isloading && pagePrev){	
			page--;
			getGlobalRanking(current_rank_type);
		}
    }

	function next_page(){
		if(!isloading && pageNext){
			page++;
			getGlobalRanking(current_rank_type);
		}
	}
	
	function clearing() {		
		$("#rankingDlsContainer dd").remove();
		$('#no-results').hide(); 
	}
	
	function getGlobalRanking(level){
		
		page = (page == undefined) ? 0 : page;

		clearing();

		isloading = true;
		$('#loader').show();
		
		$.getJSON( script + "?get=getGlobalRanking&page=" + page + "&level=" + level, 
			
			function(rank){

				var count = (rank['Count'] > 10) ? 10 : rank['Count'];
				var row_class = 'row2';
				
				for(var i = 0; i < count; i++){
					if (typeof(rank[i]['username']) != 'undefined' && rank[i]['username'] != null) {
					
						rank[i]['username'] = ( rank[i]['username'].length > 14 ) ? rank[i]['username'].substr(0,14)+'...':rank[i]['username'];
						rank[i]['avatar'] = ( rank[i]['avatar'].length == 0 ) ? 'http://media01.gameloft.com/web_mkt/minisites/blokus/images/no_avatar.png':rank[i]['avatar'];
	
						if (rank[i]['rankVarClass'] == 'rankUp') { rank[i]['rankVarClass'] = '<img src="http://media01.gameloft.com/web_mkt/minisites/blokus/images/up_arrow.gif" alt="" />'; } 
						else if (rank[i]['rankVarClass'] == 'rankDw') { rank[i]['rankVarClass'] = '<img src="http://media01.gameloft.com/web_mkt/minisites/blokus/images/down_arrow.gif" alt="" />'; } 
						else { rank[i]['rankVarClass'] = ''; } 
						
						$('<dd>' + rank[i]['rank'] + '</dd>').appendTo('#col_1');
						$('<dd><img src="' + rank[i]['avatar'] + '" alt="Avatar" /><p>' + rank[i]['username'] + '</p></dd>').appendTo('#col_2');					
						$('<dd><img alt="#" src="http://media01.gameloft.com/flags/flags_iso/48/' + rank[i]['country'].toLowerCase() + '.png"  /></dd>').appendTo("#col_3");
						$('<dd>' + rank[i]['score'] + '</dd>').appendTo("#col_4");
						$('<dd>' + rank[i]['average'] + '</dd>').appendTo("#col_5");
						$('<dd>' + rank[i]['rankVarClass'] + '<p>' + rank[i]['rank_var'] + '</p></dd>').appendTo("#col_6");
					
					} 
				}

				$('#rankingDlsContainer #col_2 dd img').each(function(){
					$(this).error(function () {
						$(this).attr('src', 'http://media01.gameloft.com/web_mkt/minisites/blokus/images/no_avatar.png');
					})
				});
					
				pagePrev = rank['arrayPrev'];
				pageNext = rank['arrayNext'];
				
				enablePrevNext();
				
				$('#loader').hide();
				isloading = false;		
		});
	}
	
	function searchRanking(user, level) {
	
		page = (page == undefined) ? 0 : page;
		
		
		clearing();
		
		isloading = true;
		$('#loader').show();
		
		$.getJSON( script + "?get=getRankingUser&user=" + user + "&level=" + level, 
			function(rank){
				if(rank['result'] == true){
					
					var rankingFirstCell;
					var count = (rank['Count'] > 10) ? 10 : rank['Count'];
					var row_class = 'row2';
					
					page = rank['page'];
										
					for(var i = 0; i < count; i++){

						if (typeof(rank[i]['username']) != 'undefined' && rank[i]['username'] != null) {
							
							user_match_css = (user.toUpperCase() == rank[i]['username'].toUpperCase()) ? 'user-match' : '';											
	
							rank[i]['username'] = ( rank[i]['username'].length > 14 ) ? rank[i]['username'].substr(0,14)+'...':rank[i]['username'];
							rank[i]['avatar'] = ( rank[i]['avatar'].length == 0 ) ? 'http://media01.gameloft.com/web_mkt/minisites/blokus/images/no_avatar.png':rank[i]['avatar'];
	
							if (rank[i]['rankVarClass'] == 'rankUp') { rank[i]['rankVarClass'] = '<img src="http://media01.gameloft.com/web_mkt/minisites/blokus/images/up_arrow.gif" alt="" />'; } 
							else if (rank[i]['rankVarClass'] == 'rankDw') { rank[i]['rankVarClass'] = '<img src="http://media01.gameloft.com/web_mkt/minisites/blokus/images/down_arrow.gif" alt="" />'; } 
							else { rank[i]['rankVarClass'] = ''; } 
	
							$('<dd class="' + user_match_css + '">' + rank[i]['rank'] + '</dd>').appendTo('#col_1');
							$('<dd class="' + user_match_css + '"><img src="' + rank[i]['avatar'] + '" alt="Avatar" /><p>' + rank[i]['username'] + '</p></dd>').appendTo('#col_2');
							$('<dd class="' + user_match_css + '"><img alt="#" src="http://media01.gameloft.com/flags/flags_iso/48/' + rank[i]['country'].toLowerCase() + '.png" height="30" width="30" /></dd>').appendTo("#col_3");
							$('<dd class="' + user_match_css + '">' + rank[i]['score'] + '</dd>').appendTo("#col_4");	
							$('<dd class="' + user_match_css + '">' + rank[i]['average'] + '</dd>').appendTo("#col_5");	
							$('<dd class="' + user_match_css + '">' + rank[i]['rankVarClass'] + '<p>' + rank[i]['rank_var'] + '</p></dd>').appendTo("#col_6");	
						
						}

					}

					$('#rankingDlsContainer #col_2 dd img').each(function(){
						$(this).error(function () {
							$(this).attr('src', 'http://media01.gameloft.com/web_mkt/minisites/blokus/images/no_avatar.png');
						})
					});

					pagePrev = rank['arrayPrev'];
					pageNext = rank['arrayNext'];
					
					enablePrevNext();
					
					$('#loader').hide();
					
				}else{
					$('#no-results').show();
					$('#loader').hide();
				}
				isloading = false;
		});
	}
	
	function enablePrevNext() {
		if(pagePrev) {
			$('#rankPageUp').css({'background':'url(http://media01.gameloft.com/web_mkt/minisites/blokus/images/rank_arrow_nodown.jpg) -37px 1px no-repeat'});
		} else {
			$('#rankPageUp').css({'background':'url(http://media01.gameloft.com/web_mkt/minisites/blokus/images/rank_arrow_noup.jpg) -37px 0px no-repeat'});
		}
		
		if(pageNext) {
			$('#rankPageDown').css({'background':'url(http://media01.gameloft.com/web_mkt/minisites/blokus/images/rank_arrow_noup.jpg) -3px 0px no-repeat'});
		} else {
			$('#rankPageDown').css({'background':'url(http://media01.gameloft.com/web_mkt/minisites/blokus/images/rank_arrow_nodown.jpg) -3px 0px no-repeat'});
		}
	}
