/***********************************************
* Cool DHTML tooltip script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

function ToolTipClass(){
	
	var tipobjname;
	this.tipobjname="dhtmltooltip";
		
	var offsetxpoint;
	var offsetypoint;
	var ie;
	var ns6;
	var enabletip;
	var timer;
	var tipobj;
	
	this.offsetxpoint=0 //Customize x offset of tooltip
	this.offsetypoint=20 //Customize y offset of tooltip
	this.enabletip=false
	this.ie=document.all;
	this.ns6=document.getElementById && !document.all;
}

ToolTipClass.prototype = {
	
	init : function(){
		this.tipobj=document.getElementById(this.tipobjname);
	},
	
	ietruebody : function(){
		return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	},

	showtip : function (text){
		this.tipobj.innerHTML=text;
		this.enabletip=true;
		//timer=setTimeout('ddrivetip(\''+url+'\')',500);
	},

	positiontip : function (e){
		if (this.enabletip){
			var tipobj=this.tipobj;
			var offsetxpoint = this.offsetxpoint;
			var offsetypoint = this.offsetypoint;
			
			var curX=(this.ns6)?e.pageX : event.clientX+this.ietruebody().scrollLeft;
			var curY=(this.ns6)?e.pageY : event.clientY+this.ietruebody().scrollTop;
			//Find out how close the mouse is to the corner of the window
			var rightedge=this.ie&&!window.opera? this.ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20;
			var bottomedge=this.ie&&!window.opera? this.ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20;
			
			var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000;
			
			//if the horizontal distance isn't enough to accomodate the width of the context menu
			if (rightedge<tipobj.offsetWidth){
				//move the horizontal position of the menu to the left by it's width
				tipobj.style.left=this.ie? this.ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px";
			}else if (curX<leftedge){
				tipobj.style.left="5px";
			}else{
				//position the horizontal position of the menu where the mouse is positioned
				tipobj.style.left=curX+offsetxpoint+"px";
			}
			
			//same concept with the vertical position
			if (bottomedge<tipobj.offsetHeight){
				tipobj.style.top=this.ie? this.ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px";
			}else{
				tipobj.style.top=curY+offsetypoint+"px";
			}
			tipobj.style.visibility="visible";
			tipobj.style.display="block";
		}
	},

	hideddrivetip : function (){
		//clearTimeout(timer);
		this.enabletip=false;
		this.tipobj.style.visibility="hidden";
		this.tipobj.style.left="-1000px";
		//this.tipobj.style.backgroundColor='';
		//this.tipobj.style.width='';
		//this.tipobj.innerHTML='';
	}
}