

/*javascript for Bubble Tooltips by Alessandro Fulciniti
- http://pro.html.it - http://web-graphics.com */

var isMouseDown = false;

function enableTooltips(id){

	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";
	
	if (document.getElementsByTagName("body")) document.getElementsByTagName("body")[0].appendChild(h);
	
	if (document.getElementsByTagName("a")) {
	
		if(id==null) links=document.getElementsByTagName("a");
		else links=document.getElementById(id).getElementsByTagName("a");
	
		for(i=0;i<links.length;i++){
			Prepare(links[i]);
		}
	
	}
	
}

function Prepare(el){

	var tooltip,t,b,s,l;

	t=el.getAttribute("tt");

	if(t!=null && t.length>0) {

		el.removeAttribute("tt");

		tooltip=CreateEl("span","tooltip");

		s=CreateEl("span","top");
		s.appendChild(document.createTextNode(t));
		s.id="btctop";
		s.setAttribute("id","btctop")
		tooltip.appendChild(s);
		
		p=CreateEl("span","middle");
		p.innerHTML = '<center><img src=images/loader1.gif>';
		p.id="btccontent";
		p.setAttribute("id","btccontent")
		tooltip.appendChild(p);
		
		b=CreateEl("span","bottom");
		b.id="btcbottom";
		b.setAttribute("id","btcbottom")
		tooltip.appendChild(b);

		setOpacity(tooltip);
		
		el.mid = el.getAttribute("ttmid");

		el.tooltip=tooltip;
		
		el.onmousedown=TTMouseDown;
		el.onmouseup=TTMouseUp;

		el.onmouseover=showTooltip;

		el.onmouseout=hideTooltip;
		
		el.onmousemove=Locate;
		

	}

}

function TTMouseDown(e){

	isMouseDown=true;

}

function TTMouseUp(e){

	isMouseDown=false;
	
}

function showTooltip(e){
	
	if (isMouseDown == false) {
	
		if (document.getElementById("btc")) {
		
			LoadTT(this.mid);
			document.getElementById("btc").appendChild(this.tooltip);
			Locate(e);
		}
	
	}
	
}

function hideTooltip(e){

	if (document.getElementById("btc")) {
	
		var d=document.getElementById("btc");
		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");

	if (document.getElementsByTagName("head")) document.getElementsByTagName("head")[0].appendChild(l);

}

function Locate(e){

	var posx=0,posy=0,boxbottom=0,winbottom=0,winright=0;
	var scrollleft=0,scrolltop=0,scrollheight=0,scrollwidth=0;

	if (e==null) e=window.event;

	if (e!=null) {

		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;
	        	
		        	scrollleft = document.documentElement.scrollLeft;
		        	scrolltop = document.documentElement.scrollTop;

		        } else {

		        	posx=e.clientX+document.body.scrollLeft;
		        	posy=e.clientY+document.body.scrollTop;

		        	scrollleft = document.body.scrollLeft;
		        	scrolltop = document.body.scrollTop;

		        }

		}
	
		if (document.getElementById("btc")) {
	
	
			scrollheight = document.getElementById("btc").scrollHeight;
			scrollwidth = document.getElementById("btc").scrollWidth;

			boxbottom = posy + scrollheight;
			winbottom = window.document.body.clientHeight + scrolltop;
			winright = (window.document.body.clientWidth)/2 + scrollleft;

			if (boxbottom >= winbottom) {
	
				if (posx <= winright) {
	
					document.getElementById("btc").style.top = (posy-scrollheight-10)+"px";
					document.getElementById("btc").style.left=(posx-20)+"px";
					
					if (document.getElementById("btctop")) {

						document.getElementById("btctop").style.background = "url(bt3.gif) no-repeat top";
						document.getElementById("btctop").style.padding = "8px 8px 0px";
						
					}
					if (document.getElementById("btcbottom")) {
					
						document.getElementById("btcbottom").style.background = "url(bt3.gif) no-repeat bottom";
						document.getElementById("btcbottom").style.padding = "3px 8px 30px";
					
					}
			
				} else {
		
					document.getElementById("btc").style.top = (posy-scrollheight-10)+"px";
					document.getElementById("btc").style.left=(posx-scrollwidth+20)+"px";

					if (document.getElementById("btctop")) {

						document.getElementById("btctop").style.background = "url(bt4.gif) no-repeat top";
						document.getElementById("btctop").style.padding = "8px 8px 0px";
						
					}
					if (document.getElementById("btcbottom")) {
					
						document.getElementById("btcbottom").style.background = "url(bt4.gif) no-repeat bottom";
						document.getElementById("btcbottom").style.padding = "3px 8px 30px";
						
					}
					
				}
		
			} else {
	
				if (posx <= winright) {
		
					document.getElementById("btc").style.top=(posy+10)+"px";
					document.getElementById("btc").style.left=(posx-20)+"px";
			
					if (document.getElementById("btctop")) {

						document.getElementById("btctop").style.background = "url(bt.gif) no-repeat top";
						document.getElementById("btctop").style.padding = "30px 8px 3px";
						
					}
					if (document.getElementById("btcbottom")) {
					
						document.getElementById("btcbottom").style.background = "url(bt.gif) no-repeat bottom";
						document.getElementById("btcbottom").style.padding = "3px 8px 15px";
						
					}
					
				} else {
		
					document.getElementById("btc").style.top=(posy+10)+"px";
					document.getElementById("btc").style.left=(posx-scrollwidth+20)+"px";			
			
					if (document.getElementById("btctop")) {

						document.getElementById("btctop").style.background = "url(bt5.gif) no-repeat top";
						document.getElementById("btctop").style.padding = "30px 8px 3px";
						
					}
					if (document.getElementById("btcbottom")) {
					
						document.getElementById("btcbottom").style.background = "url(bt5.gif) no-repeat bottom";
						document.getElementById("btcbottom").style.padding = "3px 8px 15px";
					
					}
					
				}
	
			}

		}

	}

}

/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}


isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isActive=false;

function MoveInit(e){
  topOne=isIE ? "BODY" : "HTML";
  whichOne=isIE ? document.all.FloatingLayer : document.getElementById("FloatingLayer");
  ActiveOne=isIE ? event.srcElement : e.target;
  while (ActiveOne.id!="titleBar"&&ActiveOne.tagName!=topOne){
    ActiveOne=isIE ? ActiveOne.parentElement : ActiveOne.parentNode;
  }
  if (ActiveOne.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichOne.style.left);
    nowY=parseInt(whichOne.style.top);
    MoveEnabled=true;
    document.onmousemove=Move;
  }
}

function Move(e){
  if (!MoveEnabled) return;
  whichOne.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx;
  whichOne.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;
}

function MoveN4(whatOne){
  if (!isN4) return;
  N4=eval(whatOne);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isActive){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function ToggleFloatingLayer(DivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)	   //NN4+
    {
       document.layers[DivID].visibility = iState ? "show" : "hide";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(DivID);
        obj.style.visibility = iState ? "visible" : "hidden";
    }
    else if(document.all)	// IE 4
    {
        document.all[DivID].style.visibility = iState ? "visible" : "hidden";
    }
    
    if (iState == 0) CloseBox();
    
}

document.onmousedown=MoveInit;
document.onmouseup=Function("MoveEnabled=false");

