var profileIcons = new Class({
	initialize: function(oUl){
		if ($type(oUl) === false){
			return;
		}
		
		this.maCallbacks = $H({});
		
		oUl.getElements('li').each(function(oEl){
			oEl.addEvent('click', (this.handleClick).bind(this));
			oEl.getElements('a').each(function(oA){
				oA.addEvent('click', (this.handleClick).bind(this));
			}, this);
		}, this);
	},
	
	register: function(sAction, oCallback){
		this.maCallbacks.include(sAction, oCallback);
	},
	
	handleClick: function(oEvent){
		oEvent.stop();
		
		var o_target = $(oEvent.target);
		if (o_target.get('tag') != 'li'){
			o_target = o_target.getParent('li');
		}
		
		if (o_target.hasClass('blurred')){
			return;
		}
		
		var s_action = o_target.get('id');
		if (!this.maCallbacks.has(s_action)){
			console.log('unknown callback', s_action);
			return;
		}
		
		this.maCallbacks[s_action].bind(o_target).call();
	}
});