//Edit the informaiton between the quotes below with the path to your image.
var imagePath = "../img/tooltipv.png";
var shown = false;


function getY(oElement) {
	var iReturnValue = 0;
	while (oElement != null) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

function getX(oElement) {
	var iReturnValue = 0;
	while (oElement != null) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}

	return iReturnValue;
}

function addwarning() {
	var thealinks = document.getElementsByTagName("a");
	if (!thealinks) {
		return;
	}

	for ( var x = 0; x != thealinks.length; x++) {

		if (thealinks[x].className == "addToolTip") {

			thealinks[x].setAttribute("tooltiptext", thealinks[x].title);
			thealinks[x].removeAttribute("title");

			thealinks[x].onmouseover = function gomouseover() {
				showToolTip(this.getAttribute("tooltiptext"), getX(this), getY(this), this.offsetWidth);
			};
			thealinks[x].onmouseout = function gomouseout() {
				hideddrivetip();
			};
		}
	}
}

var offsetfromcursorX = -7; // Customize x offset of tooltip
var offsetfromcursorY = 10; // Customize y offset of tooltip

var offsetdivfrompointerX = 50; // Customize x offset of tooltip DIV relative to
// pointer image
var offsetdivfrompointerY = 13; // Customize y offset of tooltip DIV relative to
// pointer image. Tip: Set it to
// (height_of_pointer_image-1).



if (ie){
	//document.write('<div id="theToolTipSh" ></div>'); // write out tooltip DIV

	document.write('<div id="theToolTip" ></div>'); // write out tooltip DIV
	document.write('<img id="ToolTipPointer"  src="' + imagePath + '">'); // write
	
}else{
	
	//document.write('<div id="theToolTipSh" style="display:none; "></div>'); // write out tooltip DIV
	
	document.write('<div id="theToolTip" style="display:none"></div>'); // write out tooltip DIV
	document.write('<img id="ToolTipPointer" style="display:none" src="' + imagePath + '">'); // write
}
// out
// pointer
// image

var posX = 20;
var posY = 20;


var enabletip = false;
if (ie || ns6) {
	var tipobj = document.all ? document.all["theToolTip"]
			: document.getElementById ? document.getElementById("theToolTip")
					: "";
			
	//var tipobjSh = document.all ? document.all["theToolTipSh"]
	//		: document.getElementById ? document.getElementById("theToolTipSh")
	//		         : "";
}

var pointerobj = document.all ? document.all["ToolTipPointer"]
		: document.getElementById ? document.getElementById("ToolTipPointer")
				: "";

function ietruebody() {
	return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement
			: document.body;
}

function showToolTip(thetext, iposX, iposY, elWidth) {
	tipobj.innerHTML = thetext;
	//tipobjSh.innerHTML = thetext;
	if (!ie){
		tipobj.style.display = "block";
//		tipobjSh.style.display = "block";
		pointerobj.style.display = "block";
	}
	iposX += (elWidth - tipobj.offsetWidth) / 2;
	if (!ie){
		tipobj.style.left = iposX + "px";
		pointerobj.style.left = iposX + tipobj.offsetWidth / 2 + "px";
		tipobj.style.top = iposY -35+ "px";
		pointerobj.style.top = iposY -35+tipobj.clientHeight+ "px";
	
//		tipobjSh.style.left = iposX + 3+"px";
//		tipobjSh.style.top = iposY -30-3+ "px";
	}
	
//	tipobjSh.style.width= tipobj.offsetWidth -20+"px";
//	tipobjSh.style.height= tipobj.clientHeight-10+"px";
	
	if (ie){
		enabletip = true;
		shown = false;
	}
}

function hideddrivetip(){

	if (ie){
		tipobj.innerHTML = '';
//		tipobjSh.innerHTML = '';
//		tipobjSh.style.width= tipobj.offsetWidth -20+"px";
//		tipobjSh.style.height= tipobj.clientHeight-10+"px";
		tipobj.style.left = "-30px";
//		tipobjSh.style.left = "-30px";
		pointerobj.style.left = "-30px";
	}else{
		tipobj.style.display = "none";
//		tipobjSh.style.display = "none";
		pointerobj.style.display = "none";
	}
	enabletip = false;
	
	
}

function ddrivetip(thetext, iposX, iposY) {
	if (ns6 || ie) {
		posX = iposX;

		tipobj.innerHTML = thetext;
//		tipobjSh.innerHTML = thetext;
		enabletip = true;
		return false;
	}
}

function positiontip(e) {
	if (ns6 || ie) {
		if (typeof thewidth !== "undefined") {
			tipobj.style.width = thewidth + "px";
//			tipobjSh.style.width = thewidth + "px";
		}
		if (typeof thecolor !== "undefined" && thecolor !== "") {
			tipobj.style.backgroundColor = thecolor;
//			tipobjSh.style.backgroundColor = thecolor;
		}
		tipobj.innerHTML = thetext;
//		tipobjSh.innerHTML = thetext;
		enabletip = true;
		return false;
	}
}

function positiontip(e) {
	if ((enabletip)&&(!shown)) {
		shown=true;
		var nondefaultpos = false;
		var curX = (ns6) ? e.pageX : event.clientX + ietruebody().scrollLeft;
		var curY = (ns6) ? e.pageY : event.clientY + ietruebody().scrollTop;
		// Find out how close the mouse is to the corner of the window
		var winwidth = ie && !window.opera ? ietruebody().clientWidth
				: window.innerWidth - 20;
		var winheight = ie && !window.opera ? ietruebody().clientHeight
				: window.innerHeight - 20;

		var rightedge = ie && !window.opera ? winwidth - event.clientX
				- offsetfromcursorX : winwidth - e.clientX - offsetfromcursorX;
		var bottomedge = ie && !window.opera ? winheight - event.clientY
				- offsetfromcursorY : winheight - e.clientY - offsetfromcursorY;

		var leftedge = (offsetfromcursorX < 0) ? offsetfromcursorX * (-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 = curX - tipobj.offsetWidth + "px";
			nondefaultpos = true;
		} else if (curX < leftedge) {
			tipobj.style.left = "5px";
//			tipobjSh.style.left = "2px";
		} else {
			// position the horizontal position of the menu where the mouse is
			// positioned
			tipobj.style.left = curX + offsetfromcursorX- offsetdivfrompointerX + "px";
			pointerobj.style.left = curX + offsetfromcursorX + "px";
//			tipobjSh.style.left = curX + offsetfromcursorX- offsetdivfrompointerX + 2+"px";
		}

		curY-=70;
		// same concept with the vertical position
		if (bottomedge < tipobj.offsetHeight) {
			tipobj.style.top = curY - tipobj.offsetHeight - offsetfromcursorY
					+ "px";
//			tipobjSh.style.top = curY - tipobj.offsetHeight - offsetfromcursorY -3+ "px";
			nondefaultpos = true;
		} else {
			tipobj.style.top = curY + offsetfromcursorY + offsetdivfrompointerY + "px";
//			tipobjSh.style.top = curY + offsetfromcursorY + offsetdivfrompointerY -3+ "px";
			pointerobj.style.top = curY + offsetfromcursorY + offsetdivfrompointerY+tipobj.clientHeight + "px";
		}
		
		//tipobj.style.display = "visible";
		if (!nondefaultpos) {
		//	pointerobj.style.visibility = "visible";
		} else {
			pointerobj.style.visibility = "hidden";
		}
	}
}
if (ns6 || ie)
	document.onmousemove = positiontip;
addwarning();
