var ToolTip=Class.create();ToolTip.prototype={initialize:function(a){this.element=$(a);this.ajaxResponseCache=[];this.ajaxTriger=[];this.content=arguments[1]||"";this.options=Object.extend({className:"tooltip",offsetX:20,offsetY:20,delay:0,autoHide:true},arguments[2]||{});this.ajaxUrl=arguments[3]||"";
if($("toolTipOuterId")){this.outer=$("toolTipOuterId");}else{this.outer=new Element("div",{id:"toolTipOuterId",style:"position:absolute; z-index:2000;display:none;padding:0;margin:0"});document.body.appendChild(this.outer);}if($("toolTipouterIframeId")){this.outerIframe=$("toolTipouterIframeId");}else{this.outerIframe=new Element("iframe",{id:"toolTipouterIframeId",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();},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!=""){if(this.ajaxResponseCache[this.ajaxUrl]){this.content=this.ajaxResponseCache[this.ajaxUrl];this.setTip(a);return;}if(this.ajaxTriger[this.ajaxUrl]){return;}this.ajaxTriger[this.ajaxUrl]=true;new Ajax.Request(this.ajaxUrl,{onSuccess:function(b){this.ajaxTriger[this.ajaxUrl]=false;
this.ajaxResponseCache[this.ajaxUrl]=b.responseText;this.content=b.responseText;this.setTip();}.bindAsEventListener(this),onFailure:function(){this.ajaxTriger[this.ajaxUrl]=false;}.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(){}};
