TooltipManager={options:{cssClassName:"tooltip",delayOver:200,delayOut:1E3,shiftX:10,shiftY:10,className:"alphacube",width:200,height:null,draggable:false,minimizable:false,maximizable:false,showEffect:Element.show,hideEffect:Element.hide},ajaxInfo:null,elements:null,showTimer:null,hideTimer:null,init:function(a,b,c){TooltipManager.options=Object.extend(TooltipManager.options,c||{});a=TooltipManager.options.cssClassName||"tooltip";TooltipManager.ajaxInfo=b;TooltipManager.elements=$$("."+a);TooltipManager.elements.each(function(a){var a=
$(a),c=TooltipManager._getInfo(a);c.ajax?(a.ajaxId=c.id,a.ajaxInfo=b):a.tooltipElement=$(c.id);a.observe("mouseover",TooltipManager._mouseOver);a.observe("mouseout",TooltipManager._mouseOut)});Windows.addObserver(this)},addHTML:function(a,b){a=$(a);b=$(b);a.tooltipElement=b;a.observe("mouseover",TooltipManager._mouseOver);a.observe("mouseout",TooltipManager._mouseOut)},addAjax:function(a,b){a=$(a);a.ajaxInfo=b;a.observe("mouseover",TooltipManager._mouseOver);a.observe("mouseout",TooltipManager._mouseOut)},
addURL:function(a,b,c,d){a=$(a);a.url=b;a.frameWidth=c;a.frameHeight=d;a.observe("mouseover",TooltipManager._mouseOver);a.observe("mouseout",TooltipManager._mouseOut)},close:function(){TooltipManager.tooltipWindow&&TooltipManager.tooltipWindow.hide()},preloadImages:function(a,b,c){c||(c=".gif");$A(b).each(function(b){(new Image).src=a+"/"+b+c})},_showTooltip:function(a){if(this.element!=a){for(;a&&!a.tooltipElement&&!a.ajaxInfo&&!a.url;)a=a.parentNode;this.element=a;TooltipManager.showTimer=null;
TooltipManager.hideTimer&&clearTimeout(TooltipManager.hideTimer);var b=Position.cumulativeOffset(a),c=a.getDimensions();if(!this.tooltipWindow)this.tooltipWindow=new Window("__tooltip__",TooltipManager.options);this.tooltipWindow.hide();this.tooltipWindow.setLocation(b[1]+c.height+TooltipManager.options.shiftY,b[0]+TooltipManager.options.shiftX);Event.observe(this.tooltipWindow.element,"mouseover",function(b){TooltipManager._tooltipOver(b,a)});Event.observe(this.tooltipWindow.element,"mouseout",function(b){TooltipManager._tooltipOut(b,
a)});this.tooltipWindow.height=TooltipManager.options.height;this.tooltipWindow.width=TooltipManager.options.width;a.ajaxInfo?(c=b=a.ajaxInfo.options.parameters,a.ajaxId&&(b?b+="&id="+a.ajaxId:b="id="+a.ajaxId),a.ajaxInfo.options.parameters=b||"",this.tooltipWindow.setHTMLContent(""),this.tooltipWindow.setAjaxContent(a.ajaxInfo.url,a.ajaxInfo.options),a.ajaxInfo.options.parameters=c):a.url?(this.tooltipWindow.setURL(a.url),this.tooltipWindow.setSize(a.frameWidth,a.frameHeight),this.tooltipWindow.height=
a.frameHeight,this.tooltipWindow.width=a.frameWidth):this.tooltipWindow.setHTMLContent(a.tooltipElement.innerHTML);a.ajaxInfo||(this.tooltipWindow.show(),this.tooltipWindow.toFront())}},_hideTooltip:function(){if(this.tooltipWindow)this.tooltipWindow.hide(),this.element=null},_mouseOver:function(a){var b=Event.element(a);TooltipManager.showTimer&&clearTimeout(TooltipManager.showTimer);TooltipManager.showTimer=setTimeout(function(){TooltipManager._showTooltip(b)},TooltipManager.options.delayOver)},
_mouseOut:function(a){var b=Event.element(a);if(TooltipManager.showTimer)clearTimeout(TooltipManager.showTimer),TooltipManager.showTimer=null;else if(TooltipManager.tooltipWindow)TooltipManager.hideTimer=setTimeout(function(){TooltipManager._hideTooltip(b)},TooltipManager.options.delayOut)},_tooltipOver:function(){if(TooltipManager.hideTimer)clearTimeout(TooltipManager.hideTimer),TooltipManager.hideTimer=null},_tooltipOut:function(a,b){if(TooltipManager.hideTimer==null)TooltipManager.hideTimer=setTimeout(function(){TooltipManager._hideTooltip(b)},
TooltipManager.options.delayOut)},_getInfo:function(a){var b=a.className.split(" ").detect(function(a){return a.indexOf("html_")==0}),c=true;b?c=false:b=a.className.split(" ").detect(function(a){return a.indexOf("ajax_")==0});return(b=b.substr(b.indexOf("_")+1,b.length))?{ajax:c,id:b}:null},onBeforeShow:function(a,b){var c=parseFloat(b.getLocation().top),d=b.element.getDimensions();if(c+d.height>TooltipManager._getScrollTop()+TooltipManager._getPageHeight()){var e=Position.cumulativeOffset(this.element),
c=e[1]-TooltipManager.options.shiftY-d.height;b.setLocation(c,e[0]+TooltipManager.options.shiftX)}},_getPageWidth:function(){return window.innerWidth||document.documentElement.clientWidth||0},_getPageHeight:function(){return window.innerHeight||document.documentElement.clientHeight||0},_getScrollTop:function(){return document.documentElement.scrollTop||window.pageYOffset||0},_getScrollLeft:function(){return document.documentElement.scrollLeft||window.pageXOffset||0}};
