var UI = new Class({
	Data: {},
	Links: [],
	
	initialize: function() {},
	
	CreateTips: function() {
		this.GetDataFromHTML();
		this.SetupLinks();
		
		new Tips(this.Links, {
			initialize: function() {
				this.Effect = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0);
			},
			onShow: function() { this.Effect.start(1) },
			onHide: function() { this.Effect.start(0) }
		});
	},
	
	GetDataFromHTML: function() {
		var Raw = $$('div.UI-data');
		Raw.each(function(el) {
			var Children = el.getChildren();
			this.Data[Children[0].innerHTML] = {
				uname: Children[0].innerHTML,
				fname: Children[1].innerHTML,
				lname: Children[2].innerHTML,
				role: Children[3].innerHTML
			};
		}.bind(this));
	},
	
	SetupLinks: function() {
		this.Links = $$('.CommentHeader ul li a');
		this.Links.each(function(el) {
			if(el.hasClass('WhisperBack')) return;
			var Uname = el.innerHTML;
			var TipData = this.Data[Uname];
			if(TipData['fname'] == '' && TipData['lname'] == '') {
				TipData['fname'] = TipData['uname'];
			}
			el.setProperty('title', TipData['fname'] + ' ' + TipData['lname'] + '::' + TipData['role']);
		}.bind(this));
	}
});

var UserInfo = new UI();

Window.addEvent('domready', function() {
	UserInfo.CreateTips();
});
