/**
* OpenPHPNuke: Great Web Portal System
*
* Copyright (c) 2001-2012 by
* Heinz Hombergs heinz ( at ) hhombergs.de
* Stefan Kaletta stefan ( at ) kaletta.de
* Alexander Weber xweber ( at ) kamelfreunde.de
*
* This program is free software. You can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
* See LICENSE for details.
*
* This software is based on various code found in the internet
* See CREDITS for details
* If you are an author of a part of opn and not you are not mentioned
* SORRY for that ! We respect your rights to your code, so please send
* an eMail to devteam@openphpnuke.com we will include you to the CREDITS asap
*/

var offsetxpoint=-60;
var offsetypoint=20;
var ie=document.all;
var ns6=document.getElementById && !document.all;
var enabletip=false;
var tipobj=false;

function inittooltip (eid){
	if (ie||ns6) {
		tipobj=document.all? document.all[eid] : document.getElementById? document.getElementById(eid) : "";
	}
}

function tooltip (content) {
	if (ie||ns6) {
// if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
// if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
		tipobj.innerHTML=content;
		enabletip=true;
		return false;
	}
}

function ietruebody() {
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function showtooltip(e){
	if (enabletip) {
		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 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 context menu
		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';
		} else if (curX<leftedge) {
			tipobj.style.left='5px';
		} else {
			//position the horizontal position of the menu where the mouse is positioned
			tipobj.style.left=curX+offsetxpoint+'px';
		}
		
		//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';
		} else { 
			tipobj.style.top=curY+offsetypoint+'px';
		}
		tipobj.style.visibility='visible';
	}
}

function kill(){
	if (ns6||ie){
		enabletip=false;
		tipobj.style.visibility="hidden";
		tipobj.style.left="-1000px";
		tipobj.style.backgroundColor='';
		tipobj.style.width='';
	}
}

