var Tooltip={
	Movable:true,
	Visible:false,
	Initialize:function(){
		Tooltip.Handle=Tooltip.DefaultTable();
		var TooltipRowTop=Tooltip.DefaultRow();
		var TooltipRowMiddle=Tooltip.DefaultRow();
		var TooltipRowBottom=Tooltip.DefaultRow();
		TooltipRowTop.appendChild(Tooltip.DefaultData("topleft"));
		TooltipRowTop.appendChild(Tooltip.DefaultData("top"));
		TooltipRowTop.appendChild(Tooltip.DefaultData("topright"));
		TooltipRowMiddle.appendChild(Tooltip.DefaultData("left"));
		Tooltip.Tag=Tooltip.DefaultData("center");
		TooltipRowMiddle.appendChild(Tooltip.Tag);
		TooltipRowMiddle.appendChild(Tooltip.DefaultData("right"));
		TooltipRowBottom.appendChild(Tooltip.DefaultData("bottomleft"));
		TooltipRowBottom.appendChild(Tooltip.DefaultData("bottom"));
		TooltipRowBottom.appendChild(Tooltip.DefaultData("bottomright"));
		
		Tooltip.Handle.appendChild(TooltipRowTop);
		Tooltip.Handle.appendChild(TooltipRowMiddle);
		Tooltip.Handle.appendChild(TooltipRowBottom);
		Tooltip.Handle.style.position="absolute";
		Tooltip.Handle.style.visibility="hidden";
		
		document.body.appendChild(Tooltip.Handle);
		Mouse.AddListener(Tooltip.MouseMove);
	},
	Show:function(Text,RefreshLocation){
		Tooltip.Tag.innerHTML=Text;
		if(RefreshLocation==true){
			Tooltip.Handle.style.left=Mouse.X+10+"px";
			Tooltip.Handle.style.top=Mouse.Y+10+"px";
		}
		Tooltip.Handle.style.visibility="visible";
		if(typeof(Tooltip.Timer)!="undefined")clearTimeout(Tooltip.Timer);
		Tooltip.Visible=true;
	},
	AutoHide:function(Milliseconds){
		if(Milliseconds!=0)Tooltip.Timer=setTimeout("Tooltip.Hide()",Milliseconds);
	},
	Hide:function(){
		Tooltip.Handle.style.visibility="hidden";
		Tooltip.Visible=false;
	},
	SetMovable:function(Able){
		Tooltip.Movable=Able;
	},
	MouseMove:function(){
		if(Tooltip.Movable==true&&Tooltip.Handle.style.visibility=="visible"){
			Tooltip.Handle.style.left=Mouse.X+10+"px";
			Tooltip.Handle.style.top=Mouse.Y+5+"px";
		}
	},
	DefaultTable:function(){
		var Table=document.createElement("table");
		Table.className="tooltip";
		return Table;
	},
	DefaultRow:function(){
		return document.createElement("tr");
	},
	DefaultData:function(className){
		var TD=document.createElement("td");
		TD.className="tooltip-"+className;
		return TD;
	}
};
Tooltip.Initialize();