var Tips=new Class({options:{onShow:function(tip){
tip.setStyle("visibility","visible");
},onHide:function(tip){
tip.setStyle("visibility","hidden");
},maxTitleChars:30,showDelay:100,hideDelay:100,className:"tool",offsets:{"x":16,"y":16},fixed:false},initialize:function(_2fe,_2ff){
this.setOptions(_2ff);
this.toolTip=new Element("div",{"class":this.options.className+"-tip","styles":{"position":"absolute","top":"0","left":"0","visibility":"hidden"}}).inject(document.body);
this.wrapper=new Element("div").inject(this.toolTip);
$$(_2fe).each(this.build,this);
if(this.options.initialize){
this.options.initialize.call(this);
}
},build:function(el){
el.$tmp.myTitle=(el.href&&el.getTag()=="a")?el.href.replace("http://",""):(el.rel||false);
if(el.title){
var dual=el.title.split("::");
if(dual.length>1){
el.$tmp.myTitle=dual[0].trim();
el.$tmp.myText=dual[1].trim();
}else{
el.$tmp.myText=el.title;
}
el.removeAttribute("title");
}else{
el.$tmp.myText=false;
}
if(el.$tmp.myTitle&&el.$tmp.myTitle.length>this.options.maxTitleChars){
el.$tmp.myTitle=el.$tmp.myTitle.substr(0,this.options.maxTitleChars-1)+"&hellip;";
}
el.addEvent("mouseenter",function(_302){
this.start(el);
if(!this.options.fixed){
this.locate(_302);
}else{
this.position(el);
}
}.bind(this));
if(!this.options.fixed){
el.addEvent("mousemove",this.locate.bindWithEvent(this));
}
var end=this.end.bind(this);
el.addEvent("mouseleave",end);
el.addEvent("trash",end);
},start:function(el){
this.wrapper.empty();
if(el.$tmp.myTitle){
this.title=new Element("span").inject(new Element("div",{"class":this.options.className+"-title"}).inject(this.wrapper)).setHTML(el.$tmp.myTitle);
}
if(el.$tmp.myText){
this.text=new Element("span").inject(new Element("div",{"class":this.options.className+"-text"}).inject(this.wrapper)).setHTML(el.$tmp.myText);
}
$clear(this.timer);
this.timer=this.show.delay(this.options.showDelay,this);
},end:function(_305){
$clear(this.timer);
this.timer=this.hide.delay(this.options.hideDelay,this);
},position:function(_306){
var pos=_306.getPosition();
this.toolTip.setStyles({"left":pos.x+this.options.offsets.x,"top":pos.y+this.options.offsets.y});
},locate:function(_308){
var win={"x":window.getWidth(),"y":window.getHeight()};
var _30a={"x":window.getScrollLeft(),"y":window.getScrollTop()};
var tip={"x":this.toolTip.offsetWidth,"y":this.toolTip.offsetHeight};
var prop={"x":"left","y":"top"};
for(var z in prop){
var pos=_308.page[z]+this.options.offsets[z];
if((pos+tip[z]-_30a[z])>win[z]){
pos=_308.page[z]-this.options.offsets[z]-tip[z];
}
this.toolTip.setStyle(prop[z],pos);
}
},show:function(){
if(this.options.timeout){
this.timer=this.hide.delay(this.options.timeout,this);
}
this.fireEvent("onShow",[this.toolTip]);
},hide:function(){
this.fireEvent("onHide",[this.toolTip]);
}});
Tips.implement(new Events,new Options);
var PerItemTips=new Class({options:{onShow:function(tip){
tip.setStyle("visibility","visible");
},onHide:function(tip){
tip.setStyle("visibility","hidden");
},getTitle:function(el){
var _312=el.alt;
if(_312){
var dual=_312.split("::");
if(dual.length>1){
_312=dual[0].trim();
}else{
_312=false;
}
}else{
_312=false;
}
if(this.options.maxTitleChars&&_312&&_312.length>this.options.maxTitleChars){
_312=_312.substr(0,this.options.maxTitleChars-1)+"&hellip;";
}
return _312;
},getText:function(el){
var _315=el.alt;
if(_315){
var dual=_315.split("::");
if(dual.length>1){
_315=dual[1].trim();
}
}else{
_315=false;
}
if(this.options.maxTextChars&&_315&&_315.length>this.options.maxTextChars){
_315=_315.substr(0,this.options.maxTextChars-1)+"&hellip;";
}
return _315;
},maxTitleChars:0,maxTextChars:0,showDelay:100,hideDelay:100,className:"tool",offsets:{"x":0,"y":0},fixed:false},initialize:function(_317,_318){
this.setOptions(_318);
this.toolTip=new Element("div",{"class":this.options.className+"-tip","styles":{"position":"absolute","top":"0","left":"0","visibility":"hidden"}}).inject(document.body);
this.toolTip.addClass("tagToolTip");
this.wrapper=new Element("div").inject(this.toolTip);
$$(_317).each(this.build,this);
if(this.options.initialize){
this.options.initialize.call(this);
}
},build:function(el){
el.addEvent("mouseenter",function(_31a){
this.start(el);
if(!this.options.fixed){
this.locate(_31a);
}else{
this.position(el);
}
}.bind(this));
el.addEvent("click",function(_31b){
this.hideSticky();
}.bind(this));
if(!this.options.fixed){
el.addEvent("mousemove",this.locate.bindWithEvent(this));
}
var end=this.end.bind(this);
el.addEvent("mouseleave",end);
el.addEvent("trash",end);
},showSticky:function(el){
if(this.options.fixed){
this.start(el);
this.position(el);
this.stickied=true;
}
},hideSticky:function(){
this.stickied=false;
this.fireEvent("onHide",[this.toolTip]);
},start:function(el){
var _31f=false;
if(this.options.getTitle){
_31f=this.options.getTitle.call(this,el);
}
var _320=false;
if(this.options.getText){
_320=this.options.getText.call(this,el);
}
this.wrapper.empty();
if(_31f){
this.title=new Element("span").inject(new Element("div",{"class":this.options.className+"-title"}).inject(this.wrapper)).setHTML(_31f);
}
if(_320){
this.text=new Element("span").inject(new Element("div",{"class":this.options.className+"-text"}).inject(this.wrapper)).setHTML(_320);
}
$clear(this.timer);
this.timer=this.show.delay(this.options.showDelay,this);
},end:function(_321){
if(!this.stickied){
$clear(this.timer);
this.timer=this.hide.delay(this.options.hideDelay,this);
}
},position:function(_322){
var pos=_322.getPosition();
this.toolTip.setStyles({"left":pos.x+this.options.offsets.x,"top":pos.y+this.options.offsets.y});
},locate:function(_324){
var win={"x":window.getWidth(),"y":window.getHeight()};
var _326={"x":window.getScrollLeft(),"y":window.getScrollTop()};
var tip={"x":this.toolTip.offsetWidth,"y":this.toolTip.offsetHeight};
var prop={"x":"left","y":"top"};
for(var z in prop){
var pos=_324.page[z]+this.options.offsets[z];
if((pos+tip[z]-_326[z])>win[z]){
pos=_324.page[z]-this.options.offsets[z]-tip[z];
}
this.toolTip.setStyle(prop[z],pos);
}
},show:function(){
if(this.options.timeout){
this.timer=this.hide.delay(this.options.timeout,this);
}
this.fireEvent("onShow",[this.toolTip]);
},hide:function(){
this.fireEvent("onHide",[this.toolTip]);
}});
PerItemTips.implement(new Events,new Options);
