/*javascript for Bubble Tooltips by Alessandro Fulciniti
- http://pro.html.it - http://web-graphics.com */
var myFloatingDivShim;

function enableTooltips(class_name)
{
  var links,i,h;
  if(!document.getElementById || !document.getElementsByTagName) return;

  AddCss();
  h=document.createElement("span");
  h.id="btc";
  h.setAttribute("id","btc");
  h.style.position="absolute";
  document.getElementsByTagName("body")[0].appendChild(h);

  if(IframeShim)
    myFloatingDivShim = new IframeShim({
      element: h,
      display: false,
      name: 'myFloatingDivShimId'
    });

  if(class_name==null)
    return;
  else
    links=$$(class_name);
  for(i=0;i<links.length;i++)
  {
    Prepare(links[i]);
  }

}


function Prepare(el)
{
  var tooltip,t,b,s,l;
  t=el.getElement(".title");
  if(t==null || t.length==0)
    return;
  t = t.innerHTML;
  tooltip=CreateEl("span","tooltip");
  s=CreateEl("span","top");
  s.innerHTML = t;
  tooltip.appendChild(s);
  b=CreateEl("b","bottom");
  l="";

  b.appendChild(document.createTextNode(l));
  tooltip.appendChild(b);
  setOpacity(tooltip);
  el.tooltip=tooltip;
  el.onmouseover=showTooltip;
  el.onmouseout=hideTooltip;
  el.onmousemove=Locate;
}

function showTooltip(e)
{

  document.getElementById("btc").appendChild(this.tooltip);

  if(myFloatingDivShim)
    myFloatingDivShim.show();

  Locate(e);
}

function hideTooltip(e)
{
  var d=document.getElementById("btc");

  if(myFloatingDivShim)
    myFloatingDivShim.hide();

  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","bt.css");
  l.setAttribute("media","screen");
  document.getElementsByTagName("head")[0].appendChild(l);
*/
}

function Locate(e)
{
  var posx=0, posy=0, bottom=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;
    }
  }
  if(posy + document.getElementById("btc").getSize().y > document.body.clientHeight)
  	bottom = document.getElementById("btc").getSize().y;

  if(myFloatingDivShim)
    myFloatingDivShim.position();

  document.getElementById("btc").style.top=(posy+10 - bottom)+"px";
  document.getElementById("btc").style.left=(posx+5)+"px";
}