
function enableTooltips(id){
	var links,i,h;
	this._id = id;
	
	if(!document.getElementById || !document.getElementsByTagName) return;
	
	AddCss();
	
	h					=	document.createElement("span");
	h.id				=	"btc";
	h.style.position 	= 	"absolute";
	h.setAttribute("id","btc");

	document.getElementsByTagName("body")[0].appendChild(h);

	if(id==null) links=document.getElementsByTagName("a");
	else links=document.getElementById(id).getElementsByTagName("a");
	
	for(i=0;i<links.length;i++){
		if(links[i].rel != "noballoon")
			Prepare(links[i]);
	}
}

function Prepare(el){
	
	var tooltip,t,b,s,l,fs,f,img,imgalt;
	
	t = "br";
	
	el.removeAttribute("title");
	
	tooltip	= CreateEl("span","tooltip");
	s		= CreateEl("span","top");
	img		= el.firstChild;
	imgalt  = img.getAttribute("alt");
	
	img.removeAttribute("alt");
	
	//naast de s maken we ook een fs en een frame
	fs		= CreateEl("span", "balloonframespan");
	fs.id	= "btc_framespan";
	fs.setAttribute("id", "btc_framespan");
	
	f		= CreateEl("iframe", "balloonframe");
	f.id	= "btc_frame";
	f.setAttribute("id", "btc_frame");
	f.name	= "btc_frame";
	f.setAttribute("name", "btc_frame");

	var url = el.href;
	url = url.replace('multi-item-gallery', 'balloon');
	url = url.replace('item-gallery', 'balloon');
	url = url.replace('itemproj', 'balloon');
	url = url.replace('itemobj', 'balloon');
	//alert(url);
	
	f.src = url;
	f.setAttribute("src", url);
	
	s.appendChild(document.createElement(t));
	
	tooltip.appendChild(s);

	fs.appendChild(f);
	tooltip.appendChild(fs);

	b		= CreateEl("b","bottom");
	l		= "br"

	b.appendChild(document.createElement(l));
	tooltip.appendChild(b);
	setOpacity(tooltip);
	
	el.tooltip		=	tooltip;
	el.onmouseover	=	showTooltip;
	el.onmouseout	=	hideTooltip;
	el.onmousemove	=	Locate;
}

function showTooltip(e){
	
	var d = document.getElementById("btc");
	//dubbele ballons wegdonderen
	if(d)
	{ if(d.childNodes.length>0) d.removeChild(d.firstChild); }

	document.getElementById("btc").appendChild(this.tooltip);
}


function hideTooltip(e){
	
	var posx=0,posy=0;
	if(e==null) e=window.event;
	if(e.pageX || e.pageY){
		posx=e.pageX; posy=e.pageY;
		}
	else if(e.clientX || e.clientY){
		if(document.documentElement.scrollTop){
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
			}
		else{
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
			}
		}

	var d = document.getElementById("btc");

	var lb_x = findPosX(d);
	var lb_y = findPosY(d);

	//muis zit hoger dan ballon, dus verwijderen
	if(posy < lb_y)
	{ if(d.childNodes.length>0) d.removeChild(d.firstChild); }
}


function setOpacity(el){
	el.style.filter="alpha(opacity:95)";
	el.style.KHTMLOpacity="0.95";
	el.style.MozOpacity="0.95";
	el.style.opacity="0.95";
}

function CreateEl(t,c){
	var x=document.createElement(t);
	x.className=c;
	x.style.display="block";
	return(x);
}

function AddCss(){
	var l=CreateEl("link");
	l.setAttribute("type","text/css");
	l.setAttribute("rel","stylesheet");
	l.setAttribute("href","/atlantis/stylesheets/templates_2005/atlantis.css");
	l.setAttribute("media","screen");
	
//	document.getElementsByTagName("head")[0].insertBefore(l, document.getElementsByTagName("head")[0].childNodes[1]);
}

function Locate(e){
	var posx=0, posy=0;
	if(e==null) e=window.event;
	if(e.pageX||e.pageY) { posx=e.pageX; posy=e.pageY; }
	else if(e.clientX||e.clientY) { var doc=document.documentElement;
		if(doc.scrollTop) { posx=e.clientX+doc.scrollLeft; posy=e.clientY+doc.scrollTop; }
		else { posx=e.clientX+document.body.scrollLeft; posy=e.clientY+document.body.scrollTop; }
	}
	
	var winW, winH;
	if (parseInt(navigator.appVersion)>3) { if (navigator.appName=="Netscape") { winW = window.innerWidth; winH = window.innerHeight; }
		if (navigator.appName.indexOf("Microsoft")!=-1) { winW = document.body.offsetWidth; winH = document.body.offsetHeight; }
	}

/*	var btc = document.getElementById("btc");
	if(posy >= (winH-225))
		btc.style.top=(winH-180)+"px";	
	else */
	btc.style.top=(posy+30)+"px";	
	btc.style.left=(posx-35)+"px"; 
}

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 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;
}
