/***********************************************
* 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
***********************************************/

/*
	script modded, so take the original from DD rather than steal this one ;-)
*/

// create tip
document.write('<div id="tooltip"></div>');

var offsetxpoint=-10 //Customize x offset of tooltip
var offsetypoint=20 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false;
var tipposh = "right";
var tipposv = "bottom";

if (ie||ns6)
var tipobj=document.all? document.all["tooltip"] : document.getElementById? document.getElementById("tooltip") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function tooltip(text,img){
	if (ns6||ie){
		
		// build tip content
		var tiptext;
		
		if (text) {
			tiptext = '<p>' + text + '</p>';
		}
		// Add image if given
		if (tooltip.arguments.length > 1) {
			tiptext = '<img src="' + img +'" alt="" />' + tiptext;
			findObj("tooltip").className = "opaque";
		}
		else {
			findObj("tooltip").className = "";
		}

		
		tipobj.innerHTML=tiptext;
		
		// enable tips only if there is content
		if (tiptext != '' && tiptext != 'undefined') enabletip=true;
		
		// check width and adjust if needed
		if (tipobj.offsetWidth > 206) {tipobj.style.width = "200px";}

		return false;
	}
}

function positiontip(e){
	if (enabletip){
		var curX=(ns6)?(e.pageX - getCoords(findObj('container')).x) : event.x+ietruebody().scrollLeft;
		var curY=(ns6)?e.pageY : event.y+ietruebody().scrollTop;
		
		//Find out how close the mouse is to the corner of the window
		var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
		var bottomedge=ie&&!window.opera? 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 tooltip
		if (rightedge<tipobj.offsetWidth) {
			//move the horizontal position of the menu to the left by it's width
			tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px";
			tipposh="left";
		}
		else if (curX<leftedge) tipobj.style.left="5px";
			
		//position the horizontal position of the menu where the mouse is positioned
		else {
			tipobj.style.left=curX+offsetxpoint+"px";
			tipposh="right";
		}

		//same concept with the vertical position
		if (bottomedge<tipobj.offsetHeight) {
			tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px";
			tipposv="top";
		}
		else {
			//tipobj.style.top=ie?curY+offsetypoint-document.documentElement.scrollTop+"px" : curY+offsetypoint+"px";
			tipobj.style.top=ie?curY+offsetypoint-ietruebody().scrollTop+"px" : curY+offsetypoint+"px";
			tipposv="bottom";
		}
		
		// set background image according to position
		// bottom right
		if (tipposv == "bottom" && tipposh == "right") {
			tipobj.style.backgroundPosition = "left top";
			tipobj.style.padding = '15px 3px 3px 3px';
			tipobj.style.marginLeft = '0';
		}
		// bottom left
		if (tipposv == "bottom" && tipposh == "left") {
			tipobj.style.backgroundPosition = "right top";
			tipobj.style.padding = '15px 3px 3px 3px';
			tipobj.style.marginLeft = '20px';
		}
		// top left
		if (tipposv == "top" && tipposh == "left") {
			tipobj.style.backgroundPosition = "right bottom";
			tipobj.style.padding = '3px 3px 15px 3px';
			tipobj.style.marginLeft = '20px';
		}
		// top right
		if (tipposv == "top" && tipposh == "right") {
			tipobj.style.backgroundPosition = "left bottom";
			tipobj.style.padding = '3px 3px 15px 3px';
			tipobj.style.marginLeft = '0';
		}

		//alert(tipobj.style.backgroundPosition);
		tipobj.style.visibility = "visible";
	}
}

function hidetooltip(){
	if (ns6||ie){
		enabletip=false;
		tipobj.style.visibility="hidden";
		tipobj.style.left="-1000px";
		tipobj.style.width='';
	}
}

document.onmousemove=positiontip
