

function Tooltip(id, width) {

this.divid = id;
this.widthxx = width;
this._tooltipElement = null;
this._saveonmouseover = null;

this.offsetx = 1;
this.offsety = 8;
this._x = 0;
this._y = 0;

var obj = this;

this.show = function (htmlelement) {
var text = htmlelement.getAttribute('title');
try {this._tooltipElement = document.getElementById(this.divid);}
catch(error) {this._tooltipElement = document.all[this.divid].style;}

this._tooltipElement.style.width = '300px';
this._tooltipElement.style.display = 'block';

this._saveonmouseover = document.onmousemove;
document.onmousemove = this.mouseMove;

//htmlelement.addEventListener('mousemove',this.mouseMove,true);

return false;
}



this.hide = function (htmlelement) {
//htmlelement.setAttribute("title",htmlelement.getAttribute("title_saved"));
//htmlelement.removeAttribute("title_saved");
this._tooltipElement.style.display = "none";
document.onmousemove=this._saveonmouseover;
//htmlelement.removeEventListener('mousemove',this.mouseMove,false);

}


this.mouseMove = function (e) {
if(e == undefined) e = event;
if( e.pageX != undefined){
// gecko, konqueror
obj._x = e.pageX;
obj._y = e.pageY;
} else if(event != undefined && event.x != undefined && event.clientX == undefined){
// ie4 ?
obj._x = event.x;
obj._y = event.y;
}else if(e.clientX != undefined ){
// IE6,  IE7, IE5.5
if(document.documentElement){
obj._x = e.clientX + ( document.documentElement.scrollLeft || document.body.scrollLeft);
obj._y = e.clientY + ( document.documentElement.scrollTop || document.body.scrollTop);
} else {
obj._x = e.clientX + document.body.scrollLeft;
obj._y = e.clientY + document.body.scrollTop;
}


} else {
obj._x = 0;
obj._y = 0;
}

obj.moveTo( obj._x +obj.offsetx , obj._y + obj.offsety );

}


this.moveTo = function (xL,yL) {

thevar = xL / document.body.offsetWidth * 100;
//the2var = thevar / 100 * this.widthxx ;
the2var = thevar / 100 * this._tooltipElement.offsetWidth ;

theheight = yL / document.body.offsetHeight * 100;
the2height = theheight / 100 * this._tooltipElement.offsetHeight;

//alert(this._tooltipElement.offsetHeight);

if(this._tooltipElement.style) {
this._tooltipElement.style.left = xL - the2var + "px";
this._tooltipElement.style.top = yL +"px";
} else {
this._tooltipElement.left = xL - the2var;
this._tooltipElement.top = yL ;
}

}


//END CLASS
}

