// TODO: make Class

function clsTooltip() {

	this.create = _create;
	this.width = 300;
	this.height = 100;
	
	this.Leave = _Leave;
	this.Enter = _Enter;
	
	var msName = "";
	var moElement = null;
	
	var ie = document.all ? 1 : 0;
	var ns = document.layers ? 1 : 0;
	var doc;
	var sty;
	
	if(ns){
		doc = "document."; sty = "";
	}
	else if (ie) {
		doc = "document.all."; sty = ".style";
	}

	var initialize = 0;
	var movetooltip = 0;			//or 0 for no move
	var Ex, Ey, topColor, subColor, ContentInfo;
	var topColor_ = "#b11f23";	//title background colour
	var subColor_ = "#8fb4d0";	//content background colour

	if(ie){
		Ex = "event.x";
		Ey = "event.y";

		//topColor = "#808080"
		//subColor = "#C0C0C0"
		topColor = topColor_;
		subColor = subColor_;
	}

		//window.captureEvents(Event.MOUSEMOVE);
		//window.onmousemove=_mousemove;
		
	if(ns){
		Ex = "e.pageX";
		Ey = "e.pageY";
		window.captureEvents(Event.MOUSEMOVE);
		window.onmousemove=_mousemove;

		//topColor = "#808080"
		//subColor = "#C0C0C0"
		topColor = topColor_;
		subColor = subColor_;
	}
	
	//	var x=findPosX(eval("document.all." + imgname));
	//var y=findPosY(eval("document.all." + imgname));
	
	// http://www.quirksmode.org/js/findpos.html
	function findPosX(obj) {
		var curleft = 0;
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}

	function findPosY(obj) {
		var curtop = 0;
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}
		
	function getObject( obj ) {

	// step 1
	if ( document.getElementById ) {
		return document.getElementById( obj );

	// step 2
	} else if ( document.all ) {
		return document.all.item( obj );

	//step 3
	} else {
		return null;
	}
	}
  	
	function _create(vsName, vsToolTipText) {
		msName = vsName;
		var sText = '<div class="ToolTip" id="' + vsName + '"><table border="0" width="'+ this.width +'" cellspacing="2" cellpadding="2">'
					+ '<tr><td width="100%" class="tooltipcontent">'
		+ vsToolTipText 
		+'</td></tr>'
		+'</table></div>';
		document.write(sText);
	}
	
	function _Enter(oElement) {	
		moElement=oElement;
		initialize=1;
		MoveToolTip(0);
	}
		
	function _Leave() {
		initialize=0;
		var oElement = document.getElementById(msName);
		oElement.style.backgroundColor = 'black';
		//oElement.style.top = getPosY();
		//oElement.style.left = getPosX();
		oElement.style.visibility = 'hidden';		
	}
	
	function MoveToolTip(e) {
			var oElement = document.getElementById(msName);
			oElement.style.backgroundColor = 'black';

			//oElement.style.top = e.pageY;	//getPosY();
			//oElement.style.left = e.pageX;	//getPosX();			
			oElement.style.top = findPosY(moElement);
			oElement.style.left = findPosX(moElement);		// event.clientX;	//
			oElement.style.visibility = 'visible';
	}
	
	function _mousemove(e) {
		if (initialize) {
			if (movetooltip==1)
				MoveToolTip(e);
		}
	}
}