
	var rankAmount 	= 10;
	var rankMaxRes	= 50;
	var rankObject	= new Array();
	var arrayCountries = {};
	var games = {}
	var selectedPid = 824;
	var top50Ranking = '';
	/************************************************************************************************************/
	
      
	$(document).ready(function(){
		   
		if(login){ $("#userBoxValue").val(''); }
		
		$('#gameCountrySelector').change(function(){
			$("#rankingPrev, #rankingNext").hide();						 
			if(login){ closeBoxLogin(); }
			getGlobalRanking();
		});
		
		selectedPid = $('#gameRankingLive').val();
		
		if (!isNaN(selectedPid)){
			addPidInLink();
			
			$("#rankingNext").click(function(){
				if(login){ closeBoxLogin(); }
				addPidInLink();
			});

			$("#rankingPrev").click(function(){
				if(login){ closeBoxLogin(); }
				addPidInLink();
			});
		}
		
			
		$('#gameRankingLive').change(function(){
			if(login){ closeBoxLogin(); }
			 selectedPid = $("#gameRankingLive option:selected").val();
			if (typeof games[selectedPid] != "undefined" ){
				var src = $('#ifrw').attr('src');
				var start = src.indexOf('folder=');
				var end = src.indexOf('&lang='); 
				src = src.replace((src.slice(start,end)),('folder='+games[selectedPid]['folderMiniRanking']))
				$('#ifrw').attr('src',src);
				$('#rankings_more_scores').attr('href',games[selectedPid]['site']);
				addPidInLink();
			}else{
				if (typeof allGames[selectedPid] != "undefined" ){
					var src = $('#ifrw').attr('src');
					var start = src.indexOf('folder=');
					var end = src.indexOf('&lang='); 
					src = src.replace((src.slice(start,end)),('folder='+allGames[selectedPid]['folderMiniRanking']))
					$('#ifrw').attr('src',src);
					$('#rankings_more_scores').attr('href',allGames[selectedPid]['site']);
					addPidInLink();
				}else{	
					window.location = URL_GLIVE + "?pid=" + selectedPid + "#RankingLive";
				}	
			}
		});
		
		$('#gameRankingLive2').change(function(){
			var selectedPidTemp = $("#gameRankingLive2 option:selected").val();
			if (typeof games[selectedPidTemp] != "undefined" ){
				var src = $('#ifrw2').attr('src');
				var start = src.indexOf('folder=');
				var end = src.indexOf('&lang='); 
				src = src.replace((src.slice(start,end)),('folder='+games[selectedPidTemp]['folderMiniRanking']))
				$('#ifrw2').attr('src',src);
				$('#rankings_more_scores2').attr('href',games[selectedPidTemp]['site']);
				//addPidInLink();
			}else{
				if (typeof allGames[selectedPidTemp] != "undefined" ){
					var src = $('#ifrw2').attr('src');
					var start = src.indexOf('folder=');
					var end = src.indexOf('&lang='); 
					src = src.replace((src.slice(start,end)),('folder='+games[selectedPidTemp]['folderMiniRanking']))
					$('#ifrw2').attr('src',src);
					$('#rankings_more_scores2').attr('href',games[selectedPidTemp]['site']);
					//addPidInLink();
				}else{
					window.location = URL_GLIVE + "?pid=" + selectedPidTemp + "#RankingLive";
				}	
			}
		});
		
		$("#rankingSearchBtn").click(function(){
			if(canSearch()){
				doSearch();
			}
		});
		
		$("#qRanking").keypress(function(e){
			if (e.which == 13){
				if(canSearch()){
					doSearch();
					if(login){ closeBoxLogin(); }
				}
			}
		});
		
		
		$("#rankingNext").click(function(){
			pagerGlobalRanking(true, '');
			if(login){ closeBoxLogin(); }
		});

		$("#rankingPrev").click(function(){
			pagerGlobalRanking(false, '');
			if(login){ closeBoxLogin(); }
		});
		
		$("#rankingPrev").hide();
		
		
		
		
		//getGlobalRanking();
		
		
	}); // End document ready
	
	
	/************************************************************************************************************/
	/* Search functions */
	function canSearch(){
		var q = $("#qRanking").val();
		if(q.length >= 3){
			$("#qRanking").removeClass('error');
			$("#qErrorText").hide();            
			return true;
		}else{
			$("#qRanking").addClass('error');
			$("#qErrorText").show();
            $("#qNoFoundText").hide();
			return false;
		}
	}
	
	function doSearch(){
		
		if(login){ closeBoxLogin(); }
		
		var qStrg = $("#qRanking").val();
		var qElem = rankObject;
		var qFind = false;
				
		var str = 1;
		
		for(var i = str; i < (rankMaxRes + 1); i++){
			if(qElem['ranking'][i]['username'].toLowerCase() == qStrg.toLowerCase()){
				qFind = i;
				if(i > 10){str = 11;}
				if(i > 20){str = 21;}
				if(i > 30){str = 31;}
				if(i > 40){str = 41;}
				break;
			}
		}
	
		if(!qFind){
			$("#qNoFoundText").show();
            $("#qErrorText").hide();
		}else{
			setGlobalRanking(str, qElem, qFind);
		}
	}
	
	/************************************************************************************************************/
	/* Rankings functions */
	function getGlobalRanking(){
		clearRankingBox();
		generatedArrayCountries();
		var selector = $("#gameCountrySelector option:selected").val();
		var country = (selector != 0) ? "&country=" + selector : '';
		
		$.getJSON( URL_AJAXS + "?data=getGlobalRanking&r=" + Math.random() + country, 
			function(returnData){
				rankObject 	= returnData;
				actualPage 	= 1;
				pagerGlobalRanking(false, 'reset');
				//setGlobalRanking(1, rankObject, false);
			}
		);
	}
	
	
	function setGlobalRanking(str, data, qFind){
		clearRankingBox();
        generatedArrayCountries();
		if(data['haveRanking'] == 'true'){
			$('<dt>' + data['titles']['column1'] + '</dt>').appendTo('#column1');
			$('<dt>' + data['titles']['column2'] + '</dt>').appendTo('#column2');
			$('<dt>' + data['titles']['column3'] + '</dt>').appendTo('#column3');
			$('<dt>' + data['titles']['column4'] + '</dt>').appendTo('#column4');
			$('<dt>' + data['titles']['column5'] + '</dt>').appendTo('#column5');
		   
			for(var i = str; i < (str + rankAmount); i++){
				if ( typeof data['ranking'][i] == "undefined"){
					break;
				}
				
				var avatar = '<img class="user" src="' + ((data['ranking'][i]['useravatar'] == '') ? URL_MEDIA + 'images/no_avatar.png' : data['ranking'][i]['useravatar']) + '" />';
				
				if($('#userID').val() != ''){
                    var usrAvatar 	= '<a title="' + data['ranking'][i]['username'] + '" href="' + URL_GLIVE + 'profile/?u=' + data['ranking'][i]['username'] + '#top50">' + avatar + '</a>';
                    var usrName 	= '<a title="' + data['ranking'][i]['username'] + '" href="' + URL_GLIVE + 'profile/?u=' + data['ranking'][i]['username'] + '#top50"><span>' + data['ranking'][i]['username'] + '</span></a>';
                }else{
                    var usrAvatar 	= '<a title="' + data['ranking'][i]['username'] + '" href="javascript:void(0);" onClick="getLogOffContent(\'' + data['ranking'][i]['username'] + '\');" >' + avatar + '</a>';
                    var usrName 	= '<a title="' + data['ranking'][i]['username'] + '" href="javascript:void(0);" onClick="getLogOffContent(\'' + data['ranking'][i]['username'] + '\');" ><span>' + data['ranking'][i]['username'] + '</span></a>';
                }
                
				var userData  = usrAvatar;
					userData += '<div class="userInfo">';
					userData += usrName;
					userData += '<ul>' + data['ranking'][i]['userRank'] + '</ul>';
					userData += '<div class="connection">';
					userData += '<img alt="" src="' + URL_MEDIA + 'images/' + data['ranking'][i]['statusImg'] + '">';
					userData += '<p>' + data['ranking'][i]['statusTxt'] + '</p>';
					userData += '</div>';
					userData += '</div>';
					
				var userFlag = '<div class="flagsRanking" style="background:url(' + URL_FLAGS + data['ranking'][i]['userFlag'] +');" title="'+arrayCountries[data['ranking'][i]['userCountry']]+'" ></div>';
				
				var classSel = (qFind == i) ? 'hoverBg' : '';
				if ( document.getElementById('userBoxValue') != null  ){
					var qStrg = document.getElementById('userBoxValue').value;
					if(data['ranking'][i]['username'].toLowerCase() == qStrg.toLowerCase()){
							classSel = 'hoverBg';
					}
				}
				if ( document.getElementById('userBoxValueprofile') != null  ){
					var qStrg = document.getElementById('userBoxValueprofile').value;
					if(data['ranking'][i]['username'].toLowerCase() == qStrg.toLowerCase()){
							classSel = 'hoverBg';
					}
				}
				
				$('<dd class="' + classSel + '">' + i + '.</dd>').appendTo('#column1');
				$('<dd class="' + classSel + '">' + userData + '</dd>').appendTo('#column2');
				$('<dd class="' + classSel + '">' + userFlag + '</dd>').appendTo('#column3');
				$('<dd class="' + classSel + '"><p>' + data['ranking'][i]['points'] + '</p></dd>').appendTo('#column4');
				$('<dd class="' + classSel + '"><p>' + data['ranking'][i]['trophies'] + '</p></li>').appendTo('#column5');
			}
			working(false);
			if (document.getElementById('rankingInfo') != null && top50Ranking == '' ){
				if (document.getElementById('mainLogin') != null){ 
					top50Ranking = $("#mainLogin").html();
				}
				if (document.getElementById('mainProfile') != null){ 
					top50Ranking = $("#mainProfile").html();
				}
			}
		}
	}
	
	/************************************************************************************************************/
	/* Ranking pager */
	function pagerGlobalRanking(mode, status){
		
		clearRankingBox();
		$("#qRanking").removeClass('error');
		$("#qErrorText").hide();            
		
		var start;
		var change 	= true;
		var maxPage = rankMaxRes / rankAmount;
		
		if(mode){
			if(actualPage == 1){
				start = actualPage + rankAmount;
				actualPage++;
				change = true;
			}else{
				if(actualPage >= 10){
					actualPage = 10;
					change = false;
				}else{
					start = (actualPage * rankAmount) + 1;
					actualPage++;
					change = true;
				}
			}
		}else{
			if(actualPage == 1){
				change = false;
			}else{
				actualPage--;
				start = ((actualPage * rankAmount) - (rankAmount - 1));
				change = true;
			}
		}
		
		if(status == 'reset'){
			actualPage 	= 1;
			start		= 1;
			change 		= true;
		}
		
		if(actualPage == 1){
			$("#rankingPrev").hide();
			$("#rankingNext").show();
		}
		
		if(actualPage > 1){
			$("#rankingPrev").show();
			$("#rankingNext").show();
		}
		
		if(actualPage == maxPage){
			$("#rankingPrev").show();
			$("#rankingNext").hide();
		}
		
		if(change){
			if ($('#pageActualPosition').length != 0){
				var num_current_page_text = $('#num_current_page').val();
				$('#pageActualPosition').text(num_current_page_text.replace(/\{num\}/,actualPage).replace(/\{total\}/,maxPage)); 
			}
			setGlobalRanking(start, rankObject, false);
		}
		working(false);
	}
	
	/************************************************************************************************************/
	/* Loading images */
	function working(mode){
		if(mode){
			$("#rankingInfo").hide();			
			$("#loadingBox").show();
		}else{
			$("#loadingBox").hide();
			$("#rankingInfo").show();
		}
	}
	
	function clearRankingBox(){
		$("#qErrorText , #qNoFoundText").hide();
		$("#column1, #column2, #column3, #column4, #column5").empty();
		working(true);
	}
	function generatedArrayCountries(){
		if (typeof arrayCountries[0] != 'undefined'){
			return true;
		}
		$('#gameCountrySelector option').each(function(){
			arrayCountries[$(this).val()] = $(this).text();            
		})
	}
	function addPidInLink(){
		/*$('.user').parent().each(function(){
		    var link = $(this).attr('href');
			if (typeof link == 'undefined'){
				return false;
			}
		   if ( link.indexOf('pid') == -1 ){
		        link = link.replace('#',('&pid='+selectedPid+'#'));
		    }else{
		        var start = link.indexOf('&pid=');
		        var end = start+8; 
				link = link.replace((link.slice(start,end)),('&pid='+selectedPid))
		    }
			$(this).attr('href',link)
		})*/

		/*$('.userInfo a').each(function(){
			var link = $(this).attr('href');
			if (typeof link == 'undefined'){
				return false;
			}
		    
		   if ( link.indexOf('pid') == -1 ){
		        link = link.replace('#',('&pid='+selectedPid+'#'));
		    }else{
		        var start = link.indexOf('&pid=');
		        var end = start+8; 
				link = link.replace((link.slice(start,end)),('&pid='+selectedPid))
		    }
		    $(this).attr('href',link)
		})
		$(".left").children('a').each(function(){
		    $(this).attr('onclick','')
		    $(this).click(function(){
		        document.location=URL_GLIVE+'?&pid='+selectedPid+'#top50';
		    })
		})*/
		
		$('#footerContainer li').children().each(function(){
														  
			try{
														  
				var link = $(this).attr('href');
				if ( $(this).attr('rel') == 'floatWin' ){
					return false;
				}
			  
				if ( link.indexOf('pid') == -1 ){
					if ( link.indexOf('?') == -1 ){
						if ( selectedPid == 824 ){
							return false;
						}
						link = link+'?&pid='+ selectedPid;
					}else{
						link = link+'&pid='+ selectedPid;	
					}	
				}else{
					 var start = link.indexOf('&pid=');
					 var end = start+8; 
					link = link.replace((link.slice(start,end)),('&pid='+selectedPid))
				
				}
				$(this).attr('href',link);
				
			}catch(e){}
		})
		
		
	}
	
	function getLogOffContent(username,nothing){
		if ( typeof username == "undefined" ){
			return true;
		}
		if ( !login && typeof callSection == 'function' ){
			var parameters = 'u='+username;
			callSection('profile',parameters);
			return false;
		}
		working(true);
		$.get(  URL_GLIVE+"html/includes/userPublicProfile.php", 
				{ u: username },
				function(data){
					working(false);
					if (data != 'false'){
						if (document.getElementById('mainLogin') != null){
							$("#mainLogin").html(data);
						}else{
							if (document.getElementById('mainProfile') != null){
								$("#mainProfile").html(data);
							}else{
								window.location = URL_GLIVE + "?u=" + username ;
							}	
						}						
					}else{
						alert($('#user_not_found').val());
						if (document.getElementById('rankingInfo') == null ){
							getRankingTop50()
						}	
					}
				}
		);
		
		return false;
	}
	
	function getRankingTop50(){
		if(top50Ranking == '' ){
			window.location = URL_GLIVE ;
			return true;
		}
		if (document.getElementById('mainLogin') != null){
			$("#mainLogin").html(top50Ranking);
		}
		if (document.getElementById('mainProfile') != null){
			$("#mainProfile").html(top50Ranking);
		}
			
		$("#rankingSearchBtn").click(function(){
			if(canSearch()){
				doSearch();
			}
		});
		
		$("#qRanking").keypress(function(e){
			if (e.which == 13){
				if(canSearch()){
					doSearch();
					if(login){ closeBoxLogin(); }
				}
			}
		});
		
		
		$("#rankingNext").click(function(){
			pagerGlobalRanking(true, '');
			if(login){ closeBoxLogin(); }
		});

		$("#rankingPrev").click(function(){
			pagerGlobalRanking(false, '');
			if(login){ closeBoxLogin(); }
		});
		
		$('#gameCountrySelector').change(function(){
			$("#rankingPrev, #rankingNext").hide();						 
			getGlobalRanking();
		});
	}