﻿/***********************************************
* 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 class="header"></div><div id="tooltipcontent" class="content">dsadsa</div><div class="footer"></div></div>');

var offsetxpoint=-20 //Customize x offset of tooltip
var offsetypoint=40 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false;
var tipposh = "right";
var tipposv = "top";

var delayaction = "";

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(heading,text,url,linktext){
	if (ns6||ie){
		
		// build tip content
		var tiptext;
		
		if (text) {
			tiptext = '<h1>' + heading + '</h1>' + '<p>' + text + '</p>';
		}
	
		findObj('tooltipcontent').innerHTML=tiptext;
		
		// enable tips only if there is content
		if (tiptext != '' && tiptext != 'undefined') enabletip=true;
		
		// check height and adjust container
		// findObj('tooltipcontent').parentNode.height = "200px";
		//findObj('tooltipcontent').offsetHeight + "px";

		// check width and adjust if needed
		if (tipobj.offsetWidth > 208) {tipobj.style.width = "208px";}

		return false;
	}
}

function positiontip(e){
	if (enabletip){
		var curX=(ns6)?(e.pageX - getCoords(findObj('container')).x) : event.x+ietruebody().scrollLeft + getCoords(findObj('liekkig')).x - getCoords(findObj('container')).x;
		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 - 50: 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-20<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";
			tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth-getCoords(findObj('container')).x + 20 +"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth-getCoords(findObj('container')).x+"px";
			tipposh="left";
		}
		else if (curX<leftedge) tipobj.style.left="5px";
			
		//position the horizontal position of the tooltip where the mouse is positioned
		else {
			//tipobj.style.left=curX+offsetxpoint+"px";
			tipobj.style.left=ie? curX+offsetxpoint - 60 +"px" : 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? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px";
			// 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="top";
		}
		
		// set class image according to position
		// bottom right
		if (tipposv == "bottom" && tipposh == "right") {
			tipobj.className = "bottomright";
		}
		// bottom left
		if (tipposv == "bottom" && tipposh == "left") {
			tipobj.className = "bottomleft";
		}
		// top left
		if (tipposv == "top" && tipposh == "left") {
			tipobj.className = "topleft";
		}
		// top right
		if (tipposv == "top" && tipposh == "right") {
			tipobj.className = "topright";
		}

		//alert(tipobj.style.backgroundPosition);
		tipobj.style.visibility = "visible";
	}
}

function hidetooltip(){
	if (ns6||ie){
		enabletip=false;
		// delayaction = setTimeout('tipobj.style.visibility="hidden";tipobj.style.left="-1000px";',1000);
		tipobj.style.visibility="hidden";tipobj.style.left="-1000px";	
	}
}

document.onmousemove=positiontip

