
	var URL_GLIVE;
	var MEDIA01;
	var URL_AJAXS;
	var URL_MODULES;
	var URL_MEDIA 	;
	var URL_FLAGS 	;

	var login = false;
	var init = 1;
	var maximo;
	
	var messages = new Array();
	
	var totalListProductsByUser;
	var maxHeigthProductsByUser;
	
	jQuery.preloadImages = function(){
		for(var i = 0; i<arguments.length; i++){
			jQuery("<img>").attr("src", arguments[i]);
		}
	}

	
	$(document).ready(function(){
							   
		$('#giveYourOpinionAction').click(function(){
			var winTitle = $('#titleOpinion').val();
			showFloatWin('html/dialog/UserOpinion.php', '', cancel_text, send_my_opinion, 'sendOpinion');

			//(url, title, closeTitle, AcceptTitle, callbackFunction)
		});		
							   
		$('a[rel*=floatWin]').floatWin();
				
		URL_GLIVE 	= $("#domain").val();
		MEDIA01 	= $("#media01").val();
		URL_MEDIA 	= MEDIA01+'layout/default/web/minisites/glive/';
		URL_FLAGS 	= MEDIA01+'flags/flags_iso/48/';
		URL_AJAXS 	= URL_GLIVE + "includes/functions/ajaxFunctions.php";
		URL_MODULES	= URL_GLIVE + "includes/modules/";
							   
		$('#dropdownMenuUp').click(function(){
			$('#productList').fadeIn(350);
			$('#productListLinks').fadeIn(350);
			$('#dropdownMenuUp').hide();
			$('#dropdownMenuDw').show();
		});
		
		$('#dropdownMenuDw').click(function(){
			$('#productList').fadeOut(350);
			$('#productListLinks').fadeOut(350);
			$('#dropdownMenuUp').show();
			$('#dropdownMenuDw').hide();
		});
		
		$('#moreScores').click(function(){
			$("#scoresFloatingContainer").fadeIn(500);
		});
		
		$('#closeFloatBox').click(function(){
			$("#scoresFloatingContainer").fadeOut(500);
		});
		
		if(action != ''){
            switch(action){            
                case 'friendlist':
                    $ID = ($('#rfuid').val() != '') ? $('#rfuid').val() : $('#uluid').val();
       
                    $.getJSON( URL_AJAXS + "?data=getFriendListOrderByRank&uid=" + $ID + "&rel=" + $('#rel').val() + "&r=" + Math.random(), 
                    function(data){
                        var myPager = new pagerFunction(data, 0, 'buildFriendList'); 
                        myPager.setByPage(6);
                        myPager.setPagerButtons('pagerLinks','publicRankingPrev', 'publicRankingNext');
                        myPager.init();
                    });
                    break;
                /*case 'message':
                    $.get(URL_GLIVE + 'html/dialog/MessageComposer.php?u='+$('#userBoxValueprofile').val(), function(data){ $.floatWin(data) });
                    break;*/
                case 'request':
                    showFloatWin('html/dialog/SendFriendRequest.php?u='+$('#userBoxValueprofile').val(), sendRequest_title, cancel_text, sendRequest_text, 'sendReq');
                    break;
                case 'search':
                    $.getJSON( URL_MODULES + "publicSearch.ajax.php?data=publicSearchUser&name=" + $('#f').val() + "&r=" + Math.random(), 
                        function(data){
                        
                            if(data && data['countFriends']>0){
                                var myPager = new pagerFunction(data, 0, 'buildSearchList'); 
                                myPager.setByPage(9);
                                myPager.setPagerButtons('pagerLinks','publicRankingPrev', 'publicRankingNext');
                                myPager.init();                        
                            }else{
                                loadingHide();
                                $('#noResult').html(no_match_found);
                                $('#noResult').css('color','#ff0000');
                            }                            
                        }
                    );                    
                    break;
                default:
                    break;
            
            }
        }
		
		var clearQueue = true;
		var gotoEnd = true;										  
		var elem = "#ulProdList";
		var pos = $(elem).position();
		
		var maxP = ((73 * parseInt(totalListProductsByUser)) - (73 * 6)) * -1;		
		
		if(totalListProductsByUser >= 6){
			$("#containerProductList").css('height', '438px');
		}
		
		if(totalListProductsByUser < 6){
			$("#morescoresup, #morescoresdown").removeClass('cursorPointer');
			$("#morescoresup, #morescoresdown").fadeTo("fast", 0.30)
		}else{
		
			$("#morescoresup").click(function(){
				pos = $(elem).position();
				
				if(pos.top < 0){
					$(elem).stop(clearQueue, gotoEnd).animate({
						top: '+=73'
					}, 500, function(){
						correctorPos(elem, 'up', 0);
					});
				}
			});
			
			$("#morescoresdown").click(function(){
				pos = $(elem).position();
				
				if(pos.top > maxP){
					$(elem).stop(clearQueue, gotoEnd).animate({
						top: '-=73'
					}, 500, function(){
						correctorPos(elem, 'dw', maxP);
					});
				}
			});
		}
		if(!login){
			checkArrowsGames();
			changeToSubmitBottomLinks();
		}
        
        $("#searchName").click(function(){
            if($('#searchLabel').val() == $('#searchName').val() || $('#searchName').val() == ''){  
                $('#searchName').val('');
            }
			
        });
        
        $("#searchName").keypress(function(e){
            if (e.which == 13){
                 if($('#searchLabel').val() == $('#searchName').val() || $('#searchName').val() == '' || ($('#searchName').val()).length<3){  
                    return false;
                }else{
                    if($('#userID').val()!=''){
                        window.location.href = URL_GLIVE  + 'search/?name=' + $('#searchName').val();
                    }else{
                        //window.location.href = URL_GLIVE  + '?action=search&f=' + $('#searchName').val() + '#top50';
						$.get("html/includes/userPublicSearch.php", 
							{ f: $('#searchName').val() },
							function(data){
								$("#mainLogin").html(data);
							}
						);
						
					}	
                }
            }
        });
        
         $("#goSearch").click(function(){
            if($('#searchLabel').val() == $('#searchName').val() || $('#searchName').val() == '' || ($('#searchName').val()).length<3){  
                return false;
            }else{
                if($('#userID').val()!=''){
                    window.location.href = URL_GLIVE  + 'search/?name=' + $('#searchName').val();
				}else{
					$.get("html/includes/userPublicSearch.php", 
						{ f: $('#searchName').val() },
						function(data){
							$("#mainLogin").html(data);
						}
					);
				}
                    //window.location.href = URL_GLIVE  + '?action=search&f=' + $('#searchName').val() + '#top50';
            
            }
        });
                
        $("#searchFriendName").click(function(){
            if($('#searchLabelMin').val() == $('#searchFriendName').val() || $('#searchFriendName').val() == ''){  
                $('#searchFriendName').val('');
            }
        });
        
        $("#searchFriendName").keypress(function(e){
            if (e.which == 13){
                 if($('#searchLabel').val() == $('#searchFriendName').val() || $('#searchFriendName').val() == '' || ($('#searchFriendName').val()).length<3){  
                    return false;
                }else{
					if ( typeof callSection == 'function' ){
						var parameters = 'name=' + $('#searchFriendName').val();
						callSection('search',parameters);
					}else{
						window.location.href = URL_GLIVE  + 'search/?name=' + $('#searchFriendName').val();
					}	
                }
            }
        });
        
         $("#searchRankLeftButton").click(function(){
            if($('#searchLabel').val() == $('#searchFriendName').val() || $('#searchFriendName').val() == '' || ($('#searchFriendName').val()).length<3){  
                return false;
            }else{
                if ( typeof callSection == 'function' ){
					var parameters = 'name=' + $('#searchFriendName').val();
					callSection('search',parameters);
				}else{
					window.location.href = URL_GLIVE  + 'search/?name=' + $('#searchFriendName').val();
				}
            }
        });
	});
	
    var dialog = new DialogWeb();
	
	function changeToSubmitBottomLinks(){
		$('.changeLanguage').each(function(){
			$(this).click(function(){
				var form = document.createElement("form");
				var inputUser = document.createElement("input");
				inputUser.setAttribute("type", "hidden");
				inputUser.setAttribute("name", "uid");
				inputUser.setAttribute("id", "uid");
				inputUser.setAttribute("value", $('#uluid').val());
				form.setAttribute("name", "formLanguage");
				form.setAttribute("id", "formLanguage");
				form.setAttribute("method", "POST");
				form.setAttribute("action", $(this).attr("href"));
				form.appendChild(inputUser);
				document.body.appendChild(form);
				setTimeout("document.getElementById('formLanguage').submit()",100);
				return false;
			})	
		});
	}
	
	function sendOpinion(){
		
		$.ajax({
			type: 'POST',
			url: URL_AJAXS + '?data=sendOpinion',
			data: $('#opinion').serialize() + '&r=' + Math.random(),
			success: function(res){
				res = res.split("_");
				if(res[0] == '1'){
					dialog.ButtonCancel=false;					
					dialog.ButtonAccept=false;
					dialog.destroyButtonCancel();
					dialog.destroyButtonAccept();
					dialog.loadUrl = URL_GLIVE + 'html/dialog/UserOpinionSent.php';
					dialog.init();
					setTimeout("dialog.closeBox()",3000);
				} else {
					jAlert(res[1], $('#warning').val());
				}
			}
		});
	}
    
    function showFloatWin(url, title, closeTitle, AcceptTitle, callbackFunction){
   
        dialog.create(URL_GLIVE + url);		
        dialog.setTitle(title);
        dialog.setButtonCancel(closeTitle);
        if(AcceptTitle!=''){
            dialog.setButtonAccept(AcceptTitle, callbackFunction);
        }
        dialog.init();
    }
        
    function buildFriendList(start, limit, data){
        
		$('#publicFriendslist dl').empty();
        $("<dt>" + data['titles'][0] + "</dt>").appendTo('#columnPublic1Friendslist');
        $("<dt>" + data['titles'][1] + "</dt>").appendTo('#columnPublic2Friendslist');
        $("<dt>" + data['titles'][2] + "</dt>").appendTo('#columnPublic3Friendslist');
        $("<dt>" + data['titles'][3] + "</dt>").appendTo('#columnPublic4Friendslist');
        $("<dt>" + data['titles'][4] + "</dt>").appendTo('#columnPublic5Friendslist');
                    
        try{
			for(var i = start; i < limit; i++){
				var userData  = '<a href="' + URL_GLIVE + '?u=' + data['ranking'][i]['username'] + '#top50" target="_self">';
					userData += '<img class="user" src="' + data['ranking'][i]['useravatar'] + '" /></a>';
					userData += '<div class="userInfo">';
					userData += '<div style="text-align:left"><a href="' + URL_GLIVE + '/?u=' + data['ranking'][i]['username'] + '" target="_self">';					
					userData += '<span>' + data['ranking'][i]['username'] + '</span></a></div>';
					userData += '<div><ul>' + data['ranking'][i]['userRank'] + '</ul></div>';
					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>';
												
				$('<dd>' + (i + 1) + '.</dd>').appendTo('#columnPublic1Friendslist');
				$('<dd>' + userData + '</dd>').appendTo('#columnPublic2Friendslist');
				$('<dd><img src="' + data['ranking'][i]['userFlag'] + '" /></dd>').appendTo('#columnPublic3Friendslist');
				
				$('<dd><p>' + number_format(data['ranking'][i]['totalPoints'], 0, ' ', ' ') + '</p></dd>').appendTo('#columnPublic4Friendslist');
				$('<dd><p>' + number_format(data['ranking'][i]['totalTrophies'], 0, ' ', ' ') + '</p></dd>').appendTo('#columnPublic5Friendslist');
				
			}
		}catch(e){}
        
        $('#loadingBox').hide();        
    }
    
    function buildSearchList(start, limit, data){
        
        $('#publicFriendslist dl').empty();
        $("<dt>" + data['titles'][0] + "</dt>").appendTo('#columnPublic1Friendslist');
        $("<dt>" + data['titles'][1] + "</dt>").appendTo('#columnPublic2Friendslist');
        $("<dt>" + data['titles'][2] + "</dt>").appendTo('#columnPublic3Friendslist');
        $("<dt>" + data['titles'][3] + "</dt>").appendTo('#columnPublic4Friendslist');
        $("<dt>" + data['titles'][4] + "</dt>").appendTo('#columnPublic5Friendslist');
        
		try{
			for(var i = start; i < limit; i++){
			
				var userData  = '<a href="' + URL_GLIVE + '?u=' + data['ranking'][i]['username'] + '#top50" target="_self">';
					userData += '<img class="user" src="' + data['ranking'][i]['useravatar'] + '" /></a>';
					userData += '<div class="userInfo">';
					userData += '<div style="text-align:left"><a href="' + URL_GLIVE + '/?u=' + data['ranking'][i]['username'] + '" target="_self">';					
					userData += '<span>' + data['ranking'][i]['username'] + '</span></a></div>';
					userData += '<div><ul>' + data['ranking'][i]['userRank'] + '</ul></div>';
					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>';
												
				$('<dd>' + (i + 1) + '.</dd>').appendTo('#columnPublic1Friendslist');
				$('<dd>' + userData + '</dd>').appendTo('#columnPublic2Friendslist');
				$('<dd><img src="' + data['ranking'][i]['userFlag'] + '" /></dd>').appendTo('#columnPublic3Friendslist');
				
				$('<dd><p>' + number_format(data['ranking'][i]['totalPoints'], 0, ' ', ' ') + '</p></dd>').appendTo('#columnPublic4Friendslist');
				$('<dd><p>' + number_format(data['ranking'][i]['totalTrophies'], 0, ' ', ' ') + '</p></dd>').appendTo('#columnPublic5Friendslist');
				
			}
		}catch(e){}
        $('#loadingBox').hide();        
        //$("#pagerLinks").show();	
    }
	
	function avatarToLink(username, avatar, option){
		var option = (option == undefined) ? '' : option;		
		var ret  = '<a '+ option + ' title="' + username + '" href="' + URL_GLIVE + 'profile/?u=' + username + '" target="_self">';
			ret += '<img alt="' + username + '" class="user" src="' + avatar + '" /></a>';
			
		return ret;
	}

	function usernameToLink(username, option){
		var option = (option == undefined) ? '' : option;
		var	ret  = '<a '+ option + ' href="' + URL_GLIVE + 'profile/?u=' + username + '" target="_self">';					
			ret += '<span>' + username + '</span></a>';
		return ret;
	}
    
	function correctorPos(elem, md, _max){
		pos = $(elem).position();
		
		if(md == 'up'){
			if(pos.top > 0){
				$(elem).css( 'top', '0px' );
			}
		}else{
			if(pos.top < _max){
				$(elem).css( 'top', _max + 'px' );
			}
		}
		checkArrowsGames();
	}	
	
	function checkArrowsGames(){

        if(document.getElementById('ulProdList')==null)
            return false;
            
		var pos = $('#ulProdList').position();
		var maxP = ((73 * parseInt(totalListProductsByUser)) - (73 * 6)) * -1;
		
		if(pos.top >= 0){
			$("#morescoresup").hide();				
			$("#morescoresupdisabled").show();			
		}else{
			$("#morescoresupdisabled").hide();				
			$("#morescoresup").show();			
		}
		
		if(pos.top > maxP){
			$("#morescoresdowndisabled").hide();				
			$("#morescoresdown").show();			
		}else{
			$("#morescoresdown").hide();				
			$("#morescoresdowndisabled").show();			
		}		
	}
	
	

	function loadingShow(){
		$("#pagerLinks").hide();
		$("#loadingBox").show();
	}
	
	function loadingHide(){
		$("#loadingBox").hide();
		$("#pagerLinks").show();		
	}

	function initCarrousell(count){
		maximo = count;
		$('#gamesList'+init).show();
	}

	function imagePreload(){ 
		var args = imagePreload.arguments;
		document.imageArray = new Array(args.length);
		for(var i=0; i<args.length; i++){
			document.imageArray[i] = new Image;
			document.imageArray[i].src = args[i];
		}
	}	
	
	function isPar(num){ return !(num%2); }	
	
	
	/* Functions to compatibilize php functions */
	function number_format (number, decimals, dec_point, thousands_sep) {
		var n = number, prec = decimals;
		var toFixedFix = function (n,prec) {
			var k = Math.pow(10,prec);
			return (Math.round(n*k)/k).toString();
		};
	 
		n = !isFinite(+n) ? 0 : +n;
		prec = !isFinite(+prec) ? 0 : Math.abs(prec);
		var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
		var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
	 
		var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
		var abs = toFixedFix(Math.abs(n), prec);
		var _, i;
	 
		if (abs >= 1000) {
			_ = abs.split(/\D/);        
			i = _[0].length % 3 || 3;
			_[0] = s.slice(0,i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
			s = _.join(dec);    
		} else {
			s = s.replace('.', dec);
		}
	 
		var decPos = s.indexOf(dec);
		if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
			s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
		}
		else if (prec >= 1 && decPos === -1){
			s += dec+new Array(prec).join(0)+'0';    
		}
		return s;
	}
	
	
	
	function is_numeric (mixed_var) {
		return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);
	}
	
	
	function call_user_func (cb, parameters) {
		var func;
		 if (typeof cb == 'string') {
			if (typeof this[cb] == 'function') {
				func = this[cb];
			} else {
				func = (new Function(null, 'return ' + cb))();        }
		} else if (cb instanceof Array) {
			func = eval(cb[0]+"['"+cb[1]+"']");
		}
			if (typeof func != 'function') {
			throw new Error(func + ' is not a valid function');
		}
	 
		return func.apply(null, Array.prototype.slice.call(arguments, 1));	
	}	
	
	
	
	function emailCheck (elem){
		emailStr = $(elem).val();
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);
	
		if(matchArray==null){
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
	
		for (i=0; i<user.length; i++){
			if (user.charCodeAt(i)>127){
				return false;
			}
		}
		for (i=0; i<domain.length; i++){
			if (domain.charCodeAt(i)>127){
				return false;
			}
		}
	
		if (user.match(userPat)==null){
			return false;
		}
	
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null){
			for (var i=1;i<=4;i++){
				if (IPArray[i]>255){
					return false;
				}
			}
			return true;
		}
	
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++){
			if (domArr[i].search(atomPat)==-1){
				return false;
			}
		}
	
		if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1){
			return false;
		}
	
		if (len<2){
			return false;
		}
	
		return true;
	}
	
	function boxLogin(get){
		if(login && get){ closeBoxLogin(); }	
	}
		