/*javascript for Bubble Tooltips by Alessandro Fulciniti
- http://pro.html.it - http://web-graphics.com */

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";
h.style.zIndex=1000;
document.getElementsByTagName("body")[0].appendChild(h);
if(id==null) {
	elems=[];
	elems.push(document.getElementsByTagName("a"));
	elems.push(document.getElementsByTagName("input"));
	elems.push(document.getElementsByTagName("span"));
}
else links=document.getElementById(id).getElementsByTagName("a");
for(j=0;j<elems.length;j++){
	links=elems[j];
	for(i=0;i<links.length;i++){
	    Prepare(links[i]);
	    }
	}
}
function Prepare(el){
var tooltip,t,b,s,l;
t=el.getAttribute("title");
rel=el.getAttribute("rel");
if(el.tagName.toLowerCase()!='a' || !t || !rel || rel!='bubbletitle' ){
	return;
}
el.removeAttribute("title");
tooltip=CreateEl("span","tooltip");
s=CreateEl("span","top");
s.appendChild(document.createTextNode(t));
s.innerHTML = t;
tooltip.appendChild(s);
b=CreateEl("b","bottom");
l=el.getAttribute("href");
if(l){
	if(t==null || t.length==0) t="link:";
	if(l.length>30) l=l.substr(0,27)+"...";
	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);
Locate(e);
}

function hideTooltip(e){
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(){
return;
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;
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;
        }
    }
w = getPageSize();
if(posx > (w[2]-230) ){
  posx = posx-170;
}
document.getElementById("btc").style.top=(posy+10)+"px";
document.getElementById("btc").style.left=(posx-20)+"px";
}

var autoHook=true;var defaultOptions={animate:true,showText:true,width:120,boxImage:'images/bramus/percentImage.png',barImage:'images/bramus/percentImage_back.png',height:12}
if(!JS_BRAMUS){var JS_BRAMUS=new Object();}
JS_BRAMUS.jsProgressBar=Class.create();JS_BRAMUS.jsProgressBar.prototype={el:null,id:null,percentage:null,options:null,initialPos:null,pxPerPercent:null,backIndex:null,running:null,queue:false,initialize:function(el,percentage,options){this.options=Object.clone(defaultOptions);Object.extend(this.options,options||{});this.el=el;this.id=el.id;this.percentage=0;this.backIndex=0;this.running=false;this.queue=Array();this.imgWidth=this.options.width*2;this.initialPos=this.options.width*(-1);this.pxPerPercent=this.options.width/100;if(this.options.barImage.constructor!=Array){this.options.barImage=Array(this.options.barImage);}
this.el.update('<img id="'+this.id+'_percentImage" src="'+this.options.boxImage+'" alt="0%" style="width: '+this.options.width+'px; height: '+this.options.height+'px; background-position: '+this.initialPos+'px 50%; background-image: url('+this.options.barImage[this.backIndex]+'); padding: 0; margin: 0;"/>'+
((this.options.showText==true)?'<span id="'+this.id+'_percentText">0%</span>':''));this.setPercentage(percentage);},setPercentage:function(targetPercentage){this.queue.push(targetPercentage);if(this.running==false){this.processQueue();}},processQueue:function(){if(this.queue.length>0){this.running=true;this.processQueueEntry(this.queue[0]);}else{return;}},processQueueEntry:function(targetPercentage){var curPercentage=this.percentage;if((targetPercentage.toString().substring(0,1)=="+")||(targetPercentage.toString().substring(0,1)=="-")){targetPercentage=curPercentage+parseInt(targetPercentage);}
if(targetPercentage<0)targetPercentage=0;if(targetPercentage>100)targetPercentage=100;if(this.options.animate==false){this.queue.splice(0,1);this._setBgPosition(targetPercentage);this.running=false;this.processQueue();return;}
if(targetPercentage!=curPercentage){if(curPercentage<targetPercentage){newPercentage=curPercentage+1;}else{newPercentage=curPercentage-1;}}else{newPercentage=curPercentage;}
this._setBgPosition(newPercentage);if(curPercentage!=newPercentage){setTimeout(function(){this.processQueueEntry(targetPercentage);}.bind(this),10);}else{this.queue.splice(0,1);this.running=false;this.processQueue();return;}},getPercentage:function(id){return this.percentage;},_setBgPosition:function(percentage){$(this.id+"_percentImage").style.backgroundPosition=""+(this.initialPos+(percentage*this.pxPerPercent))+"px 50%";var newBackIndex=Math.floor((percentage-1)/(100/this.options.barImage.length));if((newBackIndex!=this.backIndex)&&(this.options.barImage[newBackIndex]!=undefined)){$(this.id+"_percentImage").style.backgroundImage="url("+this.options.barImage[newBackIndex]+")";}
this.backIndex=newBackIndex;$(this.id+"_percentImage").alt=""+percentage+"%";$(this.id+"_percentImage").title=""+percentage+"%";if(this.options.showText==true){$(this.id+"_percentText").update(""+percentage+"%");}
this.percentage=percentage;}}
JS_BRAMUS.jsProgressBarHandler=Class.create();JS_BRAMUS.jsProgressBarHandler.prototype={pbArray:new Array(),initialize:function(){$$('span.progressBar').each(function(el){this.pbArray[el.id]=new JS_BRAMUS.jsProgressBar(el,parseInt(el.innerHTML.replace("%","")));}.bind(this));},setPercentage:function(el,percentage){this.pbArray[el].setPercentage(percentage);},getPercentage:function(el){return this.pbArray[el].getPercentage();}}
if(autoHook==true){function initProgressBarHandler(){myJsProgressBarHandler=new JS_BRAMUS.jsProgressBarHandler();}
Event.observe(window,'load',initProgressBarHandler,false);}
