	var current_rank_type = 0;
	
	var page = 0;
	var totalPages = 0;
	var mode = false;
	
	var script = "includes/ajaxRanking/ajaxRanking.php";
	
	var pagePrev = false;
	var pageNext = false;
	
	var isloading = false;
	
	$(document).ready(function() {

		default_text = $('#q').val();
		
		$('#no-results').hide(); 		

		$('.arrowLeft').click(function(){
			previous_page();
		});
		
		$('.arrowRight').click(function(){
			next_page();
		});

		$('#firstPage').click(function(){
			first_page();
		});
		
		$('#lastPage').click(function(){
			last_page();
		});

		$('#q').focus(function(){
			if($(this).val() == '' || $(this).val() == default_text){
				$(this).val(''); 
			}
		});

		$('#q').blur(function(){
			 if($(this).val() == ''){
				 $(this).val(default_text); 
			 }
		});

		$('#q').keypress(function(e){
			if (e.which == 13){
				searchUser();
			}
		});

		$('#button_search').click(function(){
			searchUser();
		});
		
		$('#button_delete_search').click(function(){		
			cleanSearch();
		});
		
		getGlobalRanking(current_rank_type);
	});

	function searchUser(){
		if((!isloading) && ($('#q').val() != '' || $('#q').val() != default_text)){
			mode = true;
			searchRanking($('#q').val(), current_rank_type);
		}		
	}
	
	function cleanSearch(){
		if(!isloading && mode){
			$('#q').val(default_text);
			page = 0;
			getGlobalRanking(current_rank_type);
			mode = false;
		}
	}
	
	function first_page(){
		if(!isloading && pagePrev){	
			page = 0;
			getGlobalRanking(current_rank_type);
		}
	}
	
	function previous_page(){
		if(!isloading && pagePrev){	
			page--;
			getGlobalRanking(current_rank_type);
		}
    }

	function next_page(){
		if(!isloading && pageNext){
			page++;
			getGlobalRanking(current_rank_type);
		}
	}

	function last_page(){
		if(!isloading && pageNext){	
			page = totalPages - 1;
			getGlobalRanking(current_rank_type);
		}
	}

	function clearing() {		
		$("#ranking 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 count = 10; //Maximum record count allowed
				var row_class;
				
				for(var i = 0; (i < count && typeof(rank[i]) != 'undefined'); i++){
					row_class = isPar(i + 1) ? 'impar':'par';
					
					rank[i]['username'] = ( rank[i]['username'].length > 18 ) ? rank[i]['username'].substr(0,18)+'...':rank[i]['username'];
					rank[i]['avatar'] = ( rank[i]['avatar'].length == 0 ) ? 'http://media01.gameloft.com/web_mkt/minisites/lets-golf-2/images/no_avatar.png':rank[i]['avatar'];
													
					$('<dd class="' + row_class + '">' + rank[i]['rank'] + '</dd>').appendTo('#column1');
					$('<dd class="' + row_class + '"><img src="' + rank[i]['avatar'] + '" alt="Player" /><span>' + rank[i]['username'] + '</span></dd>').appendTo('#column2');					
					$('<dd class="' + row_class + '"><img src="' + rank[i]['country'] + '" alt="#" /></dd>').appendTo("#column3");
					$('<dd class="' + row_class + '">' + rank[i]['score'] + '</dd>').appendTo("#column4");	
					$('<dd class="' + row_class + '"><p class="' + rank[i]['rankVarClass'] + '">' + rank[i]['rank_var'] + '</p></dd>').appendTo("#column5");	
				
				}

				$('#ranking #column2 dd img').each(function(){
					$(this).error(function () {
						$(this).attr('src', 'http://media01.gameloft.com/web_mkt/minisites/lets-golf-2/images/no_avatar.png');
					})
				});
					
				pagePrev = rank['arrayPrev'];
				pageNext = rank['arrayNext'];

				totalPages = rank['totalPages'];
				
				enableNavButtons();
				updatePaginator();
				
				$('#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 count = 10; //Maximum record count allowed
					var row_class;
					
					page = rank['page'];
										
					for(var i = 0; (i < count && typeof(rank[i]) != 'undefined'); i++){
						row_class = isPar(i + 1) ? 'impar':'par';
						user_match_css = (user.toUpperCase() == rank[i]['username'].toUpperCase()) ? 'user-match' : '';											

						if (user_match_css.length != 0) row_class += ' ' + user_match_css;
						
						rank[i]['username'] = ( rank[i]['username'].length > 18 ) ? rank[i]['username'].substr(0,18)+'...':rank[i]['username'];
						rank[i]['avatar'] = ( rank[i]['avatar'].length == 0 ) ? 'http://media01.gameloft.com/web_mkt/minisites/lets-golf-2/images/no_avatar.png':rank[i]['avatar'];
														
						$('<dd class="' + row_class + '">' + rank[i]['rank'] + '</dd>').appendTo('#column1');
						$('<dd class="' + row_class + '"><img src="' + rank[i]['avatar'] + '" alt="Player" /><span>' + rank[i]['username'] + '</span></dd>').appendTo('#column2');					
						$('<dd class="' + row_class + '"><img src="' + rank[i]['country'] + '" alt="#" /></dd>').appendTo("#column3");
						$('<dd class="' + row_class + '">' + rank[i]['score'] + '</dd>').appendTo("#column4");	
						$('<dd class="' + row_class + '"><p class="' + rank[i]['rankVarClass'] + '">' + rank[i]['rank_var'] + '</p></dd>').appendTo("#column5");	

					}

					$('#ranking #column2 dd img').each(function(){
						$(this).error(function () {
							$(this).attr('src', 'http://media01.gameloft.com/web_mkt/minisites/lets-golf-2/images/no_avatar.png');
						})
					});

					totalPages = rank['totalPages'];

					$('#loader').hide();
				}else{
					$('#no-results').show();
					$('#loader').hide();
				}

				pagePrev = rank['arrayPrev'];
				pageNext = rank['arrayNext'];

				enableNavButtons();
				updatePaginator();
				
				isloading = false;
		});
	}

	function updatePaginator() {
		$('#pageCount').html(paginator.replace(/%numpage%/, page + 1).replace(/%totalpage%/, totalPages));
	}
	
	function enableNavButtons() {
		if(pagePrev) {
			$('.arrowLeft').fadeTo(300, 1.0); // This should set the opacity to 60% on hover
			$('#firstPage').fadeTo(300, 1.0); // This should set the opacity to 60% on hover
		} else {
			$('.arrowLeft').fadeTo(200, 0.5); // This should set the opacity to 100% on hover
			$('#firstPage').fadeTo(200, 0.5); // This should set the opacity to 100% on hover
		}
		
		if(pageNext) {
			$('.arrowRight').fadeTo(300, 1.0); // This should set the opacity to 60% on hover
			$('#lastPage').fadeTo(300, 1.0); // This should set the opacity to 60% on hover			
		} else {
			$('.arrowRight').fadeTo(200, 0.5); // This should set the opacity to 100% on hover
			$('#lastPage').fadeTo(200, 0.5); // This should set the opacity to 100% on hover
		}
	}
	
	function isPar(num){ return !(num%2); }
