/*javascript for Bubble Tooltips by Alessandro Fulciniti
- http://pro.html.it - http://web-graphics.com 
Edited by Avenue, Inc. 12/22/06 */

var hideTimer,tt;

function enableTooltips () {
	if(!document.getElementById || !document.getElementsByTagName) return;
	AddCss();
	tt=document.createElement("span");
	tt.id="tt";
	tt.setAttribute("id","tt");
	tt.style.position="absolute";
	tt.onmouseover=showTooltip;
	tt.onmouseout=hideTooltipOnDelay;
	document.getElementsByTagName("body")[0].appendChild(tt);

/*
	if(id==null) links=document.getElementsByTagName("a");
	else links=document.getElementById(id).getElementsByTagName("a");

	for(i=0;i<links.length;i++){
		Prepare(links[i]);
	}

	el=document.getElementById(id);
	Prepare(el);
*/
}

function prepTT(id,title,txt,linkText,linkURL) {
	var tooltip,top,bot,lnk;
	
	var tab = document.getElementById(id);
	var trigger = tab.getElementsByTagName("span");
	el = trigger[0];
	
	var undefined; //debug
	if (undefined === el) { alert("Tooltip error: ID="+id+"\nPlease give Greg the page and ID"); }
		
	tooltip=CreateEl("span","tooltip");

	top=CreateEl("h3");
	top.appendChild(document.createTextNode(title));
	tooltip.appendChild(top);

	bot=CreateEl("u","");
	bot.appendChild(document.createTextNode(txt));

	if (linkText && linkURL) {
		lnk=CreateEl("a","actionlink",new Array("href",linkURL));
		lnk.appendChild(document.createTextNode(linkText));
		bot.appendChild(lnk);
	}

	tooltip.appendChild(bot);
	setOpacity(tooltip);

	el.tooltip=tooltip;
	el.onmouseover=showTooltip;
	el.onmouseout=hideTooltipOnDelay;
//	el.onmousemove=Locate;
}

function showTooltip(e) {
	clearTimeout(hideTimer);
	if (tt.childNodes.length==0) {
		tt.appendChild(this.tooltip);
		Locate(e);
	}
}

function hideTooltipOnDelay (e) {
	hideTimer = setTimeout('hideTooltip()',200);
}

function hideTooltip() {
	var d=tt;
	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,atts) {
	var x=document.createElement(t);
	x.className=c;
	x.style.display="block";
	
	atts = atts ? atts : new Array();
	for (var i=0;i<atts.length;i=i+2) {
		x.setAttribute(atts[i],atts[i+1]);
	}
	return(x);
}

function AddCss() {
	var l=CreateEl("link");
	l.setAttribute("type","text/css");
	l.setAttribute("rel","stylesheet");
	l.setAttribute("href","/css/tt.css");
	l.setAttribute("media","screen");
	document.getElementsByTagName("head")[0].appendChild(l);
}

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;
			}
		}
	var el = tt;
	var h = el.clientHeight;
	el.style.top=(posy-h-10)+"px";
	el.style.left=(posx-45)+"px";
}