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

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

var membersProfileHandler = function () {
	$('ul#membersList a').click(function(){
		var userId = this.hash.split("|")[1];
		getAndBuildFullProfile(userId);
		$.scrollTo("#content", 500);
		addFancybox();
	});
	
	$('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 () {
	var _triggerFilter = function(cc) {
		var selectedCountryCode = cc.toUpperCase();
		if (cc == 0) {
			$('#membersList li').show();
		} else {
			$('#membersList li').hide();
			$('#membersList li.cc-'+selectedCountryCode).show();
		}		
	};
	if ($('#filterByCountry').length != 0) {
		$('#filterByCountry').change(function(){
			_triggerFilter(this.value);
		});

		var filterByCountryVal = $('#filterByCountry').val();
		if (filterByCountryVal != 0) {
			_triggerFilter(filterByCountryVal);
		}
	}
};

var fancyUserProfiles = function () {
	$(".fancyProfile").fancybox({
		padding: 25,
		scrolling: 'no',
		autoDimensions: true,
		ajax: {
			type: "GET",
			data: 'source=fancy'
		}
	});
};


$(document).ready(function(){
	// members page specific functions
	if ($("#members").length > 0) {
		membersCountryFilter();
		membersQuickFilter();
		membersProfileHandler();
		membersPickRandomProfile();
	}
	// global members data related functions
	fancyUserProfiles();
});
