var membersQuickFilter = function () {
	$('ul#membersList li').quicksearch({ 
		position: 'before', 
		attached: '#countryFilter',
		loaderImg: '/i/images/ajax-loader-small.gif', 
		labelText: 'Search by name',
		delay: 200
	});
};

var getAndBuildFullProfile = function (userId) {
	if (userId) {
		$.get("/apps/membershandler.php?getFullProfile="+userId, function(data){
			$("#memberProfileBlock").html(data);
		});		
	}
};

var membersProfileHandler = function () {
	$('ul#membersList a').click(function(){
		var userId = this.hash.split("|")[1];
		getAndBuildFullProfile(userId);
		$.scrollTo("#content", 500);
	});
	
	$('a.recentMember').click(function(){
		var userId = this.hash.split("|")[1];
		getAndBuildFullProfile(userId);
		$.scrollTo("#content", 500);
	});
};

var membersPickRandomProfile = function () {
    // if profile is predefined in hash, show that instead of random one
	var membersList = $('ul#membersList a');
	if (location.hash.indexOf("profile") > -1) {
	    var locationHash = unescape(location.hash);
	    for (var i = 0; i < membersList.length; i++) {
	        if (membersList[i].hash == locationHash) {
	            getAndBuildFullProfile(locationHash.split("|")[1]);
	        }
	    }
	} else {
    	var r = Math.floor(Math.random() * membersList.length);
    	var randomUserId = membersList[r].hash.split("|")[1];
    	getAndBuildFullProfile(randomUserId);	    
	}
};

var membersCountryFilter = function () {
    if ($('#filterByCountry').length != 0) {
        $('#filterByCountry').change(function(){
            var selectedCountryCode = this.value.toUpperCase();
            if (this.value == 0) {
                $('#membersList li').show();
            } else {
                $('#membersList li').hide();
                $('#membersList li.cc-'+selectedCountryCode).show();                
            }
        });
    }
};


$(document).ready(function(){
    membersCountryFilter();
    membersQuickFilter();
    membersProfileHandler();
    membersPickRandomProfile();
});