var UserInfoTooltip = {
	xCord: 0,
	yCord: 0,
	Init: function() {
		this.allinks = document.getElementsByTagName('a');
		for (i=0; i<this.allinks.length; i++){
			var lnk = this.allinks[i];
			if (lnk.href && lnk.href.indexOf('account.php') != -1 && lnk.href.indexOf('u=') != -1) {
				lnk.onmouseover = function(e){
					UserInfoTooltip.updateXY(e);
					var userid = this.href;
					userid = userid.substring(userid.indexOf('u=') + 2);
					UserInfoTooltip.GetTooltip(this, userid);
                }
				lnk.onmouseout = function(e){
					UserInfoTooltip.HideTooltip();
				}
			}
		}
	},

	GetTooltip: function(lnk, userid) {
		var tip = document.getElementById('TooltipContainer');
		var scrX = Number(this.xCord);
		var scrY = Number(this.yCord);
		var tp = parseInt(scrY+15);
		var lt = parseInt(scrX+10);
		tip.innerHTML = '<div id="TooltipLoading">Loading user info...</div>';
		if ( parseInt(document.documentElement.clientWidth+document.documentElement.scrollLeft) < parseInt(tip.offsetWidth+lt) ) {
			tip.style.left = parseInt(lt-(tip.offsetWidth+10))+'px';
		} else {
			tip.style.left = lt+'px';
		}
		if ( parseInt(document.documentElement.clientHeight+document.documentElement.scrollTop) < parseInt(tip.offsetHeight+tp) ) {
			tip.style.top = parseInt(tp-(tip.offsetHeight+10))+'px';
		} else {
			tip.style.top = tp+'px';
		}	
		tip.style.display = "block";

		var dm = new DataManager();
		dm.Param = 'UserInfoTooltip';
		dm.RequestFailedEvent = UserInfoTooltip.HandleFailure;
		dm.RequestCompleteEvent = UserInfoTooltip.ShowTooltip;
		dm.LoadData("extensions/UserInfoTooltip/ajax.php?u="+userid);
	},

	ShowTooltip: function(Request) {
		var tip = document.getElementById('TooltipContainer');
		tip.innerHTML = Request.responseText;
	},

	HideTooltip: function() {
		var tip = document.getElementById('TooltipContainer');
		tip.style.display = "none";
		tip.innerHTML = "";
	},

	HandleFailure: function(Request) {

	},
	
	updateXY: function(e) {
		if ( document.captureEvents ) {
			UserInfoTooltip.xCord = e.pageX;
			UserInfoTooltip.yCord = e.pageY;
		} else if ( window.event.clientX ) {
			UserInfoTooltip.xCord = window.event.clientX+document.documentElement.scrollLeft;
			UserInfoTooltip.yCord = window.event.clientY+document.documentElement.scrollTop;
		}
	}
}

window.onload = function() {
	UserInfoTooltip.Init();
}