tip-1.0.0.js
35.2 KB
!function(window,document,undefined){!function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):jQuery&&!jQuery.fn.qtip&&factory(jQuery)}(function($){"use strict";function QTip(target,options,id,attr){this.id=id,this.target=target,this.tooltip=NULL,this.elements={target:target},this._id=NAMESPACE+"-"+id,this.timers={img:{}},this.options=options,this.plugins={},this.cache={event:{},target:$(),disabled:FALSE,attr:attr,onTooltip:FALSE,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=FALSE}function invalidOpt(a){return a===NULL||"object"!==$.type(a)}function invalidContent(c){return!($.isFunction(c)||c&&c.attr)||c.length||"object"===$.type(c)&&(c.jquery||c.then)}function sanitizeOptions(opts){var content,text,ajax,once;return invalidOpt(opts)?FALSE:(invalidOpt(opts.metadata)&&(opts.metadata={type:opts.metadata}),"content"in opts&&(content=opts.content,invalidOpt(content)||content.jquery||content.done?(text=invalidContent(content)?FALSE:content,content=opts.content={text:text}):text=content.text,"ajax"in content&&(ajax=content.ajax,once=ajax&&ajax.once!==FALSE,delete content.ajax,content.text=function(event,api){var loading=text||$(this).attr(api.options.content.attr)||"Loading...",deferred=$.ajax($.extend({},ajax,{context:api})).then(ajax.success,NULL,ajax.error).then(function(newContent){return newContent&&once&&api.set("content.text",newContent),newContent},function(xhr,status,error){api.destroyed||0===xhr.status||api.set("content.text",status+": "+error)});return once?loading:(api.set("content.text",loading),deferred)}),"title"in content&&($.isPlainObject(content.title)&&(content.button=content.title.button,content.title=content.title.text),invalidContent(content.title||FALSE)&&(content.title=FALSE))),"position"in opts&&invalidOpt(opts.position)&&(opts.position={my:opts.position,at:opts.position}),"show"in opts&&invalidOpt(opts.show)&&(opts.show=opts.show.jquery?{target:opts.show}:opts.show===TRUE?{ready:TRUE}:{event:opts.show}),"hide"in opts&&invalidOpt(opts.hide)&&(opts.hide=opts.hide.jquery?{target:opts.hide}:{event:opts.hide}),"style"in opts&&invalidOpt(opts.style)&&(opts.style={classes:opts.style}),$.each(PLUGINS,function(){this.sanitize&&this.sanitize(opts)}),opts)}function convertNotation(options,notation){for(var obj,i=0,option=options,levels=notation.split(".");option=option[levels[i++]];)i<levels.length&&(obj=option);return[obj||options,levels.pop()]}function setCallback(notation,args){var category,rule,match;for(category in this.checks)if(this.checks.hasOwnProperty(category))for(rule in this.checks[category])this.checks[category].hasOwnProperty(rule)&&(match=new RegExp(rule,"i").exec(notation))&&(args.push(match),("builtin"===category||this.plugins[category])&&this.checks[category][rule].apply(this.plugins[category]||this,args))}function createWidgetClass(cls){return WIDGET.concat("").join(cls?"-"+cls+" ":" ")}function delay(callback,duration){return duration>0?setTimeout($.proxy(callback,this),duration):void callback.call(this)}function showMethod(event){this.tooltip.hasClass(CLASS_DISABLED)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=delay.call(this,function(){this.toggle(TRUE,event)},this.options.show.delay))}function hideMethod(event){if(!this.tooltip.hasClass(CLASS_DISABLED)&&!this.destroyed){var relatedTarget=$(event.relatedTarget),ontoTooltip=relatedTarget.closest(SELECTOR)[0]===this.tooltip[0],ontoTarget=relatedTarget[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==relatedTarget[0]&&"mouse"===this.options.position.target&&ontoTooltip||this.options.hide.fixed&&/mouse(out|leave|move)/.test(event.type)&&(ontoTooltip||ontoTarget))try{event.preventDefault(),event.stopImmediatePropagation()}catch(e){}else this.timers.hide=delay.call(this,function(){this.toggle(FALSE,event)},this.options.hide.delay,this)}}function inactiveMethod(event){!this.tooltip.hasClass(CLASS_DISABLED)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=delay.call(this,function(){this.hide(event)},this.options.hide.inactive))}function repositionMethod(event){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(event)}function delegate(selector,events,method){$(document.body).delegate(selector,(events.split?events:events.join("."+NAMESPACE+" "))+"."+NAMESPACE,function(){var api=QTIP.api[$.attr(this,ATTR_ID)];api&&!api.disabled&&method.apply(api,arguments)})}function init(elem,id,opts){var obj,posOptions,attr,config,title,docBody=$(document.body),newTarget=elem[0]===document?docBody:elem,metadata=elem.metadata?elem.metadata(opts.metadata):NULL,metadata5="html5"===opts.metadata.type&&metadata?metadata[opts.metadata.name]:NULL,html5=elem.data(opts.metadata.name||"qtipopts");try{html5="string"==typeof html5?$.parseJSON(html5):html5}catch(e){}if(config=$.extend(TRUE,{},QTIP.defaults,opts,"object"==typeof html5?sanitizeOptions(html5):NULL,sanitizeOptions(metadata5||metadata)),posOptions=config.position,config.id=id,"boolean"==typeof config.content.text){if(attr=elem.attr(config.content.attr),config.content.attr===FALSE||!attr)return FALSE;config.content.text=attr}if(posOptions.container.length||(posOptions.container=docBody),posOptions.target===FALSE&&(posOptions.target=newTarget),config.show.target===FALSE&&(config.show.target=newTarget),config.show.solo===TRUE&&(config.show.solo=posOptions.container.closest("body")),config.hide.target===FALSE&&(config.hide.target=newTarget),config.position.viewport===TRUE&&(config.position.viewport=posOptions.container),posOptions.container=posOptions.container.eq(0),posOptions.at=new CORNER(posOptions.at,TRUE),posOptions.my=new CORNER(posOptions.my),elem.data(NAMESPACE))if(config.overwrite)elem.qtip("destroy",!0);else if(config.overwrite===FALSE)return FALSE;return elem.attr(ATTR_HAS,id),config.suppress&&(title=elem.attr("title"))&&elem.removeAttr("title").attr(oldtitle,title).attr("title",""),obj=new QTip(elem,config,id,(!!attr)),elem.data(NAMESPACE,obj),obj}var QTIP,PROTOTYPE,CORNER,CHECKS,trackingBound,TRUE=!0,FALSE=!1,NULL=null,X="x",Y="y",TOP="top",LEFT="left",BOTTOM="bottom",RIGHT="right",CENTER="center",PLUGINS={},NAMESPACE="qtip",ATTR_HAS="data-hasqtip",ATTR_ID="data-qtip-id",WIDGET=["ui-widget","ui-tooltip"],SELECTOR="."+NAMESPACE,INACTIVE_EVENTS="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),CLASS_FIXED=NAMESPACE+"-fixed",CLASS_DEFAULT=NAMESPACE+"-default",CLASS_FOCUS=NAMESPACE+"-focus",CLASS_HOVER=NAMESPACE+"-hover",CLASS_DISABLED=NAMESPACE+"-disabled",replaceSuffix="_replacedByqTip",oldtitle="oldtitle",BROWSER={ie:function(){var v,i;for(v=4,i=document.createElement("div");(i.innerHTML="<!--[if gt IE "+v+"]><i></i><![endif]-->")&&i.getElementsByTagName("i")[0];v+=1);return v>4?v:NaN}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||FALSE};PROTOTYPE=QTip.prototype,PROTOTYPE._when=function(deferreds){return $.when.apply($,deferreds)},PROTOTYPE.render=function(show){if(this.rendered||this.destroyed)return this;var self=this,options=this.options,cache=this.cache,elements=this.elements,text=options.content.text,title=options.content.title,button=options.content.button,posOptions=options.position,deferreds=[];return $.attr(this.target[0],"aria-describedby",this._id),cache.posClass=this._createPosClass((this.position={my:posOptions.my,at:posOptions.at}).my),this.tooltip=elements.tooltip=$("<div/>",{id:this._id,"class":[NAMESPACE,CLASS_DEFAULT,options.style.classes,cache.posClass].join(" "),width:options.style.width||"",height:options.style.height||"",tracking:"mouse"===posOptions.target&&posOptions.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":FALSE,"aria-describedby":this._id+"-content","aria-hidden":TRUE}).toggleClass(CLASS_DISABLED,this.disabled).attr(ATTR_ID,this.id).data(NAMESPACE,this).appendTo(posOptions.container).append(elements.content=$("<div />",{"class":NAMESPACE+"-content",id:this._id+"-content","aria-atomic":TRUE})),this.rendered=-1,this.positioning=TRUE,title&&(this._createTitle(),$.isFunction(title)||deferreds.push(this._updateTitle(title,FALSE))),button&&this._createButton(),$.isFunction(text)||deferreds.push(this._updateContent(text,FALSE)),this.rendered=TRUE,this._setWidget(),$.each(PLUGINS,function(name){var instance;"render"===this.initialize&&(instance=this(self))&&(self.plugins[name]=instance)}),this._unassignEvents(),this._assignEvents(),this._when(deferreds).then(function(){self._trigger("render"),self.positioning=FALSE,self.hiddenDuringWait||!options.show.ready&&!show||self.toggle(TRUE,cache.event,FALSE),self.hiddenDuringWait=FALSE}),QTIP.api[this.id]=this,this},PROTOTYPE.destroy=function(immediate){function process(){if(!this.destroyed){this.destroyed=TRUE;var timer,target=this.target,title=target.attr(oldtitle);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),$.each(this.plugins,function(){this.destroy&&this.destroy()});for(timer in this.timers)this.timers.hasOwnProperty(timer)&&clearTimeout(this.timers[timer]);target.removeData(NAMESPACE).removeAttr(ATTR_ID).removeAttr(ATTR_HAS).removeAttr("aria-describedby"),this.options.suppress&&title&&target.attr("title",title).removeAttr(oldtitle),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=NULL,delete QTIP.api[this.id]}}return this.destroyed?this.target:(immediate===TRUE&&"hide"!==this.triggering||!this.rendered?process.call(this):(this.tooltip.one("tooltiphidden",$.proxy(process,this)),!this.triggering&&this.hide()),this.target)},CHECKS=PROTOTYPE.checks={builtin:{"^id$":function(obj,o,v,prev){var id=v===TRUE?QTIP.nextid:v,newId=NAMESPACE+"-"+id;id!==FALSE&&id.length>0&&!$("#"+newId).length?(this._id=newId,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):obj[o]=prev},"^prerender":function(obj,o,v){v&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(obj,o,v){this._updateContent(v)},"^content.attr$":function(obj,o,v,prev){this.options.content.text===this.target.attr(prev)&&this._updateContent(this.target.attr(v))},"^content.title$":function(obj,o,v){return v?(v&&!this.elements.title&&this._createTitle(),void this._updateTitle(v)):this._removeTitle()},"^content.button$":function(obj,o,v){this._updateButton(v)},"^content.title.(text|button)$":function(obj,o,v){this.set("content."+o,v)},"^position.(my|at)$":function(obj,o,v){"string"==typeof v&&(this.position[o]=obj[o]=new CORNER(v,"at"===o))},"^position.container$":function(obj,o,v){this.rendered&&this.tooltip.appendTo(v)},"^show.ready$":function(obj,o,v){v&&(!this.rendered&&this.render(TRUE)||this.toggle(TRUE))},"^style.classes$":function(obj,o,v,p){this.rendered&&this.tooltip.removeClass(p).addClass(v)},"^style.(width|height)":function(obj,o,v){this.rendered&&this.tooltip.css(o,v)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(obj,o,v){this.rendered&&this.tooltip.toggleClass(CLASS_DEFAULT,!!v)},"^events.(render|show|move|hide|focus|blur)$":function(obj,o,v){this.rendered&&this.tooltip[($.isFunction(v)?"":"un")+"bind"]("tooltip"+o,v)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var posOptions=this.options.position;this.tooltip.attr("tracking","mouse"===posOptions.target&&posOptions.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},PROTOTYPE.get=function(notation){if(this.destroyed)return this;var o=convertNotation(this.options,notation.toLowerCase()),result=o[0][o[1]];return result.precedance?result.string():result};var rmove=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,rrender=/^prerender|show\.ready/i;PROTOTYPE.set=function(option,value){if(this.destroyed)return this;var name,rendered=this.rendered,reposition=FALSE,options=this.options;return"string"==typeof option?(name=option,option={},option[name]=value):option=$.extend({},option),$.each(option,function(notation,val){if(rendered&&rrender.test(notation))return void delete option[notation];var previous,obj=convertNotation(options,notation.toLowerCase());previous=obj[0][obj[1]],obj[0][obj[1]]=val&&val.nodeType?$(val):val,reposition=rmove.test(notation)||reposition,option[notation]=[obj[0],obj[1],val,previous]}),sanitizeOptions(options),this.positioning=TRUE,$.each(option,$.proxy(setCallback,this)),this.positioning=FALSE,this.rendered&&this.tooltip[0].offsetWidth>0&&reposition&&this.reposition("mouse"===options.position.target?NULL:this.cache.event),this},PROTOTYPE._update=function(content,element){var self=this,cache=this.cache;return this.rendered&&content?($.isFunction(content)&&(content=content.call(this.elements.target,cache.event,this)||""),$.isFunction(content.then)?(cache.waiting=TRUE,content.then(function(c){return cache.waiting=FALSE,self._update(c,element)},NULL,function(e){return self._update(e,element)})):content===FALSE||!content&&""!==content?FALSE:(content.jquery&&content.length>0?element.empty().append(content.css({display:"block",visibility:"visible"})):element.html(content),this._waitForContent(element).then(function(images){self.rendered&&self.tooltip[0].offsetWidth>0&&self.reposition(cache.event,!images.length)}))):FALSE},PROTOTYPE._waitForContent=function(element){var cache=this.cache;return cache.waiting=TRUE,($.fn.imagesLoaded?element.imagesLoaded():(new $.Deferred).resolve([])).done(function(){cache.waiting=FALSE}).promise()},PROTOTYPE._updateContent=function(content,reposition){this._update(content,this.elements.content,reposition)},PROTOTYPE._updateTitle=function(content,reposition){this._update(content,this.elements.title,reposition)===FALSE&&this._removeTitle(FALSE)},PROTOTYPE._createTitle=function(){var elements=this.elements,id=this._id+"-title";elements.titlebar&&this._removeTitle(),elements.titlebar=$("<div />",{"class":NAMESPACE+"-titlebar "+(this.options.style.widget?createWidgetClass("header"):"")}).append(elements.title=$("<div />",{id:id,"class":NAMESPACE+"-title","aria-atomic":TRUE})).insertBefore(elements.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(event){$(this).toggleClass("ui-state-active ui-state-focus","down"===event.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(event){$(this).toggleClass("ui-state-hover","mouseover"===event.type)}),this.options.content.button&&this._createButton()},PROTOTYPE._removeTitle=function(reposition){var elements=this.elements;elements.title&&(elements.titlebar.remove(),elements.titlebar=elements.title=elements.button=NULL,reposition!==FALSE&&this.reposition())},PROTOTYPE._createPosClass=function(my){return NAMESPACE+"-pos-"+(my||this.options.position.my).abbrev()},PROTOTYPE.reposition=function(event,effect){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=TRUE;var pluginCalculations,offset,adjusted,newClass,cache=this.cache,tooltip=this.tooltip,posOptions=this.options.position,target=posOptions.target,my=posOptions.my,at=posOptions.at,viewport=posOptions.viewport,container=posOptions.container,adjust=posOptions.adjust,method=adjust.method.split(" "),tooltipWidth=tooltip.outerWidth(FALSE),tooltipHeight=tooltip.outerHeight(FALSE),targetWidth=0,targetHeight=0,type=tooltip.css("position"),position={left:0,top:0},visible=tooltip[0].offsetWidth>0,isScroll=event&&"scroll"===event.type,win=$(window),doc=container[0].ownerDocument,mouse=this.mouse;if($.isArray(target)&&2===target.length)at={x:LEFT,y:TOP},position={left:target[0],top:target[1]};else if("mouse"===target)at={x:LEFT,y:TOP},(!adjust.mouse||this.options.hide.distance)&&cache.origin&&cache.origin.pageX?event=cache.origin:!event||event&&("resize"===event.type||"scroll"===event.type)?event=cache.event:mouse&&mouse.pageX&&(event=mouse),"static"!==type&&(position=container.offset()),doc.body.offsetWidth!==(window.innerWidth||doc.documentElement.clientWidth)&&(offset=$(document.body).offset()),position={left:event.pageX-position.left+(offset&&offset.left||0),top:event.pageY-position.top+(offset&&offset.top||0)},adjust.mouse&&isScroll&&mouse&&(position.left-=(mouse.scrollX||0)-win.scrollLeft(),position.top-=(mouse.scrollY||0)-win.scrollTop());else{if("event"===target?event&&event.target&&"scroll"!==event.type&&"resize"!==event.type?cache.target=$(event.target):event.target||(cache.target=this.elements.target):"event"!==target&&(cache.target=$(target.jquery?target:this.elements.target)),target=cache.target,target=$(target).eq(0),0===target.length)return this;target[0]===document||target[0]===window?(targetWidth=BROWSER.iOS?window.innerWidth:target.width(),targetHeight=BROWSER.iOS?window.innerHeight:target.height(),target[0]===window&&(position={top:(viewport||target).scrollTop(),left:(viewport||target).scrollLeft()})):PLUGINS.imagemap&&target.is("area")?pluginCalculations=PLUGINS.imagemap(this,target,at,PLUGINS.viewport?method:FALSE):PLUGINS.svg&&target&&target[0].ownerSVGElement?pluginCalculations=PLUGINS.svg(this,target,at,PLUGINS.viewport?method:FALSE):(targetWidth=target.outerWidth(FALSE),targetHeight=target.outerHeight(FALSE),position=target.offset()),pluginCalculations&&(targetWidth=pluginCalculations.width,targetHeight=pluginCalculations.height,offset=pluginCalculations.offset,position=pluginCalculations.position),position=this.reposition.offset(target,position,container),(BROWSER.iOS>3.1&&BROWSER.iOS<4.1||BROWSER.iOS>=4.3&&BROWSER.iOS<4.33||!BROWSER.iOS&&"fixed"===type)&&(position.left-=win.scrollLeft(),position.top-=win.scrollTop()),(!pluginCalculations||pluginCalculations&&pluginCalculations.adjustable!==FALSE)&&(position.left+=at.x===RIGHT?targetWidth:at.x===CENTER?targetWidth/2:0,position.top+=at.y===BOTTOM?targetHeight:at.y===CENTER?targetHeight/2:0)}return position.left+=adjust.x+(my.x===RIGHT?-tooltipWidth:my.x===CENTER?-tooltipWidth/2:0),position.top+=adjust.y+(my.y===BOTTOM?-tooltipHeight:my.y===CENTER?-tooltipHeight/2:0),PLUGINS.viewport?(adjusted=position.adjusted=PLUGINS.viewport(this,position,posOptions,targetWidth,targetHeight,tooltipWidth,tooltipHeight),offset&&adjusted.left&&(position.left+=offset.left),offset&&adjusted.top&&(position.top+=offset.top),adjusted.my&&(this.position.my=adjusted.my)):position.adjusted={left:0,top:0},cache.posClass!==(newClass=this._createPosClass(this.position.my))&&(cache.posClass=newClass,tooltip.removeClass(cache.posClass).addClass(newClass)),this._trigger("move",[position,viewport.elem||viewport],event)?(delete position.adjusted,effect===FALSE||!visible||isNaN(position.left)||isNaN(position.top)||"mouse"===target||!$.isFunction(posOptions.effect)?tooltip.css(position):$.isFunction(posOptions.effect)&&(posOptions.effect.call(tooltip,this,$.extend({},position)),tooltip.queue(function(next){$(this).css({opacity:"",height:""}),BROWSER.ie&&this.style.removeAttribute("filter"),next()})),this.positioning=FALSE,this):this},PROTOTYPE.reposition.offset=function(elem,pos,container){function scroll(e,i){pos.left+=i*e.scrollLeft(),pos.top+=i*e.scrollTop()}if(!container[0])return pos;var scrolled,position,parentOffset,overflow,ownerDocument=$(elem[0].ownerDocument),quirks=!!BROWSER.ie&&"CSS1Compat"!==document.compatMode,parent=container[0];do"static"!==(position=$.css(parent,"position"))&&("fixed"===position?(parentOffset=parent.getBoundingClientRect(),scroll(ownerDocument,-1)):(parentOffset=$(parent).position(),parentOffset.left+=parseFloat($.css(parent,"borderLeftWidth"))||0,parentOffset.top+=parseFloat($.css(parent,"borderTopWidth"))||0),pos.left-=parentOffset.left+(parseFloat($.css(parent,"marginLeft"))||0),pos.top-=parentOffset.top+(parseFloat($.css(parent,"marginTop"))||0),scrolled||"hidden"===(overflow=$.css(parent,"overflow"))||"visible"===overflow||(scrolled=$(parent)));while(parent=parent.offsetParent);return scrolled&&(scrolled[0]!==ownerDocument[0]||quirks)&&scroll(scrolled,1),pos};var C=(CORNER=PROTOTYPE.reposition.Corner=function(corner,forceY){corner=(""+corner).replace(/([A-Z])/," $1").replace(/middle/gi,CENTER).toLowerCase(),this.x=(corner.match(/left|right/i)||corner.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(corner.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!forceY;var f=corner.charAt(0);this.precedance="t"===f||"b"===f?Y:X}).prototype;C.invert=function(z,center){this[z]=this[z]===LEFT?RIGHT:this[z]===RIGHT?LEFT:center||this[z]},C.string=function(join){var x=this.x,y=this.y,result=x!==y?"center"===x||"center"!==y&&(this.precedance===Y||this.forceY)?[y,x]:[x,y]:[x];return join!==!1?result.join(" "):result},C.abbrev=function(){var result=this.string(!1);return result[0].charAt(0)+(result[1]&&result[1].charAt(0)||"")},C.clone=function(){return new CORNER(this.string(),this.forceY)},PROTOTYPE.toggle=function(state,event){var cache=this.cache,options=this.options,tooltip=this.tooltip;if(event){if(/over|enter/.test(event.type)&&cache.event&&/out|leave/.test(cache.event.type)&&options.show.target.add(event.target).length===options.show.target.length&&tooltip.has(event.relatedTarget).length)return this;cache.event=$.event.fix(event)}if(this.waiting&&!state&&(this.hiddenDuringWait=TRUE),!this.rendered)return state?this.render(1):this;if(this.destroyed||this.disabled)return this;var identicalState,allow,after,type=state?"show":"hide",opts=this.options[type],posOptions=this.options.position,contentOptions=this.options.content,width=this.tooltip.css("width"),visible=this.tooltip.is(":visible"),animate=state||1===opts.target.length,sameTarget=!event||opts.target.length<2||cache.target[0]===event.target;return(typeof state).search("boolean|number")&&(state=!visible),identicalState=!tooltip.is(":animated")&&visible===state&&sameTarget,allow=identicalState?NULL:!!this._trigger(type,[90]),this.destroyed?this:(allow!==FALSE&&state&&this.focus(event),!allow||identicalState?this:($.attr(tooltip[0],"aria-hidden",!state),state?(this.mouse&&(cache.origin=$.event.fix(this.mouse)),$.isFunction(contentOptions.text)&&this._updateContent(contentOptions.text,FALSE),$.isFunction(contentOptions.title)&&this._updateTitle(contentOptions.title,FALSE),!trackingBound&&"mouse"===posOptions.target&&posOptions.adjust.mouse&&($(document).bind("mousemove."+NAMESPACE,this._storeMouse),trackingBound=TRUE),width||tooltip.css("width",tooltip.outerWidth(FALSE)),this.reposition(event,arguments[2]),width||tooltip.css("width",""),opts.solo&&("string"==typeof opts.solo?$(opts.solo):$(SELECTOR,opts.solo)).not(tooltip).not(opts.target).qtip("hide",new $.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete cache.origin,trackingBound&&!$(SELECTOR+'[tracking="true"]:visible',opts.solo).not(tooltip).length&&($(document).unbind("mousemove."+NAMESPACE),trackingBound=FALSE),this.blur(event)),after=$.proxy(function(){state?(BROWSER.ie&&tooltip[0].style.removeAttribute("filter"),tooltip.css("overflow",""),"string"==typeof opts.autofocus&&$(this.options.show.autofocus,tooltip).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):tooltip.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(state?"visible":"hidden")},this),opts.effect===FALSE||animate===FALSE?(tooltip[type](),after()):$.isFunction(opts.effect)?(tooltip.stop(1,1),opts.effect.call(tooltip,this),tooltip.queue("fx",function(n){after(),n()})):tooltip.fadeTo(90,state?1:0,after),state&&opts.target.trigger("qtip-"+this.id+"-inactive"),this))},PROTOTYPE.show=function(event){return this.toggle(TRUE,event)},PROTOTYPE.hide=function(event){return this.toggle(FALSE,event)},PROTOTYPE.focus=function(event){if(!this.rendered||this.destroyed)return this;var qtips=$(SELECTOR),tooltip=this.tooltip,curIndex=parseInt(tooltip[0].style.zIndex,10),newIndex=QTIP.zindex+qtips.length;return tooltip.hasClass(CLASS_FOCUS)||this._trigger("focus",[newIndex],event)&&(curIndex!==newIndex&&(qtips.each(function(){this.style.zIndex>curIndex&&(this.style.zIndex=this.style.zIndex-1)}),qtips.filter("."+CLASS_FOCUS).qtip("blur",event)),tooltip.addClass(CLASS_FOCUS)[0].style.zIndex=newIndex),this},PROTOTYPE.blur=function(event){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(CLASS_FOCUS),this._trigger("blur",[this.tooltip.css("zIndex")],event),this)},PROTOTYPE.disable=function(state){return this.destroyed?this:("toggle"===state?state=!(this.rendered?this.tooltip.hasClass(CLASS_DISABLED):this.disabled):"boolean"!=typeof state&&(state=TRUE),this.rendered&&this.tooltip.toggleClass(CLASS_DISABLED,state).attr("aria-disabled",state),this.disabled=!!state,this)},PROTOTYPE.enable=function(){return this.disable(FALSE)},PROTOTYPE._createButton=function(){var self=this,elements=this.elements,tooltip=elements.tooltip,button=this.options.content.button,isString="string"==typeof button,close=isString?button:"Close tooltip";elements.button&&elements.button.remove(),button.jquery?elements.button=button:elements.button=$("<a />",{"class":"qtip-close "+(this.options.style.widget?"":NAMESPACE+"-icon"),title:close,"aria-label":close}).prepend($("<span />",{"class":"ui-icon ui-icon-close",html:"×"})),elements.button.appendTo(elements.titlebar||tooltip).attr("role","button").click(function(event){return tooltip.hasClass(CLASS_DISABLED)||self.hide(event),FALSE})},PROTOTYPE._updateButton=function(button){if(!this.rendered)return FALSE;var elem=this.elements.button;button?this._createButton():elem.remove()},PROTOTYPE._setWidget=function(){var on=this.options.style.widget,elements=this.elements,tooltip=elements.tooltip,disabled=tooltip.hasClass(CLASS_DISABLED);tooltip.removeClass(CLASS_DISABLED),CLASS_DISABLED=on?"ui-state-disabled":"qtip-disabled",tooltip.toggleClass(CLASS_DISABLED,disabled),tooltip.toggleClass("ui-helper-reset "+createWidgetClass(),on).toggleClass(CLASS_DEFAULT,this.options.style.def&&!on),elements.content&&elements.content.toggleClass(createWidgetClass("content"),on),elements.titlebar&&elements.titlebar.toggleClass(createWidgetClass("header"),on),elements.button&&elements.button.toggleClass(NAMESPACE+"-icon",!on)},PROTOTYPE._storeMouse=function(event){return(this.mouse=$.event.fix(event)).type="mousemove",this},PROTOTYPE._bind=function(targets,events,method,suffix,context){if(targets&&method&&events.length){var ns="."+this._id+(suffix?"-"+suffix:"");return $(targets).bind((events.split?events:events.join(ns+" "))+ns,$.proxy(method,context||this)),this}},PROTOTYPE._unbind=function(targets,suffix){return targets&&$(targets).unbind("."+this._id+(suffix?"-"+suffix:"")),this},PROTOTYPE._trigger=function(type,args,event){var callback=new $.Event("tooltip"+type);return callback.originalEvent=event&&$.extend({},event)||this.cache.event||NULL,this.triggering=type,this.tooltip.trigger(callback,[this].concat(args||[])),this.triggering=FALSE,!callback.isDefaultPrevented()},PROTOTYPE._bindEvents=function(showEvents,hideEvents,showTargets,hideTargets,showCallback,hideCallback){var similarTargets=showTargets.filter(hideTargets).add(hideTargets.filter(showTargets)),toggleEvents=[];similarTargets.length&&($.each(hideEvents,function(i,type){var showIndex=$.inArray(type,showEvents);showIndex>-1&&toggleEvents.push(showEvents.splice(showIndex,1)[0])}),toggleEvents.length&&(this._bind(similarTargets,toggleEvents,function(event){var state=!!this.rendered&&this.tooltip[0].offsetWidth>0;(state?hideCallback:showCallback).call(this,event)}),showTargets=showTargets.not(similarTargets),hideTargets=hideTargets.not(similarTargets))),this._bind(showTargets,showEvents,showCallback),this._bind(hideTargets,hideEvents,hideCallback)},PROTOTYPE._assignInitialEvents=function(event){function hoverIntent(hoverEvent){return this.disabled||this.destroyed?FALSE:(this.cache.event=hoverEvent&&$.event.fix(hoverEvent),this.cache.target=hoverEvent&&$(hoverEvent.target),clearTimeout(this.timers.show),void(this.timers.show=delay.call(this,function(){this.render("object"==typeof hoverEvent||options.show.ready)},options.prerender?0:options.show.delay)))}var options=this.options,showTarget=options.show.target,hideTarget=options.hide.target,showEvents=options.show.event?$.trim(""+options.show.event).split(" "):[],hideEvents=options.hide.event?$.trim(""+options.hide.event).split(" "):[];this._bind(this.elements.target,["remove","removeqtip"],function(){this.destroy(!0)},"destroy"),/mouse(over|enter)/i.test(options.show.event)&&!/mouse(out|leave)/i.test(options.hide.event)&&hideEvents.push("mouseleave"),this._bind(showTarget,"mousemove",function(moveEvent){this._storeMouse(moveEvent),this.cache.onTarget=TRUE}),this._bindEvents(showEvents,hideEvents,showTarget,hideTarget,hoverIntent,function(){return this.timers?void clearTimeout(this.timers.show):FALSE}),(options.show.ready||options.prerender)&&hoverIntent.call(this,event)},PROTOTYPE._assignEvents=function(){var self=this,options=this.options,posOptions=options.position,tooltip=this.tooltip,showTarget=options.show.target,hideTarget=options.hide.target,containerTarget=posOptions.container,viewportTarget=posOptions.viewport,documentTarget=$(document),windowTarget=$(window),showEvents=options.show.event?$.trim(""+options.show.event).split(" "):[],hideEvents=options.hide.event?$.trim(""+options.hide.event).split(" "):[];$.each(options.events,function(name,callback){self._bind(tooltip,"toggle"===name?["tooltipshow","tooltiphide"]:["tooltip"+name],callback,null,tooltip)}),/mouse(out|leave)/i.test(options.hide.event)&&"window"===options.hide.leave&&this._bind(documentTarget,["mouseout","blur"],function(event){/select|option/.test(event.target.nodeName)||event.relatedTarget||this.hide(event)}),options.hide.fixed?hideTarget=hideTarget.add(tooltip.addClass(CLASS_FIXED)):/mouse(over|enter)/i.test(options.show.event)&&this._bind(hideTarget,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+options.hide.event).indexOf("unfocus")>-1&&this._bind(containerTarget.closest("html"),["mousedown","touchstart"],function(event){var elem=$(event.target),enabled=this.rendered&&!this.tooltip.hasClass(CLASS_DISABLED)&&this.tooltip[0].offsetWidth>0,isAncestor=elem.parents(SELECTOR).filter(this.tooltip[0]).length>0;elem[0]===this.target[0]||elem[0]===this.tooltip[0]||isAncestor||this.target.has(elem[0]).length||!enabled||this.hide(event)}),"number"==typeof options.hide.inactive&&(this._bind(showTarget,"qtip-"+this.id+"-inactive",inactiveMethod,"inactive"),this._bind(hideTarget.add(tooltip),QTIP.inactiveEvents,inactiveMethod)),this._bindEvents(showEvents,hideEvents,showTarget,hideTarget,showMethod,hideMethod),this._bind(showTarget.add(tooltip),"mousemove",function(event){if("number"==typeof options.hide.distance){var origin=this.cache.origin||{},limit=this.options.hide.distance,abs=Math.abs;(abs(event.pageX-origin.pageX)>=limit||abs(event.pageY-origin.pageY)>=limit)&&this.hide(event)}this._storeMouse(event)}),"mouse"===posOptions.target&&posOptions.adjust.mouse&&(options.hide.event&&this._bind(showTarget,["mouseenter","mouseleave"],function(event){return this.cache?void(this.cache.onTarget="mouseenter"===event.type):FALSE}),this._bind(documentTarget,"mousemove",function(event){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(CLASS_DISABLED)&&this.tooltip[0].offsetWidth>0&&this.reposition(event)})),(posOptions.adjust.resize||viewportTarget.length)&&this._bind($.event.special.resize?viewportTarget:windowTarget,"resize",repositionMethod),posOptions.adjust.scroll&&this._bind(windowTarget.add(posOptions.container),"scroll",repositionMethod)},PROTOTYPE._unassignEvents=function(){var options=this.options,showTargets=options.show.target,hideTargets=options.hide.target,targets=$.grep([this.elements.target[0],this.rendered&&this.tooltip[0],options.position.container[0],options.position.viewport[0],options.position.container.closest("html")[0],window,document],function(i){
return"object"==typeof i});showTargets&&showTargets.toArray&&(targets=targets.concat(showTargets.toArray())),hideTargets&&hideTargets.toArray&&(targets=targets.concat(hideTargets.toArray())),this._unbind(targets)._unbind(targets,"destroy")._unbind(targets,"inactive")},$(function(){delegate(SELECTOR,["mouseenter","mouseleave"],function(event){var state="mouseenter"===event.type,tooltip=$(event.currentTarget),target=$(event.relatedTarget||event.target),options=this.options;state?(this.focus(event),tooltip.hasClass(CLASS_FIXED)&&!tooltip.hasClass(CLASS_DISABLED)&&clearTimeout(this.timers.hide)):"mouse"===options.position.target&&options.position.adjust.mouse&&options.hide.event&&options.show.target&&!target.closest(options.show.target[0]).length&&this.hide(event),tooltip.toggleClass(CLASS_HOVER,state)}),delegate("["+ATTR_ID+"]",INACTIVE_EVENTS,inactiveMethod)}),QTIP=$.fn.qtip=function(options,notation,newValue){var command=(""+options).toLowerCase(),returned=NULL,args=$.makeArray(arguments).slice(1),event=args[args.length-1],opts=this[0]?$.data(this[0],NAMESPACE):NULL;return!arguments.length&&opts||"api"===command?opts:"string"==typeof options?(this.each(function(){var api=$.data(this,NAMESPACE);if(!api)return TRUE;if(event&&event.timeStamp&&(api.cache.event=event),!notation||"option"!==command&&"options"!==command)api[command]&&api[command].apply(api,args);else{if(newValue===undefined&&!$.isPlainObject(notation))return returned=api.get(notation),FALSE;api.set(notation,newValue)}}),returned!==NULL?returned:this):"object"!=typeof options&&arguments.length?void 0:(opts=sanitizeOptions($.extend(TRUE,{},options)),this.each(function(i){var api,id;return id=$.isArray(opts.id)?opts.id[i]:opts.id,id=!id||id===FALSE||id.length<1||QTIP.api[id]?QTIP.nextid++:id,api=init($(this),id,opts),api===FALSE?TRUE:(QTIP.api[id]=api,$.each(PLUGINS,function(){"initialize"===this.initialize&&this(api)}),void api._assignInitialEvents(event))}))},$.qtip=QTip,QTIP.api={},$.each({attr:function(attr,val){if(this.length){var self=this[0],title="title",api=$.data(self,"qtip");if(attr===title&&api&&api.options&&"object"==typeof api&&"object"==typeof api.options&&api.options.suppress)return arguments.length<2?$.attr(self,oldtitle):(api&&api.options.content.attr===title&&api.cache.attr&&api.set("content.text",val),this.attr(oldtitle,val))}return $.fn["attr"+replaceSuffix].apply(this,arguments)},clone:function(keepData){var elems=$.fn["clone"+replaceSuffix].apply(this,arguments);return keepData||elems.filter("["+oldtitle+"]").attr("title",function(){return $.attr(this,oldtitle)}).removeAttr(oldtitle),elems}},function(name,func){if(!func||$.fn[name+replaceSuffix])return TRUE;var old=$.fn[name+replaceSuffix]=$.fn[name];$.fn[name]=function(){return func.apply(this,arguments)||old.apply(this,arguments)}}),$.ui||($["cleanData"+replaceSuffix]=$.cleanData,$.cleanData=function(elems){for(var elem,i=0;(elem=$(elems[i])).length;i++)if(elem.attr(ATTR_HAS))try{elem.triggerHandler("removeqtip")}catch(e){}$["cleanData"+replaceSuffix].apply(this,arguments)}),QTIP.version="3.0.2",QTIP.nextid=0,QTIP.inactiveEvents=INACTIVE_EVENTS,QTIP.zindex=15e3,QTIP.defaults={prerender:FALSE,id:FALSE,overwrite:TRUE,suppress:TRUE,content:{text:TRUE,attr:"title",title:FALSE,button:FALSE},position:{my:"top left",at:"bottom right",target:FALSE,container:FALSE,viewport:FALSE,adjust:{x:0,y:0,mouse:TRUE,scroll:TRUE,resize:TRUE,method:"flipinvert flipinvert"},effect:function(api,pos){$(this).animate(pos,{duration:200,queue:FALSE})}},show:{target:FALSE,event:"mouseenter",effect:TRUE,delay:90,solo:FALSE,ready:FALSE,autofocus:FALSE},hide:{target:FALSE,event:"mouseleave",effect:TRUE,delay:0,fixed:FALSE,inactive:FALSE,leave:"window",distance:FALSE},style:{classes:"",widget:FALSE,width:FALSE,height:FALSE,def:TRUE},events:{render:NULL,move:NULL,show:NULL,hide:NULL,toggle:NULL,visible:NULL,hidden:NULL,focus:NULL,blur:NULL}}})}(window,document);