/*Javascript for Bubble Tooltips by Alessandro Fulciniti
http://pro.html.it - http://web-graphics.com */

var btc;
var posx, posy;

function enableTooltips() {
	var links,i,h;
	if (!document.getElementById || !document.getElementsByTagName) return;
	
	h=document.createElement("span");
	h.id="btc";
	h.setAttribute("id","btc");
	h.style.position="absolute";
	document.getElementsByTagName("body")[0].appendChild(h);

	if (arguments.length == 0) {
		links = document.getElementsByTagName("img");
	} else {
		for (arg = 0; arg < arguments.length; ++arg) {
			el = document.getElementById(arguments[arg]);
			if (el) links = el.getElementsByTagName("img");
			for (i = 0; i < links.length; ++i) {
			    Prepare(links[i]);
			}
		}
	}
}

function Prepare(el){
	var tooltip,t,b,s,l;
	t=el.getAttribute("alt")
	if(t == null || t.length == 0) return;

	el.removeAttribute("alt");
	tooltip=CreateEl("span","tooltip");
	s=CreateEl("span","tt_top");
	var oDiv=document.createElement("div");
	s.appendChild(oDiv);
	oDiv.innerHTML = el.innerHTML;
	tooltip.appendChild(s);
	b=CreateEl("span","tt_btm");
	b.innerHTML = t;
	tooltip.appendChild(b);
	setOpacity(tooltip);
	el.tooltip=tooltip;
	el.onmouseover=showTooltip;
	el.onmouseout=hideTooltip;
	el.onmousemove=Locate;
}


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 showTooltip(e){
	document.getElementById("btc").appendChild(this.tooltip);
	Locate(e);
}

function hideTooltip(e){
	var d=document.getElementById("btc");
	if(d.childNodes.length>0) d.removeChild(d.firstChild);
}

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) {
	    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;
	    }
	}
	posy -= 10;
	posx += 15;
	// Check if it will overflow off the page, and reposition if so
	
	btc = document.getElementById("btc");
	
	// Get top of document and screen height
	if (document.documentElement && document.documentElement.clientHeight) {
		screenHeight = document.documentElement.clientHeight;
	} else if (typeof(window.innerHeight) == 'number') {
		screenHeight = window.innerHeight;
	} else if (document.body && document.body.clientHeight) {
		screenHeight = document.body.clientHeight;
	} else {
		screenHeight = 500;
	}
	
	if (window.pageYOffset && typeof(window.pageYOffset) == 'number' ) {
		docTop = window.pageYOffset;
	} else if (document.body && document.body.scrollTop) {
		docTop = document.body.scrollTop;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		docTop = document.documentElement.scrollTop;
	} else {
		docTop = 0;
	}
	if ((btc.clientHeight + posy) > (screenHeight + docTop)) {
		posy = docTop + screenHeight - btc.clientHeight - 5;
	}
	
	if (posy < docTop) {
		posy = docTop + 5;
	}

	
	btc.style.top = posy + "px";
	btc.style.left =  posx + "px";
}
