var ToolTip=Class.create();ToolTip.prototype={initialize:function(a){this.element=$(a);this.content=arguments[1]||"";this.options=Object.extend({dialog:"dialog",className:"tooltip",offsetX:20,offsetY:20,delay:0,autoHide:true},arguments[2]||{});this.ajaxUrl=arguments[3]||"";this.outer=new Element("div",{style:"position:absolute; z-index:2000;display:none;padding:0;margin:0"});
document.body.appendChild(this.outer);this.outerIframe=new Element("iframe",{style:"position:absolute; "+"z-index:1000;"+"display:none;"+"padding:0;margin:0;"+"background:white;"+"left:0px;"+"top:0px;"+"border:0",src:"/flash/blank.html"});document.body.appendChild(this.outerIframe);this.setup();this.dialog=$(this.options.dialog)||this.createDebug();
},createDebug:function(){this.status=new Element("div",{style:"position:absolute; z-index:1290;padding:0;margin:0;background:orange;border:0; "+"color:#fff; font-weight:bold;top:0;"});document.body.appendChild(this.status);this.status.update("");return this.status;},putDebug:function(b,a){if(!a){b=$(this.status).innerHTML+b;
}$(this.status).update(b);},setup:function(){(this.element).observe("mouseover",this.startTip.bindAsEventListener(this));(this.element).observe("mousemove",this.movingTip.bindAsEventListener(this));(this.element).observe("mouseout",this.stopTip.bindAsEventListener(this));},startTip:function(a){this.setTip(a);
if(this.ajaxUrl!=""){new Ajax.Request(this.ajaxUrl,{onSuccess:function(b){this.content=b.responseText;this.setTip();}.bindAsEventListener(this)});}},movingTip:function(a){this.drawTip(a);},stopTip:function(){$(this.outer).hide();$(this.outerIframe).hide();this.onOutAction();},setTip:function(b){var a='<div class="'+this.options.className+'">'+this.content+"</div>";
$(this.outer).update(a);this.drawTip(b);this.onStartAction();},drawTip:function(a){this.getPosition(a);$(this.outer).show();$(this.outerIframe).show();this.onMoveAction();},getPosition:function(c){var h=Event.pointerX(c)+this.options.offsetX;var g=Event.pointerY(c)+this.options.offsetY;var f={width:0,height:0};
try{f=$(this.outer).firstDescendant().getDimensions();}catch(d){f={width:0,height:0};}var a=document.viewport.getScrollOffsets().top;if(Prototype.Browser.Opera){a+=window.innerHeight;}else{a+=document.viewport.getHeight();}var b=document.viewport.getScrollOffsets().left+document.viewport.getWidth();if((h+f.width)>b){h-=(f.width+2*this.options.offsetX);
}if((g+f.height)>a){g=a-f.height;}h+="px";g+="px";this.options.X=h;this.options.Y=g;$(this.outerIframe).setStyle({top:g,left:h});$(this.outer).setStyle({top:g,left:h});this.tipWidth=f.width;this.tipHeight=f.height;$(this.outer).setStyle({width:this.tipWidth+"px"});$(this.outerIframe).setStyle({width:this.tipWidth+"px",height:this.tipHeight+"px"});
},onStartAction:function(){},onMoveAction:function(){},onOutAction:function(){},debug:function(a){$(this.dialog).update(a);}};