From dd8c63b78b762f02ac8d7291762e61ffe98ab4c0 Mon Sep 17 00:00:00 2001 From: Craig Michael Thompson Date: Sat, 5 Feb 2011 20:51:32 +0000 Subject: [PATCH] Added new QTIP and PLUGINS vars to minimize object lookups --- dist/jquery.qtip.css | 2 +- dist/jquery.qtip.js | 281 +++++++++++++++++++-------------------- dist/jquery.qtip.min.js | 4 +- dist/jquery.qtip.pack.js | 4 +- src/ajax.js | 28 ++-- src/bgiframe.js | 40 +++--- src/core.js | 153 ++++++++++----------- src/imagemap.js | 2 +- src/intro.js | 1 + src/modal.js | 32 ++--- src/svg.js | 2 +- src/tips.js | 20 +-- 12 files changed, 272 insertions(+), 297 deletions(-) diff --git a/dist/jquery.qtip.css b/dist/jquery.qtip.css index b018f0bc..b8bdbf14 100644 --- a/dist/jquery.qtip.css +++ b/dist/jquery.qtip.css @@ -9,7 +9,7 @@ * http://en.wikipedia.org/wiki/MIT_License * http://en.wikipedia.org/wiki/GNU_General_Public_License * -* Date: Fri Feb 4 23:09:27 2011 +0000 +* Date: Sat Feb 5 17:42:04 2011 +0000 */ /* Fluid class for determining actual width in IE */ diff --git a/dist/jquery.qtip.js b/dist/jquery.qtip.js index 868874ff..5bdba29a 100644 --- a/dist/jquery.qtip.js +++ b/dist/jquery.qtip.js @@ -9,7 +9,7 @@ * http://en.wikipedia.org/wiki/MIT_License * http://en.wikipedia.org/wiki/GNU_General_Public_License * -* Date: Fri Feb 4 23:09:27 2011 +0000 +* Date: Sat Feb 5 17:42:04 2011 +0000 */ "use strict"; // Enable ECMAScript "strict" operation for this function. See more: http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ @@ -25,6 +25,7 @@ NULL = null, // Shortcut vars + QTIP, PLUGINS, uitooltip = 'ui-tooltip', widget = 'ui-widget', disabled = 'ui-state-disabled', @@ -118,7 +119,7 @@ function sanitizeOptions(opts) } // Sanitize plugin options - $.each($.fn.qtip.plugins, function() { + $.each(PLUGINS, function() { if(this.sanitize) { this.sanitize(opts); } }); @@ -135,12 +136,12 @@ function QTip(target, options, id, attr) docBody = document.body, tooltipID = uitooltip + '-' + id, isPositioning = 0, - tooltip; + tooltip, elements; // Setup class attributes self.id = id; self.rendered = FALSE; - self.elements = { target: target }; + self.elements = elements = { target: target }; self.timers = { img: [] }; self.options = options; self.checks = {}; @@ -182,44 +183,40 @@ function QTip(target, options, id, attr) } function setWidget() { - var elems = self.elements, - on = options.style.widget; + var on = options.style.widget; tooltip.toggleClass(widget, on); - elems.content.toggleClass(widget+'-content', on); + elements.content.toggleClass(widget+'-content', on); - if(elems.titlebar){ - elems.titlebar.toggleClass(widget+'-header', on); + if(elements.titlebar){ + elements.titlebar.toggleClass(widget+'-header', on); } - if(elems.button){ - elems.button.toggleClass(uitooltip+'-icon', !on); + if(elements.button){ + elements.button.toggleClass(uitooltip+'-icon', !on); } } function removeTitle() { - var elems = self.elements; - - if(elems.title) { - elems.titlebar.remove(); - elems.titlebar = elems.title = elems.button = NULL; + if(elements.title) { + elements.titlebar.remove(); + elements.titlebar = elements.title = elements.button = NULL; self.reposition(); } } function createButton() { - var elems = self.elements, - button = options.content.title.button; + var button = options.content.title.button; - if(elems.button) { elems.button.remove(); } + if(elements.button) { elements.button.remove(); } // Use custom button if one was supplied by user, else use default if(button.jquery) { - elems.button = button; + elements.button = button; } else { - elems.button = $('', { + elements.button = $('', { 'class': 'ui-state-default ' + (options.style.widget ? '' : uitooltip+'-icon'), 'title': 'Close tooltip', 'aria-label': 'Close tooltip' @@ -233,7 +230,7 @@ function QTip(target, options, id, attr) } // Create button and setup attributes - elems.button.appendTo(elems.titlebar) + elements.button.appendTo(elements.titlebar) .attr('role', 'button') .hover(function(event){ $(this).toggleClass('ui-state-hover', event.type === 'mouseenter'); }) .click(function(event) { @@ -250,24 +247,23 @@ function QTip(target, options, id, attr) function createTitle() { - var elems = self.elements, - id = tooltipID+'-title'; + var id = tooltipID+'-title'; // Destroy previous title element, if present - if(elems.titlebar) { removeTitle(); } + if(elements.titlebar) { removeTitle(); } // Create title bar and title elements - elems.titlebar = $('
', { + elements.titlebar = $('
', { 'class': uitooltip + '-titlebar ' + (options.style.widget ? 'ui-widget-header' : '') }) .append( - elems.title = $('
', { + elements.title = $('
', { 'id': id, 'class': uitooltip + '-title', 'aria-atomic': TRUE }) ) - .insertBefore(elems.content); + .insertBefore(elements.content); // Create button if enabled if(options.content.title.button) { createButton(); } @@ -278,8 +274,8 @@ function QTip(target, options, id, attr) function updateButton(button) { - var elem = self.elements.button, - title = self.elements.title; + var elem = elements.button, + title = elements.title; // Make sure tooltip is rendered and if not, return if(!self.rendered) { return FALSE; } @@ -297,7 +293,7 @@ function QTip(target, options, id, attr) function updateTitle(content) { - var elem = self.elements.title; + var elem = elements.title; // Make sure tooltip is rendered and if not, return if(!self.rendered || !content) { return FALSE; } @@ -324,7 +320,7 @@ function QTip(target, options, id, attr) function updateContent(content, reposition) { - var elem = self.elements.content; + var elem = elements.content; // Make sure tooltip is rendered and content is defined. If not return if(!self.rendered || !content) { return FALSE; } @@ -501,8 +497,8 @@ function QTip(target, options, id, attr) targets.show.bind('qtip-'+id+'-inactive', inactiveMethod); // Define events which reset the 'inactive' event handler - $.each($.fn.qtip.inactiveEvents, function(index, type){ - targets.hide.add(self.elements.tooltip).bind(type+namespace+'-inactive', inactiveMethod); + $.each(QTIP.inactiveEvents, function(index, type){ + targets.hide.add(elements.tooltip).bind(type+namespace+'-inactive', inactiveMethod); }); } @@ -564,7 +560,7 @@ function QTip(target, options, id, attr) $doc.bind('mousemove'+namespace, function(event) { // Update the tooltip position only if the tooltip is visible and adjustment is enabled if(posOptions.adjust.mouse && !tooltip.hasClass(disabled) && isVisible()) { - self.reposition(event || $.fn.qtip.mouse); + self.reposition(event || QTIP.mouse); } }); } @@ -578,8 +574,8 @@ function QTip(target, options, id, attr) targets = { show: show ? options.show.target : NULL, hide: hide ? options.hide.target : NULL, - tooltip: tooltip ? self.elements.tooltip : NULL, - content: tooltip ? self.elements.content : NULL, + tooltip: tooltip ? elements.tooltip : NULL, + content: tooltip ? elements.content : NULL, container: doc ? options.position.container[0] === docBody ? document : options.position.container : NULL, window: doc ? window : NULL }; @@ -604,13 +600,13 @@ function QTip(target, options, id, attr) self.checks.builtin = { // Core checks '^id$': function(obj, o, v) { - var id = v === TRUE ? $.fn.qtip.nextid : v, + var id = v === TRUE ? QTIP.nextid : v, tooltipID = uitooltip + '-' + id; if(id !== FALSE && id.length > 0 && !$('#'+tooltipID).length) { tooltip[0].id = tooltipID; - self.elements.content[0].id = tooltipID + '-content'; - self.elements.title[0].id = tooltipID + '-title'; + elements.content[0].id = tooltipID + '-content'; + elements.title[0].id = tooltipID + '-title'; } }, @@ -621,7 +617,7 @@ function QTip(target, options, id, attr) if(!v) { return removeTitle(); } // If title isn't already created, create it now and update - if(!self.elements.title && v) { createTitle(); } + if(!elements.title && v) { createTitle(); } updateTitle(v); }, '^content.title.button$': function(obj, o, v){ updateButton(v); }, @@ -630,7 +626,7 @@ function QTip(target, options, id, attr) '^position.(my|at)$': function(obj, o, v){ // Parse new corner value into Corner objecct if('string' === typeof v) { - obj[o] = new $.fn.qtip.plugins.Corner(v); + obj[o] = new PLUGINS.Corner(v); } }, @@ -670,15 +666,13 @@ function QTip(target, options, id, attr) { if(self.rendered) { return FALSE; } // If tooltip has already been rendered, exit - var elements = self.elements, - content = options.content.text, + var content = options.content.text, title = options.content.title.text, callback = $.Event('tooltiprender'); // Add ARIA attributes to target $.attr(target[0], 'aria-describedby', tooltipID); - // Create tooltip element tooltip = elements.tooltip = $('
') .attr({ @@ -718,7 +712,7 @@ function QTip(target, options, id, attr) setWidget(); // Initialize 'render' plugins - $.each($.fn.qtip.plugins, function() { + $.each(PLUGINS, function() { if(this.initialize === 'render') { this(self); } }); @@ -770,7 +764,7 @@ function QTip(target, options, id, attr) break; case 'offset': - result = $.fn.qtip.plugins.offset(tooltip, options.position.container); + result = PLUGINS.offset(tooltip, options.position.container); break; default: @@ -784,8 +778,7 @@ function QTip(target, options, id, attr) set: function(option, value) { - var elems = self.elements, - rmove = /^position.(my|at|adjust|target|container)|style|content/i, + var rmove = /^position.(my|at|adjust|target|container)|style|content/i, reposition = FALSE, checks = self.checks, name; @@ -952,7 +945,7 @@ function QTip(target, options, id, attr) var qtips = $(selector), curIndex = parseInt(tooltip[0].style.zIndex, 10), - newIndex = $.fn.qtip.zindex + qtips.length, + newIndex = QTIP.zindex + qtips.length, cachedEvent = $.extend({}, event), focusedElem, callback; @@ -1078,7 +1071,7 @@ function QTip(target, options, id, attr) // Use cached event if one isn't available for positioning event = event && (event.type === 'resize' || event.type === 'scroll') ? self.cache.event : - adjust.mouse || !event || !event.pageX ? $.extend({}, $.fn.qtip.mouse) : event; + adjust.mouse || !event || !event.pageX ? $.extend({}, QTIP.mouse) : event; // Use event coordinates for position position = { top: event.pageY, left: event.pageX }; @@ -1111,27 +1104,26 @@ function QTip(target, options, id, attr) } } - // Use Imagemap plugin if target is an AREA element - else if(target.is('area') && $.fn.qtip.plugins.imagemap) { - position = $.fn.qtip.plugins.imagemap(target, at); - targetWidth = position.width; - targetHeight = position.height; - position = position.offset; + // Use Imagemap/SVG plugins if needed + else if(target.is('area') && PLUGINS.imagemap) { + position = PLUGINS.imagemap(target, at); } - - // If it's an SVG use the SVG plugin - else if(target[0].namespaceURI == 'http://www.w3.org/2000/svg' && $.fn.qtip.plugins.svg) { - position = $.fn.qtip.plugins.svg(target, at); - targetWidth = position.width; - targetHeight = position.height; - position = position.offset; + else if(target[0].namespaceURI == 'http://www.w3.org/2000/svg' && PLUGINS.svg) { + position = PLUGINS.svg(target, at); } else { targetWidth = target.outerWidth(); targetHeight = target.outerHeight(); - position = $.fn.qtip.plugins.offset(target, posOptions.container); + position = PLUGINS.offset(target, posOptions.container); + } + + // Parse returned plugin values into proper variables + if(position.width) { + targetWidth = position.width; + targetHeight = position.height; + position = position.offset; } // Adjust position relative to target @@ -1249,7 +1241,7 @@ function QTip(target, options, id, attr) tooltip.remove(); $.each(self.plugins, function() { - if(this.initialize === 'render') { this.destroy(); } + if(this.destroy) { this.destroy(); } }); } @@ -1300,7 +1292,7 @@ function init(id, opts) catch(e) { debug('Unable to parse HTML5 attribute data: ' + html5); } // Merge in and sanitize metadata - config = $.extend(TRUE, {}, $.fn.qtip.defaults, opts, + config = $.extend(TRUE, {}, QTIP.defaults, opts, typeof html5 === 'object' ? sanitizeOptions(html5) : NULL, sanitizeOptions(metadata5 || metadata)); @@ -1330,8 +1322,8 @@ function init(id, opts) if(config.position.viewport === TRUE) { config.position.viewport = posOptions.container; } // Convert position corner values into x and y strings - posOptions.at = new $.fn.qtip.plugins.Corner(posOptions.at); - posOptions.my = new $.fn.qtip.plugins.Corner(posOptions.my); + posOptions.at = new PLUGINS.Corner(posOptions.at); + posOptions.my = new PLUGINS.Corner(posOptions.my); // Destroy previous tooltip if overwrite is enabled, or skip element if not if($.data(this, 'qtip')) { @@ -1360,7 +1352,7 @@ function init(id, opts) } // jQuery $.fn extension method -$.fn.qtip = function(options, notation, newValue) +QTIP = $.fn.qtip = function(options, notation, newValue) { var command = String(options).toLowerCase(), // Parse command returned = NULL, @@ -1409,18 +1401,18 @@ $.fn.qtip = function(options, notation, newValue) opts = sanitizeOptions($.extend(TRUE, {}, options)); // Bind the qTips - return $.fn.qtip.bind.call(this, opts, event); + return QTIP.bind.call(this, opts, event); } }; // $.fn.qtip Bind method -$.fn.qtip.bind = function(opts, event) +QTIP.bind = function(opts, event) { return this.each(function(i) { var options, targets, events, // Find next available ID, or use custom ID if provided - id = (!opts.id || opts.id === FALSE || opts.id.length < 1 || $('#'+uitooltip+'-'+opts.id).length) ? $.fn.qtip.nextid++ : opts.id, + id = (!opts.id || opts.id === FALSE || opts.id.length < 1 || $('#'+uitooltip+'-'+opts.id).length) ? QTIP.nextid++ : opts.id, // Setup events namespace namespace = '.qtip-'+id+'-create', @@ -1431,7 +1423,7 @@ $.fn.qtip.bind = function(opts, event) options = self.options; // Initialize plugins - $.each($.fn.qtip.plugins, function() { + $.each(PLUGINS, function() { if(this.initialize === 'initialize') { this(self); } }); @@ -1559,7 +1551,7 @@ $(window).load(function() { // Cache mousemove events for positioning purposes $(doc).bind('mousemove.qtip', function(event) { - $.fn.qtip.mouse = { pageX: event.pageX, pageY: event.pageY }; + QTIP.mouse = { pageX: event.pageX, pageY: event.pageY }; }); /* @@ -1577,13 +1569,13 @@ $(window).load(function() { }); // Set global qTip properties -$.fn.qtip.version = '2.0.0pre'; -$.fn.qtip.nextid = 0; -$.fn.qtip.inactiveEvents = 'click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' '); -$.fn.qtip.zindex = 15000; +QTIP.version = '2.0.0pre'; +QTIP.nextid = 0; +QTIP.inactiveEvents = 'click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' '); +QTIP.zindex = 15000; // Setup base plugins -$.fn.qtip.plugins = { +PLUGINS = QTIP.plugins = { // Corner object parser Corner: function(corner) { corner = String(corner).replace(/([A-Z])/, ' $1').replace(/middle/gi, 'center').toLowerCase(); @@ -1603,7 +1595,7 @@ $.fn.qtip.plugins = { var pos = elem.offset(), parent = container, deep = 0, - addScroll = !$.fn.qtip.plugins.iOS, + addScroll = !PLUGINS.iOS, coffset; if(parent) { @@ -1638,7 +1630,7 @@ $.fn.qtip.plugins = { }; // Define configuration defaults -$.fn.qtip.defaults = { +QTIP.defaults = { prerender: FALSE, id: FALSE, overwrite: TRUE, @@ -1692,15 +1684,15 @@ $.fn.qtip.defaults = { focus: NULL, blur: NULL } -};function Ajax(qTip) +};function Ajax(api) { var self = this, - tooltip = qTip.elements.tooltip, - opts = qTip.options.content.ajax, + tooltip = api.elements.tooltip, + opts = api.options.content.ajax, namespace = '.qtip-ajax', rscript = /)<[^<]*)*<\/script>/gi; - qTip.checks.ajax = { + api.checks.ajax = { '^content.ajax': function(obj, name) { if(name === 'once') { self.once(); @@ -1757,14 +1749,14 @@ $.fn.qtip.defaults = { } // Set the content - qTip.set('content.text', content); + api.set('content.text', content); } // Error handler - function errorHandler(xh, status, error){ qTip.set('content.text', status + ': ' + error); } + function errorHandler(xh, status, error){ api.set('content.text', status + ': ' + error); } // Setup $.ajax option object and process the request - $.ajax( $.extend({ success: successHandler, error: errorHandler, context: qTip }, opts, { url: url }) ); + $.ajax( $.extend({ success: successHandler, error: errorHandler, context: api }, opts, { url: url }) ); return self; }, @@ -1780,17 +1772,17 @@ $.fn.qtip.defaults = { } -$.fn.qtip.plugins.ajax = function(qTip) +PLUGINS.ajax = function(api) { - var api = qTip.plugins.ajax; + var self = api.plugins.ajax; - return 'object' === typeof api ? api : (qTip.plugins.ajax = new Ajax(qTip)); + return 'object' === typeof self ? self : (api.plugins.ajax = new Ajax(api)); }; -$.fn.qtip.plugins.ajax.initialize = 'render'; +PLUGINS.ajax.initialize = 'render'; // Setup plugin sanitization -$.fn.qtip.plugins.ajax.sanitize = function(options) +PLUGINS.ajax.sanitize = function(options) { var content = options.content, opts; if(content && 'ajax' in content) { @@ -1800,8 +1792,8 @@ $.fn.qtip.plugins.ajax.sanitize = function(options) } }; -// Extend original qTip defaults -$.extend(TRUE, $.fn.qtip.defaults, { +// Extend original api defaults +$.extend(TRUE, QTIP.defaults, { content: { ajax: { once: TRUE @@ -2001,10 +1993,10 @@ function Tip(qTip, command) } else { if(corner === TRUE) { - self.corner = new $.fn.qtip.plugins.Corner(my); + self.corner = new PLUGINS.Corner(my); } else if(!corner.string) { - self.corner = new $.fn.qtip.plugins.Corner(corner); + self.corner = new PLUGINS.Corner(corner); self.corner.fixed = TRUE; } } @@ -2094,7 +2086,7 @@ function Tip(qTip, command) // Otherwise inherit mimic properties from the corner object as necessary else { - mimic = new $.fn.qtip.plugins.Corner(mimic); + mimic = new PLUGINS.Corner(mimic); mimic.precedance = corner.precedance; if(mimic.x === 'inherit') { mimic.x = corner.x; } @@ -2266,18 +2258,18 @@ function Tip(qTip, command) self.init(); } -$.fn.qtip.plugins.tip = function(qTip) +PLUGINS.tip = function(api) { - var api = qTip.plugins.tip; - - return 'object' === typeof api ? api : (qTip.plugins.tip = new Tip(qTip)); + var self = api.plugins.tip; + + return 'object' === typeof self ? self : (api.plugins.tip = new Tip(api)); }; // Initialize tip on render -$.fn.qtip.plugins.tip.initialize = 'render'; +PLUGINS.tip.initialize = 'render'; // Setup plugin sanitization options -$.fn.qtip.plugins.tip.sanitize = function(options) +PLUGINS.tip.sanitize = function(options) { var style = options.style, opts; if(style && 'tip' in style) { @@ -2292,7 +2284,7 @@ $.fn.qtip.plugins.tip.sanitize = function(options) }; // Extend original qTip defaults -$.extend(TRUE, $.fn.qtip.defaults, { +$.extend(TRUE, QTIP.defaults, { style: { tip: { corner: TRUE, @@ -2303,7 +2295,7 @@ $.extend(TRUE, $.fn.qtip.defaults, { offset: 0 } } -});$.fn.qtip.plugins.imagemap = function(area, corner) +});PLUGINS.imagemap = function(area, corner) { var shape = area.attr('shape').toLowerCase(), baseCoords = area.attr('coords').split(','), @@ -2430,7 +2422,7 @@ $.extend(TRUE, $.fn.qtip.defaults, { return result; }; -$.fn.qtip.plugins.svg = function(svg, corner) +PLUGINS.svg = function(svg, corner) { var doc = $(document), elem = svg[0], @@ -2473,11 +2465,11 @@ $.fn.qtip.plugins.svg = function(svg, corner) return result; }; -function Modal(qTip) +function Modal(api) { var self = this, - options = qTip.options.show.modal, - elems = qTip.elements, + options = api.options.show.modal, + elems = api.elements, tooltip = elems.tooltip, selector = '#qtip-overlay', @@ -2485,7 +2477,7 @@ function Modal(qTip) events = 'tooltipshow'+namespace+' tooltiphide'+namespace; // Setup option set checks - qTip.checks.modal = { + api.checks.modal = { '^show.modal.(on|blur)$': function() { // Initialise self.init(); @@ -2516,7 +2508,7 @@ function Modal(qTip) // Hide tooltip on overlay click if enabled and toggle cursor style if(options.blur === TRUE) { - elems.overlay.unbind(namespace+qTip.id).bind('click'+namespace+qTip.id, function(){ qTip.hide.call(qTip); }); + elems.overlay.unbind(namespace+api.id).bind('click'+namespace+api.id, function(){ api.hide.call(api); }); } elems.overlay.css('cursor', options.blur ? 'pointer' : ''); } @@ -2557,7 +2549,7 @@ function Modal(qTip) toggle: function(state) { var overlay = elems.overlay, - effect = qTip.options.show.modal.effect, + effect = api.options.show.modal.effect, type = state ? 'show': 'hide', zindex; @@ -2573,7 +2565,7 @@ function Modal(qTip) // Set z-indx if we're showing it if(state) { zindex = parseInt( $.css(tooltip[0], 'z-index'), 10); - overlay.css('z-index', (zindex || $.fn.qtip.zindex) - 1); + overlay.css('z-index', (zindex || QTIP.zindex) - 1); } // Use custom function if provided @@ -2606,7 +2598,7 @@ function Modal(qTip) var api = $(this).data('qtip'); // If another modal tooltip is present, leave overlay - if(api && api.id !== qTip.id && api.options.show.modal) { + if(api && api.id !== api.id && api.options.show.modal) { return (delBlanket = FALSE); } }); @@ -2617,7 +2609,7 @@ function Modal(qTip) $(window).unbind(namespace); } else { - elems.overlay.unbind(namespace+qTip.id); + elems.overlay.unbind(namespace+api.id); } // Remove bound events @@ -2628,26 +2620,26 @@ function Modal(qTip) self.init(); } -$.fn.qtip.plugins.modal = function(qTip) +PLUGINS.modal = function(api) { - var api = qTip.plugins.modal; + var self = api.plugins.modal; - return 'object' === typeof api ? api : (qTip.plugins.modal = new Modal(qTip)); + return 'object' === typeof self ? self : (api.plugins.modal = new Modal(api)); }; // Plugin needs to be initialized on render -$.fn.qtip.plugins.modal.initialize = 'render'; +PLUGINS.modal.initialize = 'render'; // Setup sanitiztion rules -$.fn.qtip.plugins.modal.sanitize = function(opts) { +PLUGINS.modal.sanitize = function(opts) { if(opts.show) { if(typeof opts.show.modal !== 'object') { opts.show.modal = { on: !!opts.show.modal }; } else if(typeof opts.show.modal.on === 'undefined') { opts.show.modal.on = TRUE; } } }; -// Extend original qTip defaults -$.extend(TRUE, $.fn.qtip.defaults, { +// Extend original api defaults +$.extend(TRUE, QTIP.defaults, { show: { modal: { on: FALSE, @@ -2655,13 +2647,16 @@ $.extend(TRUE, $.fn.qtip.defaults, { blur: TRUE } } -});/* BGIFrame adaption (http://plugins.jquery.com/project/bgiframe) - Special thanks to Brandon Aaron */ -function BGIFrame(qTip) +});/* + * BGIFrame adaption (http://plugins.jquery.com/project/bgiframe) + * Special thanks to Brandon Aaron + */ +function BGIFrame(api) { var self = this, - elems = qTip.elements, + elems = api.elements, tooltip = elems.tooltip, - namespace = '.bgiframe-' + qTip.id, + namespace = '.bgiframe-' + api.id, events = 'tooltipmove'+namespace+' tooltipshow'+namespace; $.extend(self, { @@ -2680,9 +2675,9 @@ function BGIFrame(qTip) adjust: function() { - var dimensions = qTip.get('dimensions'), // Determine current tooltip dimensions - plugin = qTip.plugins.tip, - tip = qTip.elements.tip, + var dimensions = api.get('dimensions'), // Determine current tooltip dimensions + plugin = api.plugins.tip, + tip = api.elements.tip, tipAdjust, offset; // Adjust border offset @@ -2712,28 +2707,20 @@ function BGIFrame(qTip) self.init(); } -$.fn.qtip.plugins.bgiframe = function(qTip) +PLUGINS.bgiframe = function(api) { + var browser = $.browser, + self = api.plugins.bgiframe; + // Proceed only if the browser is IE6 and offending elements are present - if(!($.browser.msie && (/^6\.[0-9]/).test($.browser.version) && $('select, object').length)) { + if(!PLUGINS.bgiframe.needBGI || !(browser.msie && browser.version.charAt(0) === '6')) { return FALSE; } - // Retrieve previous API object - var api = qTip.plugins.bgiframe; - - // An API is already present, - if(api) { - return api; - } - // No API was found, create new instance - else { - qTip.plugins.bgiframe = new BGIFrame(qTip); - return qTip.plugins.bgiframe; - } + return 'object' === typeof self ? self : (api.plugins.bgiframe = new BGIFrame(api)); }; // Plugin needs to be initialized on render -$.fn.qtip.plugins.bgiframe.initialize = 'render'; +PLUGINS.bgiframe.initialize = 'render'; -}(jQuery, window)); \ No newline at end of file +PLUGINS.bgiframe.needBGI = $('select, object').length > 0;}(jQuery, window)); \ No newline at end of file diff --git a/dist/jquery.qtip.min.js b/dist/jquery.qtip.min.js index 38fbc040..590ada2d 100644 --- a/dist/jquery.qtip.min.js +++ b/dist/jquery.qtip.min.js @@ -9,5 +9,5 @@ * http://en.wikipedia.org/wiki/MIT_License * http://en.wikipedia.org/wiki/GNU_General_Public_License * -* Date: Fri Feb 4 23:09:27 2011 +0000 -*/"use strict",function(a,b,c){function w(b){var c=this,d=b.elements,e=d.tooltip,f=".bgiframe-"+b.id,g="tooltipmove"+f+" tooltipshow"+f;a.extend(c,{init:function(){d.bgiframe=a(''),d.bgiframe.appendTo(e),e.bind(g,c.adjust)},adjust:function(){var a=b.get("dimensions"),c=b.plugins.tip,f=b.elements.tip,g,h;h=parseInt(e.css("border-left-width"),10)||0,h={left:-h,top:-h},c&&f&&(g=c.corner.precedance==="x"?["width","left"]:["height","top"],h[g[1]]-=f[g[0]]()),d.bgiframe.css(h).css(a)},destroy:function(){c.iframe.remove(),e.unbind(g)}}),c.init()}function v(c){var f=this,g=c.options.show.modal,h=c.elements,i=h.tooltip,j="#qtip-overlay",k=".qtipmodal",l="tooltipshow"+k+" tooltiphide"+k;c.checks.modal={"^show.modal.(on|blur)$":function(){f.init(),h.overlay.toggle(i.is(":visible"))}},a.extend(f,{init:function(){g.on&&(i.unbind(k).bind(l,function(b,c,d){var e=b.type.replace("tooltip","");a.isFunction(g[e])?g[e].call(h.overlay,d,c):f[e](d)}),f.create(),g.blur===d&&h.overlay.unbind(k+c.id).bind("click"+k+c.id,function(){c.hide.call(c)}),h.overlay.css("cursor",g.blur?"pointer":""))},create:function(){var c=a(j),d;if(c.length){h.overlay=c;return c}d=h.overlay=a("
",{id:j.substr(1),css:{position:"absolute",top:0,left:0,display:"none"},mousedown:function(){return e}}).appendTo(document.body),a(b).bind("resize"+k,function(){d.css({height:Math.max(a(b).height(),a(document).height()),width:Math.max(a(b).width(),a(document).width())})}).trigger("resize");return d},toggle:function(b){var g=h.overlay,j=c.options.show.modal.effect,k=b?"show":"hide",l;g||(g=f.create());if(!g.is(":animated")||b)g.stop(d,e),b&&(l=parseInt(a.css(i[0],"z-index"),10),g.css("z-index",(l||a.fn.qtip.zindex)-1)),a.isFunction(j)?j.call(g,b):j===e?g[k]():g.fadeTo(90,b?.7:0,function(){b||a(this).hide()})},show:function(){f.toggle(d)},hide:function(){f.toggle(e)},destroy:function(){var f=d;a("*").each(function(){var b=a(this).data("qtip");if(b&&b.id!==c.id&&b.options.show.modal)return f=e}),f?(h.overlay.remove(),a(b).unbind(k)):h.overlay.unbind(k+c.id),i.unbind(l)}}),f.init()}function u(b,g){function v(a){var b=a.precedance==="y",c=m[b?"width":"height"],d=m[b?"height":"width"],e=a.string().indexOf("center")>-1,f=c*(e?.5:1),g=Math.pow,h=Math.round,i,j,k,l=Math.sqrt(g(f,2)+g(d,2)),n=[o/f*l,o/d*l];n[2]=Math.sqrt(g(n[0],2)-g(o,2)),n[3]=Math.sqrt(g(n[1],2)-g(o,2)),i=l+n[2]+n[3]+(e?0:n[0]),j=i/l,k=[h(j*d),h(j*c)];return{height:k[b?0:1],width:k[b?1:0]}}function u(b){var c=j.titlebar&&b.y==="top",d=c?j.titlebar:j.content,e=a.browser.mozilla,f=e?"-moz-":a.browser.webkit?"-webkit-":"",g=b.y+(e?"":"-")+b.x,h=f+(e?"border-radius-"+g:"border-"+g+"-radius");return parseInt(d.css(h),10)||parseInt(k.css(h),10)||0}function s(a,b,c){b=b?b:a[a.precedance];var d=j.titlebar&&a.y==="top",e=d?j.titlebar:j.content,f="border-"+b+"-width",g=parseInt(e.css(f),10);return(c?g||parseInt(k.css(f),10):g)||0}function r(b,e,f,g){if(j.tip){var k=a.extend({},h.corner),m=f.adjusted,n;h.corner.fixed!==d&&(m.left&&(k.x=k.x==="center"?m.left>0?"left":"right":k.x==="left"?"right":"left"),m.top&&(k.y=k.y==="center"?m.top>0?"top":"bottom":k.y==="top"?"bottom":"top"),k.string()!==l.corner&&(l.top!==m.top||l.left!==m.left)&&(n=h.update(k))),n||(n=h.position(k,0)),n.right!==c&&(n.left=n.right),n.bottom!==c&&(n.top=n.bottom),n.option=Math.max(0,i.offset),f.left-=n.left.charAt?n.option:(n.right?-1:1)*n.left,f.top-=n.top.charAt?n.option:(n.bottom?-1:1)*n.top,l.left=m.left,l.top=m.top,l.corner=k.string()}}var h=this,i=b.options.style.tip,j=b.elements,k=j.tooltip,l={top:0,left:0,corner:""},m={width:i.width,height:i.height},n={},o=i.border||0,p=".qtip-tip",q=a("")[0].getContext;h.corner=f,h.mimic=f,b.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){h.init()||h.destroy(),b.reposition()},"^style.tip.(height|width)$":function(){m={width:i.width,height:i.height},h.create(),h.update(),b.reposition()},"^content.title.text|style.(classes|widget)$":function(){j.tip&&h.update()}},a.extend(h,{init:function(){var b=h.detectCorner()&&(q||a.browser.msie);b&&(h.create(),h.update(),k.unbind(p).bind("tooltipmove"+p,r));return b},detectCorner:function(){var c=i.corner,f=b.options.position,g=f.at,j=f.my.string?f.my.string():f.my;if(c===e||j===e&&g===e)return e;c===d?h.corner=new a.fn.qtip.plugins.Corner(j):c.string||(h.corner=new a.fn.qtip.plugins.Corner(c),h.corner.fixed=d);return h.corner.string()!=="centercenter"},detectColours:function(){var c=j.tip.css({backgroundColor:"",border:""}),d=h.corner,e=d[d.precedance],f="border-"+e+"-color",g="border"+e.charAt(0)+e.substr(1)+"Color",l=/rgba?\(0, 0, 0(, 0)?\)|transparent/i,o="background-color",p="transparent",q=j.titlebar&&(d.y==="top"||d.y==="center"&&c.position().top+m.height/2+i.offset",{"class":"ui-tooltip-tip"}).css({width:b,height:c}).prependTo(k),q?a("").appendTo(j.tip)[0].getContext("2d").save():(d='',j.tip.html(o?d+=d:d))},update:function(b){var c=j.tip,g=c.children(),k=m.width,l=m.height,p="px solid ",r="px dashed transparent",u=i.mimic,w=Math.round,x,y,z,A,B;b||(b=h.corner),u===e?u=b:(u=new a.fn.qtip.plugins.Corner(u),u.precedance=b.precedance,u.x==="inherit"?u.x=b.x:u.y==="inherit"?u.y=b.y:u.x===u.y&&(u[b.precedance]=b[b.precedance])),x=u.precedance,h.detectColours(),o=n.border==="transparent"||n.border==="#123456"?0:i.border===d?s(b,f,d):i.border,z=t(u,k,l),B=v(b),c.css(B),b.precedance==="y"?A=[w(u.x==="left"?o:u.x==="right"?B.width-k-o:(B.width-k)/2),w(u.y==="top"?B.height-l:0)]:A=[w(u.x==="left"?B.width-k:0),w(u.y==="top"?o:u.y==="bottom"?B.height-l-o:(B.height-l)/2)],q?(g.attr(B),y=g[0].getContext("2d"),y.restore(),y.save(),y.clearRect(0,0,3e3,3e3),y.translate(A[0],A[1]),y.beginPath(),y.moveTo(z[0][0],z[0][1]),y.lineTo(z[1][0],z[1][1]),y.lineTo(z[2][0],z[2][1]),y.closePath(),y.fillStyle=n.fill,y.strokeStyle=n.border,y.lineWidth=o*2,y.lineJoin="miter",y.miterLimit=100,y.stroke(),y.fill()):(z="m"+z[0][0]+","+z[0][1]+" l"+z[1][0]+","+z[1][1]+" "+z[2][0]+","+z[2][1]+" xe",A[2]=o&&/^(r|b)/i.test(b.string())?1:0,g.css({antialias:""+(u.string().indexOf("center")>-1),left:A[0]-A[2]*Number(x==="x"),top:A[1]-A[2]*Number(x==="y"),width:k+o,height:l+o}).each(function(b){var c=a(this);c.attr({coordsize:k+o+" "+(l+o),path:z,fillcolor:n.fill,filled:!!b,stroked:!b}).css({display:o||b?"block":"none"}),!b&&o>0&&c.html()===""&&c.html('')}));return h.position(b,1)},position:function(b,c){var f=j.tip,g={},k=Math.max(0,i.offset),l,m,n;if(i.corner===e||!f)return e;b=b||h.corner,l=b.precedance,m=v(b),n=a.browser.msie&&o&&/^(b|r)/i.test(b.string())?1:0,a.each(l==="y"?[b.x,b.y]:[b.y,b.x],function(a,c){var e,f;c==="center"?(e=l==="y"?"left":"top",g[e]="50%",g["margin-"+e]=-Math.round(m[l==="y"?"width":"height"]/2)+k):(e=s(b,c,d),f=u(b),g[c]=a||!o?s(b,c)+(a?0:f):k+(f>e?f:0))}),g[b[l]]-=m[l==="x"?"width":"height"]+n,c&&f.css({top:"",bottom:"",left:"",right:"",margin:""}).css(g);return g},destroy:function(){j.tip&&j.tip.remove(),k.unbind(p)}}),h.init()}function t(a,b,c){var d=Math.ceil(b/2),e=Math.ceil(c/2),f={bottomright:[[0,0],[b,c],[b,0]],bottomleft:[[0,0],[b,0],[0,c]],topright:[[0,c],[b,0],[b,c]],topleft:[[0,0],[0,c],[b,c]],topcenter:[[0,c],[d,0],[b,c]],bottomcenter:[[0,0],[b,0],[d,c]],rightcenter:[[0,0],[b,e],[0,c]],leftcenter:[[b,0],[b,c],[0,e]]};f.lefttop=f.bottomright,f.righttop=f.bottomleft,f.leftbottom=f.topright,f.rightbottom=f.topleft;return f[a.string()]}function s(b){var c=this,d=b.elements.tooltip,e=b.options.content.ajax,f=".qtip-ajax",g=/)<[^<]*)*<\/script>/gi;b.checks.ajax={"^content.ajax":function(a,b){b==="once"?c.once():e&&e.url&&c.load()}},a.extend(c,{init:function(){e&&e.url&&(c.load(),d.one("tooltipshow",c.once))},once:function(){e.once?c.destroy():d.bind("tooltipshow"+f,c.load)},load:function(){function j(a,c,d){b.set("content.text",c+": "+d)}function i(c){h&&(c=a("
").append(c.replace(g,"")).find(h)),b.set("content.text",c)}var d=e.url.indexOf(" "),f=e.url,h;d>-1&&(h=f.substr(d),f=f.substr(0,d)),a.ajax(a.extend({success:i,error:j,context:b},e,{url:f}));return c},destroy:function(){d.unbind(f)}}),c.init()}function r(b,c){var g,h,i,j,k=a(this),l=a(document.body),m=this===document?l:k,r=k.metadata?k.metadata(c.metadata):f,s=c.metadata.type==="html5"&&r?r[c.metadata.name]:f,t=k.data(c.metadata.name||"qtipopts");try{t=typeof t==="string"?(new Function("return "+t))():t}catch(u){o("Unable to parse HTML5 attribute data: "+t)}j=a.extend(d,{},a.fn.qtip.defaults,c,typeof t==="object"?p(t):f,p(s||r)),r&&a.removeData(this,"metadata"),h=j.position,j.id=b;if("boolean"===typeof j.content.text){i=k.attr(j.content.attr);if(j.content.attr!==e&&i)j.content.text=i;else return e}h.container===e&&(h.container=l),h.target===e&&(h.target=m),j.show.target===e&&(j.show.target=m),j.hide.target===e&&(j.hide.target=m),j.position.viewport===d&&(j.position.viewport=h.container),h.at=new a.fn.qtip.plugins.Corner(h.at),h.my=new a.fn.qtip.plugins.Corner(h.my);if(a.data(this,"qtip"))if(j.overwrite)k.qtip("destroy");else if(j.overwrite===e)return e;a.attr(this,"title")&&(a.data(this,n,a.attr(this,"title")),k.removeAttr("title")),g=new q(k,j,b,!!i),a.data(this,"qtip",g),k.bind("remove.qtip",function(){g.destroy()});return g}function q(m,o,q,r){function H(c,d,e,g){g=parseInt(g,10)!==0;var h=".qtip-"+q,i={show:c?o.show.target:f,hide:d?o.hide.target:f,tooltip:e?s.elements.tooltip:f,content:e?s.elements.content:f,container:g?o.position.container[0]===t?document:o.position.container:f,window:g?b:f};s.rendered?a([]).pushStack(a.grep([i.show,i.hide,i.tooltip,i.container,i.content,i.window],function(){return this!==null})).unbind(h):c&&i.show.unbind(h+"-create")}function G(c,d,f,g){function z(a){y()&&s.reposition(a)}function x(a){if(w.hasClass(i))return e;clearTimeout(s.timers.inactive),s.timers.inactive=setTimeout(function(){s.hide(a)},o.hide.inactive)}function v(b){if(w.hasClass(i))return e;var c=a(b.relatedTarget||b.target),d=c.closest(j)[0]===w[0],f=c[0]===l.show[0];clearTimeout(s.timers.show),clearTimeout(s.timers.hide);if(k.target==="mouse"&&d||o.hide.fixed&&(/mouse(out|leave|move)/.test(b.type)&&(d||f))){b.stopPropagation(),b.preventDefault();return e}w.stop(1,1),o.hide.delay>0?s.timers.hide=setTimeout(function(){s.hide(b)},o.hide.delay):s.hide(b)}function u(a){if(w.hasClass(i))return e;l.show.trigger("qtip-"+q+"-inactive"),clearTimeout(s.timers.show),clearTimeout(s.timers.hide);var b=function(){s.show(a)};o.show.delay>0?s.timers.show=setTimeout(b,o.show.delay):b()}var h=".qtip-"+q,k=o.position,l={show:o.show.target,hide:o.hide.target,container:k.container[0]===t?document:k.container},n={show:String(o.show.event).split(" "),hide:String(o.hide.event).split(" ")},p=a(document),r=a.browser.msie&&parseInt(a.browser.version,10)===6;f&&(o.hide.fixed&&(l.hide=l.hide.add(w),w.bind("mouseover"+h,function(){w.hasClass(i)||clearTimeout(s.timers.hide)})),w.bind("mouseenter"+h+" mouseleave"+h,function(a){s[a.type==="mouseenter"?"focus":"blur"](a)})),d&&("number"===typeof o.hide.inactive&&(l.show.bind("qtip-"+q+"-inactive",x),a.each(a.fn.qtip.inactiveEvents,function(a,b){l.hide.add(s.elements.tooltip).bind(b+h+"-inactive",x)})),a.each(n.hide,function(b,c){var d=a.inArray(c,n.show),e=a(l.hide);d>-1&&e.add(l.show).length===e.length||c==="unfocus"?(l.show.bind(c+h,function(a){y()?v(a):u(a)}),delete n.show[d]):l.hide.bind(c+h,v)})),c&&a.each(n.show,function(a,b){l.show.bind(b+h,u)}),g&&((k.adjust.resize||k.viewport)&&a(a.event.special.resize?k.viewport:b).bind("resize"+h,z),(k.viewport||r&&w.css("position")==="fixed")&&a(k.viewport).bind("scroll"+h,z),/unfocus/i.test(o.hide.event)&&p.bind("mousedown"+h,function(b){var c=a(b.target);c.parents(j).length===0&&c.add(m).length>1&&y()&&!w.hasClass(i)&&s.hide(b)}),k.target==="mouse"&&p.bind("mousemove"+h,function(b){k.adjust.mouse&&!w.hasClass(i)&&y()&&s.reposition(b||a.fn.qtip.mouse)}))}function F(b,c){var f=s.elements.content;if(!s.rendered||!b)return e;a.isFunction(b)&&(b=b.call(m,s)||""),b.jquery&&b.length>0?f.empty().append(b.css({display:"block"})):f.html(b),w.queue("fx",function(b){function e(a){c=c.not(a),c.length===0&&(s.redraw(),s.rendered&&y()&&s.reposition(s.cache.event),b())}var c=f.find("img:not([height]):not([width])");c.each(function(b,c){var f=["abort","error","load","unload",""].join(".qtip-image ");a(this).bind(f,function(){clearTimeout(s.timers.img[b]),e(this)}),function g(){if(c.height&&c.width)return e(c);s.timers.img[b]=setTimeout(g,20)}();return d}),c.length===0&&e(c)});return s}function E(b){var c=s.elements.title;if(!s.rendered||!b)return e;a.isFunction(b)&&(b=b.call(m,s)||""),b.jquery&&b.length>0?c.empty().append(b.css({display:"block"})):c.html(b),s.redraw(),s.rendered&&y()&&s.reposition(s.cache.event)}function D(a){var b=s.elements.button,c=s.elements.title;if(!s.rendered)return e;a?(c||C(),B()):b.remove()}function C(){var b=s.elements,c=u+"-title";b.titlebar&&A(),b.titlebar=a("
",{"class":g+"-titlebar "+(o.style.widget?"ui-widget-header":"")}).append(b.title=a("
",{id:c,"class":g+"-title","aria-atomic":d})).insertBefore(b.content),o.content.title.button?B():s.rendered&&s.redraw()}function B(){var b=s.elements,c=o.content.title.button;b.button&&b.button.remove(),c.jquery?b.button=c:b.button=a("",{"class":"ui-state-default "+(o.style.widget?"":g+"-icon"),title:"Close tooltip","aria-label":"Close tooltip"}).prepend(a("",{"class":"ui-icon ui-icon-close",html:"×"})),b.button.appendTo(b.titlebar).attr("role","button").hover(function(b){a(this).toggleClass("ui-state-hover",b.type==="mouseenter")}).click(function(a){w.hasClass(i)||s.hide(a);return e}).bind("mousedown keydown mouseup keyup mouseout",function(b){a(this).toggleClass("ui-state-active ui-state-focus",b.type.substr(-4)==="down")}),s.redraw()}function A(){var a=s.elements;a.title&&(a.titlebar.remove(),a.titlebar=a.title=a.button=f,s.reposition())}function z(){var a=s.elements,b=o.style.widget;w.toggleClass(h,b),a.content.toggleClass(h+"-content",b),a.titlebar&&a.titlebar.toggleClass(h+"-header",b),a.button&&a.button.toggleClass(g+"-icon",!b)}function y(){return w&&w.css("left")!==l&&w.css("visibility")!=="hidden"}function x(a){var b,d,e=a.split("."),f=o[e[0]];for(b=1;b0&&!a("#"+i).length&&(w[0].id=i,s.elements.content[0].id=i+"-content",s.elements.title[0].id=i+"-title")},"^content.text$":function(a,b,c){F(c)},"^content.title.text$":function(a,b,c){if(!c)return A();!s.elements.title&&c&&C(),E(c)},"^content.title.button$":function(a,b,c){D(c)},"^position.(my|at)$":function(b,c,d){"string"===typeof d&&(b[c]=new a.fn.qtip.plugins.Corner(d))},"^position.container$":function(a,b,c){s.rendered&&w.appendTo(c)},"^(show|hide).(event|target|fixed|delay|inactive)$":function(a,b,c,d){var e=b.search(/fixed/i)>-1?[0,[0,1,1,1]]:[b.substr(0,3),b.charAt(0)==="s"?[1,0,0,0]:[0,1,0,0]];e[0]&&(a[b]=d),H.apply(s,e[1]),e[0]&&(a[b]=c),G.apply(s,e[1])},"^show.ready$":function(){s.rendered||s.show()},"^style.classes$":function(b,c,d){a.attr(w[0],"class",g+" qtip ui-helper-reset "+d)},"^style.widget|content.title":z,"^events.(render|show|move|hide|focus|blur)$":function(b,c,d){w[(a.isFunction(d)?"":"un")+"bind"]("tooltip"+c,d)}},a.extend(s,{render:function(b){if(s.rendered)return e;var c=s.elements,f=o.content.text,h=o.content.title.text,j=a.Event("tooltiprender");a.attr(m[0],"aria-describedby",u),w=c.tooltip=a("
").attr({id:u,"class":g+" qtip ui-helper-reset "+o.style.classes,role:"alert","aria-live":"polite","aria-atomic":e,"aria-describedby":u+"-content","aria-hidden":d}).toggleClass(i,s.cache.disabled).data("qtip",s).appendTo(o.position.container).append(c.content=a("
",{"class":g+"-content",id:u+"-content","aria-atomic":d})),s.rendered=d,h&&(C(),E(h)),F(f),z(),a.each(a.fn.qtip.plugins,function(){this.initialize==="render"&&this(s)}),G(1,1,1,1),a.each(o.events,function(a,b){if(b){var c=a==="toggle"?"tooltipshow tooltiphide":"tooltip"+a;w.bind(c,b)}}),w.css("visibility","hidden").queue("fx",function(a){j.originalEvent=s.cache.event,w.trigger(j,[s]),(o.show.ready||b)&&s.show(s.cache.event),a()});return s},get:function(b){var c,d;switch(b.toLowerCase()){case"dimensions":c={height:w.outerHeight(),width:w.outerWidth()};break;case"offset":c=a.fn.qtip.plugins.offset(w,o.position.container);break;default:d=x(b.toLowerCase()),c=d[0].precedance?d[0].string():d[0].jquery?d[0]:d[0][d[1]]}return c},set:function(b,c){function k(b,c){b=b.toLowerCase();var e=x(b),f,g,h;f=e[0][e[1]],e[0][e[1]]=c.nodeType?a(c):c;if(s.rendered)for(g in i)for(h in i[g])(new RegExp(h,"i")).test(b)&&i[g][h].call(s,e[0],e[1],c,f);else b==="show.ready"&&s.render(d)}var f=s.elements,g=/^position.(my|at|adjust|target|container)|style|content/i,h=e,i=s.checks,j;"string"===typeof b&&(j=b,b={},b[j]=c),v=1;for(j in b)k(j,b[j]),h=g.test(j)||h;v=0,h&&y()&&s.rendered&&s.reposition(),p(o);return s},toggle:function(b,c){function k(){b?a.browser.msie&&w[0].style.removeAttribute("filter"):w.css({display:"",visibility:"hidden",width:"",opacity:"",left:"",top:""})}if(!s.rendered)if(b)s.render(1);else return e;var d=b?"show":"hide",g=o[d],h=y(),i;(typeof b).search("boolean|number")&&(b=!h);if(h===b)return s;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(s.cache.event.type)&&c.target===o.show.target[0]&&w.has(c.relatedTarget).length)return s;s.cache.event=a.extend({},c)}i=a.Event("tooltip"+d),i.originalEvent=c?s.cache.event:f,w.trigger(i,[s,90]);if(i.isDefaultPrevented())return s;a.attr(w[0],"aria-hidden",!b),b?(w.hide().css({visibility:""}),s.focus(c),s.reposition(c,0),g.solo&&a(j).not(w).qtip("hide",i)):(clearTimeout(s.timers.show),s.blur(c)),w.stop(1,1),a.isFunction(g.effect)?(g.effect.call(w,s),w.queue("fx",function(a){k.call(this,a),a()})):g.effect===e?(w[d](),k.call(w)):w.fadeTo(90,b?1:0,k),b&&g.target.trigger("qtip-"+q+"-inactive");return s},show:function(a){s.toggle(d,a)},hide:function(a){s.toggle(e,a)},focus:function(b){if(!s.rendered)return e;var c=a(j),d=parseInt(w[0].style.zIndex,10),f=a.fn.qtip.zindex+c.length,g=a.extend({},b),h,i;w.hasClass(k)||(d!==f&&(c.each(function(){this.style.zIndex>d&&(this.style.zIndex=this.style.zIndex-1)}),c.filter("."+k).qtip("blur",g)),i=a.Event("tooltipfocus"),i.originalEvent=g,w.trigger(i,[s,f]),i.isDefaultPrevented()||(w.addClass(k)[0].style.zIndex=f));return s},blur:function(b){var c=a.extend({},b),d;w.removeClass(k),d=a.Event("tooltipblur"),d.originalEvent=c,w.trigger(d,[s])},reposition:function(f,h){if(!s.rendered||v)return e;v=d;var i=o.position.target,j=o.position,k=j.my,l=j.at,m=j.adjust,n=w.outerWidth(),p=w.outerHeight(),q=0,r=0,u=a.Event("tooltipmove"),x=w.css("position")==="fixed",z=j.viewport.jquery?j.viewport:a(b),A={left:0,top:0},B={left:function(a){var b=z.scrollLeft,c=k.x==="left"?n:k.x==="right"?-n:-n/2,d=l.x==="left"?q:l.x==="right"?-q:-q/2,e=b-a,f=a+n-z.width-b,g=c-(k.precedance==="x"||k.x===k.y?d:0);e>0&&(k.x!=="left"||f>0)?A.left-=g:f>0&&(k.x!=="right"||e>0)&&(A.left-=(k.x==="center"?-1:1)*g+2*m.x),A.left<0&&-A.left>f&&(A.left=a);return A.left-a},top:function(a){var b=z.scrollTop,c=k.y==="top"?p:k.y==="bottom"?-p:-p/2,d=l.y==="top"?r:l.y==="bottom"?-r:-r/2,e=b-a,f=a+p-z.height-b,g=c-(k.precedance==="y"||k.x===k.y?d:0);e>0&&(k.y!=="top"||f>0)?A.top-=g:f>0&&(k.y!=="bottom"||e>0)&&(A.top-=(k.y==="center"?-1:1)*g+2*m.y),A.top<0&&-A.top>f&&(A.top=a);return A.top-a}};h=h===c||!!h||e,z=z?{elem:z,height:z[(z[0]===b?"h":"outerH")+"eight"](),width:z[(z[0]===b?"w":"outerW")+"idth"](),scrollLeft:z.scrollLeft(),scrollTop:z.scrollTop()}:e;if(i==="mouse")l={x:"left",y:"top"},f=f&&(f.type==="resize"||f.type==="scroll")?s.cache.event:m.mouse||!f||!f.pageX?a.extend({},a.fn.qtip.mouse):f,A={top:f.pageY,left:f.pageX};else{i==="event"&&(f&&f.target&&f.type!=="scroll"&&f.type!=="resize"?i=s.cache.target=a(f.target):i=s.cache.target),i=a(i).eq(0);if(i.length===0)return s;i[0]===document||i[0]===b?(q=i.width(),r=i.height(),i[0]===b&&(A={top:x?0:z.scrollTop,left:x?0:z.scrollLeft})):i.is("area")&&a.fn.qtip.plugins.imagemap?(A=a.fn.qtip.plugins.imagemap(i,l),q=A.width,r=A.height,A=A.offset):i[0].namespaceURI=="http://www.w3.org/2000/svg"&&a.fn.qtip.plugins.svg?(A=a.fn.qtip.plugins.svg(i,l),q=A.width,r=A.height,A=A.offset):(q=i.outerWidth(),r=i.outerHeight(),A=a.fn.qtip.plugins.offset(i,j.container)),A.left+=l.x==="right"?q:l.x==="center"?q/2:0,A.top+=l.y==="bottom"?r:l.y==="center"?r/2:0}A.left+=m.x+(k.x==="right"?-n:k.x==="center"?-n/2:0),A.top+=m.y+(k.y==="bottom"?-p:k.y==="center"?-p/2:0),j.viewport.jquery&&i[0]!==b&&i[0]!==t?A.adjusted={left:B.left(A.left),top:B.top(A.top)}:A.adjusted={left:0,top:0},w.attr("class",function(b,c){return a.attr(this,"class").replace(/ui-tooltip-pos-\w+/i,"")}).addClass(g+"-pos-"+k.abbreviation()),u.originalEvent=a.extend({},f),w.trigger(u,[s,A,z.elem]);if(u.isDefaultPrevented())return s;delete A.adjusted,h&&isNaN(A.left,A.top)?y()&&a.isFunction(j.effect)&&(j.effect.call(w,s,A),w.queue(function(b){var c=a(this);c.css({opacity:"",height:""}),a.browser.msie&&this.style&&this.style.removeAttribute("filter"),b()})):w.css(A),v=e;return s},redraw:function(){if(!s.rendered||(!a.browser.msie||a.browser.version>=8))return e;var b=g+"-fluid",c;w.css({width:"auto",height:"auto"}).addClass(b),c={height:w.outerHeight(),width:w.outerWidth()},a.each(["width","height"],function(a,b){var d=parseInt(w.css("max-"+b),10)||0,e=parseInt(w.css("min-"+b),10)||0;c[b]=d+e?Math.min(Math.max(c[b],e),d):c[b]}),w.css(c).removeClass(b)},enable:function(){s.disable(d)},disable:function(b){var c=i;"boolean"!==typeof b&&(b=!w.hasClass(c)&&!s.cache.disabled),s.rendered?(w.toggleClass(c,b),a.attr(w[0],"aria-disabled",b)):s.cache.disabled=!!b;return s},destroy:function(){var b=m[0],c=a.data(b,n);s.rendered&&(w.remove(),a.each(s.plugins,function(){this.initialize==="render"&&this.destroy()})),clearTimeout(s.timers.show),clearTimeout(s.timers.hide),H(1,1,1,1),a.removeData(b,"qtip"),c&&a.attr(b,"title",c),m.removeAttr("aria-describedby");return m}})}function p(b){var c;if(!b||"object"!==typeof b)return e;"object"!==typeof b.metadata&&(b.metadata={type:b.metadata});if("content"in b){if("object"!==typeof b.content||b.content.jquery)b.content={text:b.content};c=b.content.text||e,!a.isFunction(c)&&(!c&&!c.attr||c.length<1||"object"===typeof c&&!c.jquery)&&(b.content.text=e),"title"in b.content&&("object"!==typeof b.content.title&&(b.content.title={text:b.content.title}),c=b.content.title.text||e,!a.isFunction(c)&&(!c&&!c.attr||c.length<1||"object"===typeof c&&!c.jquery)&&(b.content.title.text=e))}"position"in b&&("object"!==typeof b.position&&(b.position={my:b.position,at:b.position})),"show"in b&&("object"!==typeof b.show&&(b.show.jquery?b.show={target:b.show}:b.show={event:b.show})),"hide"in b&&("object"!==typeof b.hide&&(b.hide.jquery?b.hide={target:b.hide}:b.hide={event:b.hide})),"style"in b&&("object"!==typeof b.style&&(b.style={classes:b.style})),a.each(a.fn.qtip.plugins,function(){this.sanitize&&this.sanitize(b)});return b}function o(){var c=b.console;return c&&(c.error||c.log||a.noop).apply(c,arguments)}var d=!0,e=!1,f=null,g="ui-tooltip",h="ui-widget",i="ui-state-disabled",j="div.qtip."+g,k=g+"-focus",l="-31000px",m="_replacedByqTip",n="oldtitle";a.fn.qtip=function(b,e,g){var h=String(b).toLowerCase(),i=f,j=h==="disable"?[d]:a.makeArray(arguments).slice(1,10),k=j[j.length-1],l=this[0]?a.data(this[0],"qtip"):f;if(!arguments.length&&l||h==="api")return l;if("string"===typeof b){this.each(function(){var b=a.data(this,"qtip");if(!b)return d;k&&k.timeStamp&&(b.cache.event=k),/option|set/.test(h)&&e?a.isPlainObject(e)||g!==c?b.set(e,g):i=b.get(e):b[h]&&b[h].apply(b[h],j)});return i!==f?i:this}if("object"===typeof b||!arguments.length){l=p(a.extend(d,{},b));return a.fn.qtip.bind.call(this,l,k)}},a.fn.qtip.bind=function(b,c){return this.each(function(f){function n(b){function c(){m.render(typeof b==="object"||h.show.ready),i.show.unbind(j.show),i.hide.unbind(j.hide)}if(m.cache.disabled)return e;m.cache.event=a.extend({},b),h.show.delay>0?(clearTimeout(m.timers.show),m.timers.show=setTimeout(c,h.show.delay),j.show!==j.hide&&i.hide.bind(j.hide,function(){clearTimeout(m.timers.show)})):c()}var h,i,j,k=!b.id||b.id===e||b.id.length<1||a("#"+g+"-"+b.id).length?a.fn.qtip.nextid++:b.id,l=".qtip-"+k+"-create",m=r.call(this,k,b);if(m===e)return d;h=m.options,a.each(a.fn.qtip.plugins,function(){this.initialize==="initialize"&&this(m)}),i={show:h.show.target,hide:h.hide.target},j={show:String(h.show.event).replace(" ",l+" ")+l,hide:String(h.hide.event).replace(" ",l+" ")+l},i.show.bind(j.show,n),(h.show.ready||h.prerender)&&n(c)})},a.each({attr:function(b,c){if(this.length){var d=this[0],e="title",f=a.data(d,"qtip");if(b===e){if(arguments.length<2)return a.data(d,n);if(typeof f==="object"){f&&f.rendered&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",c),a.fn["attr"+m].apply(this,arguments),a.data(d,n,a.attr(d,e));return this.removeAttr("title")}}}},clone:function(b){var c=a([]),d;a("*",this).add(this).each(function(){var b=a.data(this,n);b&&(a.attr(this,"title",b),c=c.add(this))}),d=a.fn["clone"+m].apply(this,arguments),c.removeAttr("title");return d},remove:a.ui?f:function(b,c){a(this).each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add(this).each(function(){a(this).triggerHandler("remove")})})}},function(b,c){if(!c)return d;var e=a.fn[b+m]=a.fn[b];a.fn[b]=function(){return c.apply(this,arguments)||e.apply(this,arguments)}}),a(b).load(function(){var b=document,d=b.body;a(b).bind("mousemove.qtip",function(b){a.fn.qtip.mouse={pageX:b.pageX,pageY:b.pageY}}),b.activeElement===c&&b.addEventListener("focus",function(a){a&&a.target&&(b.activeElement=a.target===b?d:a.target)},!0)}),a.fn.qtip.version="2.0.0pre",a.fn.qtip.nextid=0,a.fn.qtip.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),a.fn.qtip.zindex=15e3,a.fn.qtip.plugins={Corner:function(a){a=String(a).replace(/([A-Z])/," $1").replace(/middle/gi,"center").toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.precedance=a.charAt(0).search(/^(t|b)/)>-1?"y":"x",this.string=function(){return this.precedance==="y"?this.y+this.x:this.x+this.y},this.abbreviation=function(){var a=this.x.substr(0,1),b=this.y.substr(0,1);return a===b?a:a==="c"||a!=="c"&&b!=="c"?b+a:a+b}},offset:function(b,c){var d=b.offset(),e=c,f=0,g=!a.fn.qtip.plugins.iOS,h;if(e){do{if(e[0]===document.body)break;e.css("position")!=="static"&&(h=e.position(),d.left-=h.left,d.top-=h.top,f++)}while(e=e.offsetParent());if(!g||f>1)h=g?1:-1,d.left+=h*c.scrollLeft(),d.top+=h*c.scrollTop()}return d},iOS:parseFloat((/CPU.+OS ([0-9_]{3}).*AppleWebkit.*Mobile/i.exec(navigator.userAgent)||[0,"4_2"])[1].replace("_","."))<4.1},a.fn.qtip.defaults={prerender:e,id:e,overwrite:d,content:{text:d,attr:"title",title:{text:e,button:e}},position:{my:"top left",at:"bottom right",target:e,container:e,viewport:e,adjust:{x:0,y:0,mouse:d,resize:d},effect:d},show:{target:e,event:"mouseenter",effect:d,delay:90,solo:e,ready:e},hide:{target:e,event:"mouseleave",effect:d,delay:0,fixed:e,inactive:e},style:{classes:"",widget:e},events:{render:f,move:f,show:f,hide:f,toggle:f,focus:f,blur:f}},a.fn.qtip.plugins.ajax=function(a){var b=a.plugins.ajax;return"object"===typeof b?b:a.plugins.ajax=new s(a)},a.fn.qtip.plugins.ajax.initialize="render",a.fn.qtip.plugins.ajax.sanitize=function(a){var b=a.content,c;b&&"ajax"in b&&(c=b.ajax,typeof c!=="object"&&(c=a.content.ajax={url:c}),"boolean"!==typeof c.once&&c.once&&(c.once=!!c.once))},a.extend(d,a.fn.qtip.defaults,{content:{ajax:{once:d}}}),a.fn.qtip.plugins.tip=function(a){var b=a.plugins.tip;return"object"===typeof b?b:a.plugins.tip=new u(a)},a.fn.qtip.plugins.tip.initialize="render",a.fn.qtip.plugins.tip.sanitize=function(a){var b=a.style,c;b&&"tip"in b&&(c=a.style.tip,typeof c!=="object"&&(a.style.tip={corner:c}),/string|boolean/i.test(typeof c.corner)||(c.corner=d),typeof c.width!=="number"&&delete c.width,typeof c.height!=="number"&&delete c.height,typeof c.border!=="number"&&c.border!==d&&delete c.border,typeof c.offset!=="number"&&delete c.offset)},a.extend(d,a.fn.qtip.defaults,{style:{tip:{corner:d,mimic:e,width:6,height:6,border:d,offset:0}}}),a.fn.qtip.plugins.imagemap=function(b,c){function l(a,b){var d=0,e=1,f=1,g=0,h=0,i=a.width,j=a.height;while(i>0&&j>0&&e>0&&f>0){i=Math.floor(i/2),j=Math.floor(j/2),c.x==="left"?e=i:c.x==="right"?e=a.width-i:e+=Math.floor(i/2),c.y==="top"?f=j:c.y==="bottom"?f=a.height-j:f+=Math.floor(j/2),d=b.length;while(d--){if(b.length<2)break;g=b[d][0]-a.offset.left,h=b[d][1]-a.offset.top,(c.x==="left"&&g>=e||c.x==="right"&&g<=e||c.x==="center"&&(ga.width-e)||c.y==="top"&&h>=f||c.y==="bottom"&&h<=f||c.y==="center"&&(ha.height-f))&&b.splice(d,1)}}return{left:b[0][0],top:b[0][1]}}var d=b.attr("shape").toLowerCase(),e=b.attr("coords").split(","),f=[],g=a('img[usemap="#'+b.parent("map").attr("name")+'"]'),h=g.offset(),i={width:0,height:0,offset:{top:1e10,right:0,bottom:0,left:1e10}},j=0,k=0;h.left+=Math.ceil((g.outerWidth()-g.width())/2),h.top+=Math.ceil((g.outerHeight()-g.height())/2);if(d==="poly"){j=e.length;while(j--)k=[parseInt(e[--j],10),parseInt(e[j+1],10)],k[0]>i.offset.right&&(i.offset.right=k[0]),k[0]i.offset.bottom&&(i.offset.bottom=k[1]),k[1]'),d.bgiframe.appendTo(e),e.bind(g,c.adjust)},adjust:function(){var a=b.get("dimensions"),c=b.plugins.tip,f=b.elements.tip,g,h;h=parseInt(e.css("border-left-width"),10)||0,h={left:-h,top:-h},c&&f&&(g=c.corner.precedance==="x"?["width","left"]:["height","top"],h[g[1]]-=f[g[0]]()),d.bgiframe.css(h).css(a)},destroy:function(){c.iframe.remove(),e.unbind(g)}}),c.init()}function x(c){var f=this,h=c.options.show.modal,i=c.elements,j=i.tooltip,k="#qtip-overlay",l=".qtipmodal",m="tooltipshow"+l+" tooltiphide"+l;c.checks.modal={"^show.modal.(on|blur)$":function(){f.init(),i.overlay.toggle(j.is(":visible"))}},a.extend(f,{init:function(){h.on&&(j.unbind(l).bind(m,function(b,c,d){var e=b.type.replace("tooltip","");a.isFunction(h[e])?h[e].call(i.overlay,d,c):f[e](d)}),f.create(),h.blur===d&&i.overlay.unbind(l+c.id).bind("click"+l+c.id,function(){c.hide.call(c)}),i.overlay.css("cursor",h.blur?"pointer":""))},create:function(){var c=a(k),d;if(c.length){i.overlay=c;return c}d=i.overlay=a("
",{id:k.substr(1),css:{position:"absolute",top:0,left:0,display:"none"},mousedown:function(){return e}}).appendTo(document.body),a(b).bind("resize"+l,function(){d.css({height:Math.max(a(b).height(),a(document).height()),width:Math.max(a(b).width(),a(document).width())})}).trigger("resize");return d},toggle:function(b){var h=i.overlay,k=c.options.show.modal.effect,l=b?"show":"hide",m;h||(h=f.create());if(!h.is(":animated")||b)h.stop(d,e),b&&(m=parseInt(a.css(j[0],"z-index"),10),h.css("z-index",(m||g.zindex)-1)),a.isFunction(k)?k.call(h,b):k===e?h[l]():h.fadeTo(90,b?.7:0,function(){b||a(this).hide()})},show:function(){f.toggle(d)},hide:function(){f.toggle(e)},destroy:function(){var f=d;a("*").each(function(){var b=a(this).data("qtip");if(b&&b.id!==b.id&&b.options.show.modal)return f=e}),f?(i.overlay.remove(),a(b).unbind(l)):i.overlay.unbind(l+c.id),j.unbind(m)}}),f.init()}function w(b,g){function w(a){var b=a.precedance==="y",c=n[b?"width":"height"],d=n[b?"height":"width"],e=a.string().indexOf("center")>-1,f=c*(e?.5:1),g=Math.pow,h=Math.round,i,j,k,l=Math.sqrt(g(f,2)+g(d,2)),m=[p/f*l,p/d*l];m[2]=Math.sqrt(g(m[0],2)-g(p,2)),m[3]=Math.sqrt(g(m[1],2)-g(p,2)),i=l+m[2]+m[3]+(e?0:m[0]),j=i/l,k=[h(j*d),h(j*c)];return{height:k[b?0:1],width:k[b?1:0]}}function u(b){var c=k.titlebar&&b.y==="top",d=c?k.titlebar:k.content,e=a.browser.mozilla,f=e?"-moz-":a.browser.webkit?"-webkit-":"",g=b.y+(e?"":"-")+b.x,h=f+(e?"border-radius-"+g:"border-"+g+"-radius");return parseInt(d.css(h),10)||parseInt(l.css(h),10)||0}function t(a,b,c){b=b?b:a[a.precedance];var d=k.titlebar&&a.y==="top",e=d?k.titlebar:k.content,f="border-"+b+"-width",g=parseInt(e.css(f),10);return(c?g||parseInt(l.css(f),10):g)||0}function s(b,e,f,g){if(k.tip){var h=a.extend({},i.corner),l=f.adjusted,n;i.corner.fixed!==d&&(l.left&&(h.x=h.x==="center"?l.left>0?"left":"right":h.x==="left"?"right":"left"),l.top&&(h.y=h.y==="center"?l.top>0?"top":"bottom":h.y==="top"?"bottom":"top"),h.string()!==m.corner&&(m.top!==l.top||m.left!==l.left)&&(n=i.update(h))),n||(n=i.position(h,0)),n.right!==c&&(n.left=n.right),n.bottom!==c&&(n.top=n.bottom),n.option=Math.max(0,j.offset),f.left-=n.left.charAt?n.option:(n.right?-1:1)*n.left,f.top-=n.top.charAt?n.option:(n.bottom?-1:1)*n.top,m.left=l.left,m.top=l.top,m.corner=h.string()}}var i=this,j=b.options.style.tip,k=b.elements,l=k.tooltip,m={top:0,left:0,corner:""},n={width:j.width,height:j.height},o={},p=j.border||0,q=".qtip-tip",r=a("")[0].getContext;i.corner=f,i.mimic=f,b.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){i.init()||i.destroy(),b.reposition()},"^style.tip.(height|width)$":function(){n={width:j.width,height:j.height},i.create(),i.update(),b.reposition()},"^content.title.text|style.(classes|widget)$":function(){k.tip&&i.update()}},a.extend(i,{init:function(){var b=i.detectCorner()&&(r||a.browser.msie);b&&(i.create(),i.update(),l.unbind(q).bind("tooltipmove"+q,s));return b},detectCorner:function(){var a=j.corner,c=b.options.position,f=c.at,g=c.my.string?c.my.string():c.my;if(a===e||g===e&&f===e)return e;a===d?i.corner=new h.Corner(g):a.string||(i.corner=new h.Corner(a),i.corner.fixed=d);return i.corner.string()!=="centercenter"},detectColours:function(){var c=k.tip.css({backgroundColor:"",border:""}),d=i.corner,e=d[d.precedance],f="border-"+e+"-color",g="border"+e.charAt(0)+e.substr(1)+"Color",h=/rgba?\(0, 0, 0(, 0)?\)|transparent/i,m="background-color",p="transparent",q=k.titlebar&&(d.y==="top"||d.y==="center"&&c.position().top+n.height/2+j.offset",{"class":"ui-tooltip-tip"}).css({width:b,height:c}).prependTo(l),r?a("").appendTo(k.tip)[0].getContext("2d").save():(d='',k.tip.html(p?d+=d:d))},update:function(b){var c=k.tip,g=c.children(),l=n.width,m=n.height,q="px solid ",s="px dashed transparent",u=j.mimic,x=Math.round,y,z,A,B,C;b||(b=i.corner),u===e?u=b:(u=new h.Corner(u),u.precedance=b.precedance,u.x==="inherit"?u.x=b.x:u.y==="inherit"?u.y=b.y:u.x===u.y&&(u[b.precedance]=b[b.precedance])),y=u.precedance,i.detectColours(),p=o.border==="transparent"||o.border==="#123456"?0:j.border===d?t(b,f,d):j.border,A=v(u,l,m),C=w(b),c.css(C),b.precedance==="y"?B=[x(u.x==="left"?p:u.x==="right"?C.width-l-p:(C.width-l)/2),x(u.y==="top"?C.height-m:0)]:B=[x(u.x==="left"?C.width-l:0),x(u.y==="top"?p:u.y==="bottom"?C.height-m-p:(C.height-m)/2)],r?(g.attr(C),z=g[0].getContext("2d"),z.restore(),z.save(),z.clearRect(0,0,3e3,3e3),z.translate(B[0],B[1]),z.beginPath(),z.moveTo(A[0][0],A[0][1]),z.lineTo(A[1][0],A[1][1]),z.lineTo(A[2][0],A[2][1]),z.closePath(),z.fillStyle=o.fill,z.strokeStyle=o.border,z.lineWidth=p*2,z.lineJoin="miter",z.miterLimit=100,z.stroke(),z.fill()):(A="m"+A[0][0]+","+A[0][1]+" l"+A[1][0]+","+A[1][1]+" "+A[2][0]+","+A[2][1]+" xe",B[2]=p&&/^(r|b)/i.test(b.string())?1:0,g.css({antialias:""+(u.string().indexOf("center")>-1),left:B[0]-B[2]*Number(y==="x"),top:B[1]-B[2]*Number(y==="y"),width:l+p,height:m+p}).each(function(b){var c=a(this);c.attr({coordsize:l+p+" "+(m+p),path:A,fillcolor:o.fill,filled:!!b,stroked:!b}).css({display:p||b?"block":"none"}),!b&&p>0&&c.html()===""&&c.html('')}));return i.position(b,1)},position:function(b,c){var f=k.tip,g={},h=Math.max(0,j.offset),l,m,n;if(j.corner===e||!f)return e;b=b||i.corner,l=b.precedance,m=w(b),n=a.browser.msie&&p&&/^(b|r)/i.test(b.string())?1:0,a.each(l==="y"?[b.x,b.y]:[b.y,b.x],function(a,c){var e,f;c==="center"?(e=l==="y"?"left":"top",g[e]="50%",g["margin-"+e]=-Math.round(m[l==="y"?"width":"height"]/2)+h):(e=t(b,c,d),f=u(b),g[c]=a||!p?t(b,c)+(a?0:f):h+(f>e?f:0))}),g[b[l]]-=m[l==="x"?"width":"height"]+n,c&&f.css({top:"",bottom:"",left:"",right:"",margin:""}).css(g);return g},destroy:function(){k.tip&&k.tip.remove(),l.unbind(q)}}),i.init()}function v(a,b,c){var d=Math.ceil(b/2),e=Math.ceil(c/2),f={bottomright:[[0,0],[b,c],[b,0]],bottomleft:[[0,0],[b,0],[0,c]],topright:[[0,c],[b,0],[b,c]],topleft:[[0,0],[0,c],[b,c]],topcenter:[[0,c],[d,0],[b,c]],bottomcenter:[[0,0],[b,0],[d,c]],rightcenter:[[0,0],[b,e],[0,c]],leftcenter:[[b,0],[b,c],[0,e]]};f.lefttop=f.bottomright,f.righttop=f.bottomleft,f.leftbottom=f.topright,f.rightbottom=f.topleft;return f[a.string()]}function u(b){var c=this,d=b.elements.tooltip,e=b.options.content.ajax,f=".qtip-ajax",g=/)<[^<]*)*<\/script>/gi;b.checks.ajax={"^content.ajax":function(a,b){b==="once"?c.once():e&&e.url&&c.load()}},a.extend(c,{init:function(){e&&e.url&&(c.load(),d.one("tooltipshow",c.once))},once:function(){e.once?c.destroy():d.bind("tooltipshow"+f,c.load)},load:function(){function j(a,c,d){b.set("content.text",c+": "+d)}function i(c){h&&(c=a("
").append(c.replace(g,"")).find(h)),b.set("content.text",c)}var d=e.url.indexOf(" "),f=e.url,h;d>-1&&(h=f.substr(d),f=f.substr(0,d)),a.ajax(a.extend({success:i,error:j,context:b},e,{url:f}));return c},destroy:function(){d.unbind(f)}}),c.init()}function t(b,c){var i,j,k,l,m=a(this),n=a(document.body),o=this===document?n:m,t=m.metadata?m.metadata(c.metadata):f,u=c.metadata.type==="html5"&&t?t[c.metadata.name]:f,v=m.data(c.metadata.name||"qtipopts");try{v=typeof v==="string"?(new Function("return "+v))():v}catch(w){q("Unable to parse HTML5 attribute data: "+v)}l=a.extend(d,{},g.defaults,c,typeof v==="object"?r(v):f,r(u||t)),t&&a.removeData(this,"metadata"),j=l.position,l.id=b;if("boolean"===typeof l.content.text){k=m.attr(l.content.attr);if(l.content.attr!==e&&k)l.content.text=k;else return e}j.container===e&&(j.container=n),j.target===e&&(j.target=o),l.show.target===e&&(l.show.target=o),l.hide.target===e&&(l.hide.target=o),l.position.viewport===d&&(l.position.viewport=j.container),j.at=new h.Corner(j.at),j.my=new h.Corner(j.my);if(a.data(this,"qtip"))if(l.overwrite)m.qtip("destroy");else if(l.overwrite===e)return e;a.attr(this,"title")&&(a.data(this,p,a.attr(this,"title")),m.removeAttr("title")),i=new s(m,l,b,!!k),a.data(this,"qtip",i),m.bind("remove.qtip",function(){i.destroy()});return i}function s(o,q,s,t){function K(c,d,e,g){g=parseInt(g,10)!==0;var h=".qtip-"+s,i={show:c?q.show.target:f,hide:d?q.hide.target:f,tooltip:e?z.tooltip:f,content:e?z.content:f,container:g?q.position.container[0]===v?document:q.position.container:f,window:g?b:f};u.rendered?a([]).pushStack(a.grep([i.show,i.hide,i.tooltip,i.container,i.content,i.window],function(){return this!==null})).unbind(h):c&&i.show.unbind(h+"-create")}function J(c,d,f,h){function A(a){B()&&u.reposition(a)}function x(a){if(y.hasClass(k))return e;clearTimeout(u.timers.inactive),u.timers.inactive=setTimeout(function(){u.hide(a)},q.hide.inactive)}function w(b){if(y.hasClass(k))return e;var c=a(b.relatedTarget||b.target),d=c.closest(l)[0]===y[0],f=c[0]===m.show[0];clearTimeout(u.timers.show),clearTimeout(u.timers.hide);if(j.target==="mouse"&&d||q.hide.fixed&&(/mouse(out|leave|move)/.test(b.type)&&(d||f))){b.stopPropagation(),b.preventDefault();return e}y.stop(1,1),q.hide.delay>0?u.timers.hide=setTimeout(function(){u.hide(b)},q.hide.delay):u.hide(b)}function t(a){if(y.hasClass(k))return e;m.show.trigger("qtip-"+s+"-inactive"),clearTimeout(u.timers.show),clearTimeout(u.timers.hide);var b=function(){u.show(a)};q.show.delay>0?u.timers.show=setTimeout(b,q.show.delay):b()}var i=".qtip-"+s,j=q.position,m={show:q.show.target,hide:q.hide.target,container:j.container[0]===v?document:j.container},n={show:String(q.show.event).split(" "),hide:String(q.hide.event).split(" ")},p=a(document),r=a.browser.msie&&parseInt(a.browser.version,10)===6;f&&(q.hide.fixed&&(m.hide=m.hide.add(y),y.bind("mouseover"+i,function(){y.hasClass(k)||clearTimeout(u.timers.hide)})),y.bind("mouseenter"+i+" mouseleave"+i,function(a){u[a.type==="mouseenter"?"focus":"blur"](a)})),d&&("number"===typeof q.hide.inactive&&(m.show.bind("qtip-"+s+"-inactive",x),a.each(g.inactiveEvents,function(a,b){m.hide.add(z.tooltip).bind(b+i+"-inactive",x)})),a.each(n.hide,function(b,c){var d=a.inArray(c,n.show),e=a(m.hide);d>-1&&e.add(m.show).length===e.length||c==="unfocus"?(m.show.bind(c+i,function(a){B()?w(a):t(a)}),delete n.show[d]):m.hide.bind(c+i,w)})),c&&a.each(n.show,function(a,b){m.show.bind(b+i,t)}),h&&((j.adjust.resize||j.viewport)&&a(a.event.special.resize?j.viewport:b).bind("resize"+i,A),(j.viewport||r&&y.css("position")==="fixed")&&a(j.viewport).bind("scroll"+i,A),/unfocus/i.test(q.hide.event)&&p.bind("mousedown"+i,function(b){var c=a(b.target);c.parents(l).length===0&&c.add(o).length>1&&B()&&!y.hasClass(k)&&u.hide(b)}),j.target==="mouse"&&p.bind("mousemove"+i,function(a){j.adjust.mouse&&!y.hasClass(k)&&B()&&u.reposition(a||g.mouse)}))}function I(b,c){var f=z.content;if(!u.rendered||!b)return e;a.isFunction(b)&&(b=b.call(o,u)||""),b.jquery&&b.length>0?f.empty().append(b.css({display:"block"})):f.html(b),y.queue("fx",function(b){function e(a){c=c.not(a),c.length===0&&(u.redraw(),u.rendered&&B()&&u.reposition(u.cache.event),b())}var c=f.find("img:not([height]):not([width])");c.each(function(b,c){var f=["abort","error","load","unload",""].join(".qtip-image ");a(this).bind(f,function(){clearTimeout(u.timers.img[b]),e(this)}),function g(){if(c.height&&c.width)return e(c);u.timers.img[b]=setTimeout(g,20)}();return d}),c.length===0&&e(c)});return u}function H(b){var c=z.title;if(!u.rendered||!b)return e;a.isFunction(b)&&(b=b.call(o,u)||""),b.jquery&&b.length>0?c.empty().append(b.css({display:"block"})):c.html(b),u.redraw(),u.rendered&&B()&&u.reposition(u.cache.event)}function G(a){var b=z.button,c=z.title;if(!u.rendered)return e;a?(c||F(),E()):b.remove()}function F(){var b=w+"-title";z.titlebar&&D(),z.titlebar=a("
",{"class":i+"-titlebar "+(q.style.widget?"ui-widget-header":"")}).append(z.title=a("
",{id:b,"class":i+"-title","aria-atomic":d})).insertBefore(z.content),q.content.title.button?E():u.rendered&&u.redraw()}function E(){var b=q.content.title.button;z.button&&z.button.remove(),b.jquery?z.button=b:z.button=a("",{"class":"ui-state-default "+(q.style.widget?"":i+"-icon"),title:"Close tooltip","aria-label":"Close tooltip"}).prepend(a("",{"class":"ui-icon ui-icon-close",html:"×"})),z.button.appendTo(z.titlebar).attr("role","button").hover(function(b){a(this).toggleClass("ui-state-hover",b.type==="mouseenter")}).click(function(a){y.hasClass(k)||u.hide(a);return e}).bind("mousedown keydown mouseup keyup mouseout",function(b){a(this).toggleClass("ui-state-active ui-state-focus",b.type.substr(-4)==="down")}),u.redraw()}function D(){z.title&&(z.titlebar.remove(),z.titlebar=z.title=z.button=f,u.reposition())}function C(){var a=q.style.widget;y.toggleClass(j,a),z.content.toggleClass(j+"-content",a),z.titlebar&&z.titlebar.toggleClass(j+"-header",a),z.button&&z.button.toggleClass(i+"-icon",!a)}function B(){return y&&y.css("left")!==n&&y.css("visibility")!=="hidden"}function A(a){var b,d,e=a.split("."),f=q[e[0]];for(b=1;b0&&!a("#"+j).length&&(y[0].id=j,z.content[0].id=j+"-content",z.title[0].id=j+"-title")},"^content.text$":function(a,b,c){I(c)},"^content.title.text$":function(a,b,c){if(!c)return D();!z.title&&c&&F(),H(c)},"^content.title.button$":function(a,b,c){G(c)},"^position.(my|at)$":function(a,b,c){"string"===typeof c&&(a[b]=new h.Corner(c))},"^position.container$":function(a,b,c){u.rendered&&y.appendTo(c)},"^(show|hide).(event|target|fixed|delay|inactive)$":function(a,b,c,d){var e=b.search(/fixed/i)>-1?[0,[0,1,1,1]]:[b.substr(0,3),b.charAt(0)==="s"?[1,0,0,0]:[0,1,0,0]];e[0]&&(a[b]=d),K.apply(u,e[1]),e[0]&&(a[b]=c),J.apply(u,e[1])},"^show.ready$":function(){u.rendered||u.show()},"^style.classes$":function(b,c,d){a.attr(y[0],"class",i+" qtip ui-helper-reset "+d)},"^style.widget|content.title":C,"^events.(render|show|move|hide|focus|blur)$":function(b,c,d){y[(a.isFunction(d)?"":"un")+"bind"]("tooltip"+c,d)}},a.extend(u,{render:function(b){if(u.rendered)return e;var c=q.content.text,f=q.content.title.text,g=a.Event("tooltiprender");a.attr(o[0],"aria-describedby",w),y=z.tooltip=a("
").attr({id:w,"class":i+" qtip ui-helper-reset "+q.style.classes,role:"alert","aria-live":"polite","aria-atomic":e,"aria-describedby":w+"-content","aria-hidden":d}).toggleClass(k,u.cache.disabled).data("qtip",u).appendTo(q.position.container).append(z.content=a("
",{"class":i+"-content",id:w+"-content","aria-atomic":d})),u.rendered=d,f&&(F(),H(f)),I(c),C(),a.each(h,function(){this.initialize==="render"&&this(u)}),J(1,1,1,1),a.each(q.events,function(a,b){if(b){var c=a==="toggle"?"tooltipshow tooltiphide":"tooltip"+a;y.bind(c,b)}}),y.css("visibility","hidden").queue("fx",function(a){g.originalEvent=u.cache.event,y.trigger(g,[u]),(q.show.ready||b)&&u.show(u.cache.event),a()});return u},get:function(a){var b,c;switch(a.toLowerCase()){case"dimensions":b={height:y.outerHeight(),width:y.outerWidth()};break;case"offset":b=h.offset(y,q.position.container);break;default:c=A(a.toLowerCase()),b=c[0].precedance?c[0].string():c[0].jquery?c[0]:c[0][c[1]]}return b},set:function(b,c){function j(b,c){b=b.toLowerCase();var e=A(b),f,g,i;f=e[0][e[1]],e[0][e[1]]=c.nodeType?a(c):c;if(u.rendered)for(g in h)for(i in h[g])(new RegExp(i,"i")).test(b)&&h[g][i].call(u,e[0],e[1],c,f);else b==="show.ready"&&u.render(d)}var f=/^position.(my|at|adjust|target|container)|style|content/i,g=e,h=u.checks,i;"string"===typeof b&&(i=b,b={},b[i]=c),x=1;for(i in b)j(i,b[i]),g=f.test(i)||g;x=0,g&&B()&&u.rendered&&u.reposition(),r(q);return u},toggle:function(b,c){function j(){b?a.browser.msie&&y[0].style.removeAttribute("filter"):y.css({display:"",visibility:"hidden",width:"",opacity:"",left:"",top:""})}if(!u.rendered)if(b)u.render(1);else return e;var d=b?"show":"hide",g=q[d],h=B(),i;(typeof b).search("boolean|number")&&(b=!h);if(h===b)return u;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(u.cache.event.type)&&c.target===q.show.target[0]&&y.has(c.relatedTarget).length)return u;u.cache.event=a.extend({},c)}i=a.Event("tooltip"+d),i.originalEvent=c?u.cache.event:f,y.trigger(i,[u,90]);if(i.isDefaultPrevented())return u;a.attr(y[0],"aria-hidden",!b),b?(y.hide().css({visibility:""}),u.focus(c),u.reposition(c,0),g.solo&&a(l).not(y).qtip("hide",i)):(clearTimeout(u.timers.show),u.blur(c)),y.stop(1,1),a.isFunction(g.effect)?(g.effect.call(y,u),y.queue("fx",function(a){j.call(this,a),a()})):g.effect===e?(y[d](),j.call(y)):y.fadeTo(90,b?1:0,j),b&&g.target.trigger("qtip-"+s+"-inactive");return u},show:function(a){u.toggle(d,a)},hide:function(a){u.toggle(e,a)},focus:function(b){if(!u.rendered)return e;var c=a(l),d=parseInt(y[0].style.zIndex,10),f=g.zindex+c.length,h=a.extend({},b),i,j;y.hasClass(m)||(d!==f&&(c.each(function(){this.style.zIndex>d&&(this.style.zIndex=this.style.zIndex-1)}),c.filter("."+m).qtip("blur",h)),j=a.Event("tooltipfocus"),j.originalEvent=h,y.trigger(j,[u,f]),j.isDefaultPrevented()||(y.addClass(m)[0].style.zIndex=f));return u},blur:function(b){var c=a.extend({},b),d;y.removeClass(m),d=a.Event("tooltipblur"),d.originalEvent=c,y.trigger(d,[u])},reposition:function(f,j){if(!u.rendered||x)return e;x=d;var k=q.position.target,l=q.position,m=l.my,n=l.at,o=l.adjust,p=y.outerWidth(),r=y.outerHeight(),s=0,t=0,w=a.Event("tooltipmove"),z=y.css("position")==="fixed",A=l.viewport.jquery?l.viewport:a(b),C={left:0,top:0},D={left:function(a){var b=A.scrollLeft,c=m.x==="left"?p:m.x==="right"?-p:-p/2,d=n.x==="left"?s:n.x==="right"?-s:-s/2,e=b-a,f=a+p-A.width-b,g=c-(m.precedance==="x"||m.x===m.y?d:0);e>0&&(m.x!=="left"||f>0)?C.left-=g:f>0&&(m.x!=="right"||e>0)&&(C.left-=(m.x==="center"?-1:1)*g+2*o.x),C.left<0&&-C.left>f&&(C.left=a);return C.left-a},top:function(a){var b=A.scrollTop,c=m.y==="top"?r:m.y==="bottom"?-r:-r/2,d=n.y==="top"?t:n.y==="bottom"?-t:-t/2,e=b-a,f=a+r-A.height-b,g=c-(m.precedance==="y"||m.x===m.y?d:0);e>0&&(m.y!=="top"||f>0)?C.top-=g:f>0&&(m.y!=="bottom"||e>0)&&(C.top-=(m.y==="center"?-1:1)*g+2*o.y),C.top<0&&-C.top>f&&(C.top=a);return C.top-a}};j=j===c||!!j||e,A=A?{elem:A,height:A[(A[0]===b?"h":"outerH")+"eight"](),width:A[(A[0]===b?"w":"outerW")+"idth"](),scrollLeft:A.scrollLeft(),scrollTop:A.scrollTop()}:e;if(k==="mouse")n={x:"left",y:"top"},f=f&&(f.type==="resize"||f.type==="scroll")?u.cache.event:o.mouse||!f||!f.pageX?a.extend({},g.mouse):f,C={top:f.pageY,left:f.pageX};else{k==="event"&&(f&&f.target&&f.type!=="scroll"&&f.type!=="resize"?k=u.cache.target=a(f.target):k=u.cache.target),k=a(k).eq(0);if(k.length===0)return u;k[0]===document||k[0]===b?(s=k.width(),t=k.height(),k[0]===b&&(C={top:z?0:A.scrollTop,left:z?0:A.scrollLeft})):k.is("area")&&h.imagemap?C=h.imagemap(k,n):k[0].namespaceURI=="http://www.w3.org/2000/svg"&&h.svg?C=h.svg(k,n):(s=k.outerWidth(),t=k.outerHeight(),C=h.offset(k,l.container)),C.width&&(s=C.width,t=C.height,C=C.offset),C.left+=n.x==="right"?s:n.x==="center"?s/2:0,C.top+=n.y==="bottom"?t:n.y==="center"?t/2:0}C.left+=o.x+(m.x==="right"?-p:m.x==="center"?-p/2:0),C.top+=o.y+(m.y==="bottom"?-r:m.y==="center"?-r/2:0),l.viewport.jquery&&k[0]!==b&&k[0]!==v?C.adjusted={left:D.left(C.left),top:D.top(C.top)}:C.adjusted={left:0,top:0},y.attr("class",function(b,c){return a.attr(this,"class").replace(/ui-tooltip-pos-\w+/i,"")}).addClass(i+"-pos-"+m.abbreviation()),w.originalEvent=a.extend({},f),y.trigger(w,[u,C,A.elem]);if(w.isDefaultPrevented())return u;delete C.adjusted,j&&isNaN(C.left,C.top)?B()&&a.isFunction(l.effect)&&(l.effect.call(y,u,C),y.queue(function(b){var c=a(this);c.css({opacity:"",height:""}),a.browser.msie&&this.style&&this.style.removeAttribute("filter"),b()})):y.css(C),x=e;return u},redraw:function(){if(!u.rendered||(!a.browser.msie||a.browser.version>=8))return e;var b=i+"-fluid",c;y.css({width:"auto",height:"auto"}).addClass(b),c={height:y.outerHeight(),width:y.outerWidth()},a.each(["width","height"],function(a,b){var d=parseInt(y.css("max-"+b),10)||0,e=parseInt(y.css("min-"+b),10)||0;c[b]=d+e?Math.min(Math.max(c[b],e),d):c[b]}),y.css(c).removeClass(b)},enable:function(){u.disable(d)},disable:function(b){var c=k;"boolean"!==typeof b&&(b=!y.hasClass(c)&&!u.cache.disabled),u.rendered?(y.toggleClass(c,b),a.attr(y[0],"aria-disabled",b)):u.cache.disabled=!!b;return u},destroy:function(){var b=o[0],c=a.data(b,p);u.rendered&&(y.remove(),a.each(u.plugins,function(){this.destroy&&this.destroy()})),clearTimeout(u.timers.show),clearTimeout(u.timers.hide),K(1,1,1,1),a.removeData(b,"qtip"),c&&a.attr(b,"title",c),o.removeAttr("aria-describedby");return o}})}function r(b){var c;if(!b||"object"!==typeof b)return e;"object"!==typeof b.metadata&&(b.metadata={type:b.metadata});if("content"in b){if("object"!==typeof b.content||b.content.jquery)b.content={text:b.content};c=b.content.text||e,!a.isFunction(c)&&(!c&&!c.attr||c.length<1||"object"===typeof c&&!c.jquery)&&(b.content.text=e),"title"in b.content&&("object"!==typeof b.content.title&&(b.content.title={text:b.content.title}),c=b.content.title.text||e,!a.isFunction(c)&&(!c&&!c.attr||c.length<1||"object"===typeof c&&!c.jquery)&&(b.content.title.text=e))}"position"in b&&("object"!==typeof b.position&&(b.position={my:b.position,at:b.position})),"show"in b&&("object"!==typeof b.show&&(b.show.jquery?b.show={target:b.show}:b.show={event:b.show})),"hide"in b&&("object"!==typeof b.hide&&(b.hide.jquery?b.hide={target:b.hide}:b.hide={event:b.hide})),"style"in b&&("object"!==typeof b.style&&(b.style={classes:b.style})),a.each(h,function(){this.sanitize&&this.sanitize(b)});return b}function q(){var c=b.console;return c&&(c.error||c.log||a.noop).apply(c,arguments)}var d=!0,e=!1,f=null,g,h,i="ui-tooltip",j="ui-widget",k="ui-state-disabled",l="div.qtip."+i,m=i+"-focus",n="-31000px",o="_replacedByqTip",p="oldtitle";g=a.fn.qtip=function(b,e,h){var i=String(b).toLowerCase(),j=f,k=i==="disable"?[d]:a.makeArray(arguments).slice(1,10),l=k[k.length-1],m=this[0]?a.data(this[0],"qtip"):f;if(!arguments.length&&m||i==="api")return m;if("string"===typeof b){this.each(function(){var b=a.data(this,"qtip");if(!b)return d;l&&l.timeStamp&&(b.cache.event=l),/option|set/.test(i)&&e?a.isPlainObject(e)||h!==c?b.set(e,h):j=b.get(e):b[i]&&b[i].apply(b[i],k)});return j!==f?j:this}if("object"===typeof b||!arguments.length){m=r(a.extend(d,{},b));return g.bind.call(this,m,l)}},g.bind=function(b,c){return this.each(function(f){function p(b){function c(){o.render(typeof b==="object"||j.show.ready),k.show.unbind(l.show),k.hide.unbind(l.hide)}if(o.cache.disabled)return e;o.cache.event=a.extend({},b),j.show.delay>0?(clearTimeout(o.timers.show),o.timers.show=setTimeout(c,j.show.delay),l.show!==l.hide&&k.hide.bind(l.hide,function(){clearTimeout(o.timers.show)})):c()}var j,k,l,m=!b.id||b.id===e||b.id.length<1||a("#"+i+"-"+b.id).length?g.nextid++:b.id,n=".qtip-"+m+"-create",o=t.call(this,m,b);if(o===e)return d;j=o.options,a.each(h,function(){this.initialize==="initialize"&&this(o)}),k={show:j.show.target,hide:j.hide.target},l={show:String(j.show.event).replace(" ",n+" ")+n,hide:String(j.hide.event).replace(" ",n+" ")+n},k.show.bind(l.show,p),(j.show.ready||j.prerender)&&p(c)})},a.each({attr:function(b,c){if(this.length){var d=this[0],e="title",f=a.data(d,"qtip");if(b===e){if(arguments.length<2)return a.data(d,p);if(typeof f==="object"){f&&f.rendered&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",c),a.fn["attr"+o].apply(this,arguments),a.data(d,p,a.attr(d,e));return this.removeAttr("title")}}}},clone:function(b){var c=a([]),d;a("*",this).add(this).each(function(){var b=a.data(this,p);b&&(a.attr(this,"title",b),c=c.add(this))}),d=a.fn["clone"+o].apply(this,arguments),c.removeAttr("title");return d},remove:a.ui?f:function(b,c){a(this).each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add(this).each(function(){a(this).triggerHandler("remove")})})}},function(b,c){if(!c)return d;var e=a.fn[b+o]=a.fn[b];a.fn[b]=function(){return c.apply(this,arguments)||e.apply(this,arguments)}}),a(b).load(function(){var b=document,d=b.body;a(b).bind("mousemove.qtip",function(a){g.mouse={pageX:a.pageX,pageY:a.pageY}}),b.activeElement===c&&b.addEventListener("focus",function(a){a&&a.target&&(b.activeElement=a.target===b?d:a.target)},!0)}),g.version="2.0.0pre",g.nextid=0,g.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),g.zindex=15e3,h=g.plugins={Corner:function(a){a=String(a).replace(/([A-Z])/," $1").replace(/middle/gi,"center").toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.precedance=a.charAt(0).search(/^(t|b)/)>-1?"y":"x",this.string=function(){return this.precedance==="y"?this.y+this.x:this.x+this.y},this.abbreviation=function(){var a=this.x.substr(0,1),b=this.y.substr(0,1);return a===b?a:a==="c"||a!=="c"&&b!=="c"?b+a:a+b}},offset:function(a,b){var c=a.offset(),d=b,e=0,f=!h.iOS,g;if(d){do{if(d[0]===document.body)break;d.css("position")!=="static"&&(g=d.position(),c.left-=g.left,c.top-=g.top,e++)}while(d=d.offsetParent());if(!f||e>1)g=f?1:-1,c.left+=g*b.scrollLeft(),c.top+=g*b.scrollTop()}return c},iOS:parseFloat((/CPU.+OS ([0-9_]{3}).*AppleWebkit.*Mobile/i.exec(navigator.userAgent)||[0,"4_2"])[1].replace("_","."))<4.1},g.defaults={prerender:e,id:e,overwrite:d,content:{text:d,attr:"title",title:{text:e,button:e}},position:{my:"top left",at:"bottom right",target:e,container:e,viewport:e,adjust:{x:0,y:0,mouse:d,resize:d},effect:d},show:{target:e,event:"mouseenter",effect:d,delay:90,solo:e,ready:e},hide:{target:e,event:"mouseleave",effect:d,delay:0,fixed:e,inactive:e},style:{classes:"",widget:e},events:{render:f,move:f,show:f,hide:f,toggle:f,focus:f,blur:f}},h.ajax=function(a){var b=a.plugins.ajax;return"object"===typeof b?b:a.plugins.ajax=new u(a)},h.ajax.initialize="render",h.ajax.sanitize=function(a){var b=a.content,c;b&&"ajax"in b&&(c=b.ajax,typeof c!=="object"&&(c=a.content.ajax={url:c}),"boolean"!==typeof c.once&&c.once&&(c.once=!!c.once))},a.extend(d,g.defaults,{content:{ajax:{once:d}}}),h.tip=function(a){var b=a.plugins.tip;return"object"===typeof b?b:a.plugins.tip=new w(a)},h.tip.initialize="render",h.tip.sanitize=function(a){var b=a.style,c;b&&"tip"in b&&(c=a.style.tip,typeof c!=="object"&&(a.style.tip={corner:c}),/string|boolean/i.test(typeof c.corner)||(c.corner=d),typeof c.width!=="number"&&delete c.width,typeof c.height!=="number"&&delete c.height,typeof c.border!=="number"&&c.border!==d&&delete c.border,typeof c.offset!=="number"&&delete c.offset)},a.extend(d,g.defaults,{style:{tip:{corner:d,mimic:e,width:6,height:6,border:d,offset:0}}}),h.imagemap=function(b,c){function l(a,b){var d=0,e=1,f=1,g=0,h=0,i=a.width,j=a.height;while(i>0&&j>0&&e>0&&f>0){i=Math.floor(i/2),j=Math.floor(j/2),c.x==="left"?e=i:c.x==="right"?e=a.width-i:e+=Math.floor(i/2),c.y==="top"?f=j:c.y==="bottom"?f=a.height-j:f+=Math.floor(j/2),d=b.length;while(d--){if(b.length<2)break;g=b[d][0]-a.offset.left,h=b[d][1]-a.offset.top,(c.x==="left"&&g>=e||c.x==="right"&&g<=e||c.x==="center"&&(ga.width-e)||c.y==="top"&&h>=f||c.y==="bottom"&&h<=f||c.y==="center"&&(ha.height-f))&&b.splice(d,1)}}return{left:b[0][0],top:b[0][1]}}var d=b.attr("shape").toLowerCase(),e=b.attr("coords").split(","),f=[],g=a('img[usemap="#'+b.parent("map").attr("name")+'"]'),h=g.offset(),i={width:0,height:0,offset:{top:1e10,right:0,bottom:0,left:1e10}},j=0,k=0;h.left+=Math.ceil((g.outerWidth()-g.width())/2),h.top+=Math.ceil((g.outerHeight()-g.height())/2);if(d==="poly"){j=e.length;while(j--)k=[parseInt(e[--j],10),parseInt(e[j+1],10)],k[0]>i.offset.right&&(i.offset.right=k[0]),k[0]i.offset.bottom&&(i.offset.bottom=k[1]),k[1]0}(jQuery,window) \ No newline at end of file diff --git a/dist/jquery.qtip.pack.js b/dist/jquery.qtip.pack.js index 3b2fbd01..9df16b61 100644 --- a/dist/jquery.qtip.pack.js +++ b/dist/jquery.qtip.pack.js @@ -9,11 +9,11 @@ * http://en.wikipedia.org/wiki/MIT_License * http://en.wikipedia.org/wiki/GNU_General_Public_License * -* Date: Fri Feb 4 23:09:27 2011 +0000 +* Date: Sat Feb 5 17:42:04 2011 +0000 */ "use strict"; // Enable ECMAScript "strict" operation for this function. See more: http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ /*jslint browser: true, onevar: true, undef: true, nomen: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: true */ /*global window: false, jQuery: false */ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('"5a 5b",I(a,b,c){I w(b){K c=N,d=b.1d,e=d.1n,f=".22-"+b.1e,g="3Y"+f+" 33"+f;a.1m(c,{1U:I(){d.22=a(\'<40 1N="1u-1n-22" 7D="0" 5d="-1" 5e="5f:\\\'\\\';" 15="2g:2G; 14:3A; z-3E:-1; 2W:5g(44=0);">\'),d.22.2B(e),e.19(g,c.2v)},2v:I(){K a=b.3C("4L"),c=b.Y.17,f=b.1d.17,g,h;h=1z(e.W("1a-P-U"),10)||0,h={P:-h,O:-h},c&&f&&(g=c.1h.1r==="x"?["U","P"]:["V","O"],h[g[1]]-=f[g[0]]()),d.22.W(h).W(a)},1Z:I(){c.40.1P(),e.1D(g)}}),c.1U()}I v(c){K f=N,g=c.26.M.1v,h=c.1d,i=h.1n,j="#L-1W",k=".7K",l="33"+k+" 4K"+k;c.2J.1v={"^M.1v.(2M|1Q)$":I(){f.1U(),h.1W.29(i.41(":5h"))}},a.1m(f,{1U:I(){g.2M&&(i.1D(k).19(l,I(b,c,d){K e=b.1E.2f("1n","");a.27(g[e])?g[e].1J(h.1W,d,c):f[e](d)}),f.2e(),g.1Q===d&&h.1W.1D(k+c.1e).19("3O"+k+c.1e,I(){c.R.1J(c)}),h.1W.W("72",g.1Q?"77":""))},2e:I(){K c=a(j),d;Q(c.16){h.1W=c;J c}d=h.1W=a("<2h />",{1e:j.2l(1),W:{14:"3A",O:0,P:0,2g:"4h"},3h:I(){J e}}).2B(1B.2I),a(b).19("2q"+k,I(){d.W({V:1b.2K(a(b).V(),a(1B).V()),U:1b.2K(a(b).U(),a(1B).U())})}).2c("2q");J d},29:I(b){K g=h.1W,j=c.26.M.1v.1X,k=b?"M":"R",l;g||(g=f.2e());Q(!g.41(":5k")||b)g.3T(d,e),b&&(l=1z(a.W(i[0],"z-3E"),10),g.W("z-3E",(l||a.S.L.3M)-1)),a.27(j)?j.1J(g,b):j===e?g[k]():g.4Q(3r,b?.7:0,I(){b||a(N).R()})},M:I(){f.29(d)},R:I(){f.29(e)},1Z:I(){K f=d;a("*").1i(I(){K b=a(N).1A("L");Q(b&&b.1e!==c.1e&&b.26.M.1v)J f=e}),f?(h.1W.1P(),a(b).1D(k)):h.1W.1D(k+c.1e),i.1D(l)}}),f.1U()}I u(b,g){I v(a){K b=a.1r==="y",c=m[b?"U":"V"],d=m[b?"V":"U"],e=a.1l().3F("1s")>-1,f=c*(e?.5:1),g=1b.5n,h=1b.3H,i,j,k,l=1b.3J(g(f,2)+g(d,2)),n=[o/f*l,o/d*l];n[2]=1b.3J(g(n[0],2)-g(o,2)),n[3]=1b.3J(g(n[1],2)-g(o,2)),i=l+n[2]+n[3]+(e?0:n[0]),j=i/l,k=[h(j*d),h(j*c)];J{V:k[b?0:1],U:k[b?1:0]}}I u(b){K c=j.1x&&b.y==="O",d=c?j.1x:j.T,e=a.1I.6B,f=e?"-5p-":a.1I.4v?"-4v-":"",g=b.y+(e?"":"-")+b.x,h=f+(e?"1a-4J-"+g:"1a-"+g+"-4J");J 1z(d.W(h),10)||1z(k.W(h),10)||0}I s(a,b,c){b=b?b:a[a.1r];K d=j.1x&&a.y==="O",e=d?j.1x:j.T,f="1a-"+b+"-U",g=1z(e.W(f),10);J(c?g||1z(k.W(f),10):g)||0}I r(b,e,f,g){Q(j.17){K k=a.1m({},h.1h),m=f.3s,n;h.1h.23!==d&&(m.P&&(k.x=k.x==="1s"?m.P>0?"P":"1j":k.x==="P"?"1j":"P"),m.O&&(k.y=k.y==="1s"?m.O>0?"O":"1k":k.y==="O"?"1k":"O"),k.1l()!==l.1h&&(l.O!==m.O||l.P!==m.P)&&(n=h.2T(k))),n||(n=h.14(k,0)),n.1j!==c&&(n.P=n.1j),n.1k!==c&&(n.O=n.1k),n.3l=1b.2K(0,i.X),f.P-=n.P.30?n.3l:(n.1j?-1:1)*n.P,f.O-=n.O.30?n.3l:(n.1k?-1:1)*n.O,l.P=m.P,l.O=m.O,l.1h=k.1l()}}K h=N,i=b.26.15.17,j=b.1d,k=j.1n,l={O:0,P:0,1h:""},m={U:i.U,V:i.V},n={},o=i.1a||0,p=".L-17",q=a("<4b />")[0].3B;h.1h=f,h.3p=f,b.2J.17={"^14.1L|15.17.(1h|3p|1a)$":I(){h.1U()||h.1Z(),b.1R()},"^15.17.(V|U)$":I(){m={U:i.U,V:i.V},h.2e(),h.2T(),b.1R()},"^T.13.1q|15.(36|2r)$":I(){j.17&&h.2T()}},a.1m(h,{1U:I(){K b=h.55()&&(q||a.1I.2s);b&&(h.2e(),h.2T(),k.1D(p).19("3Y"+p,r));J b},55:I(){K c=i.1h,f=b.26.14,g=f.2o,j=f.1L.1l?f.1L.1l():f.1L;Q(c===e||j===e&&g===e)J e;c===d?h.1h=1F a.S.L.Y.2t(j):c.1l||(h.1h=1F a.S.L.Y.2t(c),h.1h.23=d);J h.1h.1l()!=="4V"},4d:I(){K c=j.17.W({5s:"",1a:""}),d=h.1h,e=d[d.1r],f="1a-"+e+"-34",g="1a"+e.30(0)+e.2l(1)+"5t",l=/5Z?\\(0, 0, 0(, 0)?\\)|2Y/i,o="60-34",p="2Y",q=j.1x&&(d.y==="O"||d.y==="1s"&&c.14().O+m.V/2+i.X",{"1N":"1u-1n-17"}).W({U:b,V:c}).5w(k),q?a("<4b />").2B(j.17)[0].3B("2d").4a():(d=\'<3V:47 5x="0,0" 15="2g:2G; 14:3A; 4M:2m(#3k#4k);">\',j.17.2D(o?d+=d:d))},2T:I(b){K c=j.17,g=c.5y(),k=m.U,l=m.V,p="3D 5z ",r="3D 4p 2Y",u=i.3p,w=1b.3H,x,y,z,A,B;b||(b=h.1h),u===e?u=b:(u=1F a.S.L.Y.2t(u),u.1r=b.1r,u.x==="3f"?u.x=b.x:u.y==="3f"?u.y=b.y:u.x===u.y&&(u[b.1r]=b[b.1r])),x=u.1r,h.4d(),o=n.1a==="2Y"||n.1a==="#5A"?0:i.1a===d?s(b,f,d):i.1a,z=t(u,k,l),B=v(b),c.W(B),b.1r==="y"?A=[w(u.x==="P"?o:u.x==="1j"?B.U-k-o:(B.U-k)/2),w(u.y==="O"?B.V-l:0)]:A=[w(u.x==="P"?B.U-k:0),w(u.y==="O"?o:u.y==="1k"?B.V-l-o:(B.V-l)/2)],q?(g.18(B),y=g[0].3B("2d"),y.5B(),y.4a(),y.5C(0,0,4e,4e),y.5D(A[0],A[1]),y.5E(),y.5F(z[0][0],z[0][1]),y.4f(z[1][0],z[1][1]),y.4f(z[2][0],z[2][1]),y.7I(),y.5G=n.28,y.5H=n.1a,y.5I=o*2,y.7E="4j",y.5J=5K,y.4i(),y.28()):(z="m"+z[0][0]+","+z[0][1]+" l"+z[1][0]+","+z[1][1]+" "+z[2][0]+","+z[2][1]+" 5L",A[2]=o&&/^(r|b)/i.1w(b.1l())?1:0,g.W({5M:""+(u.1l().3F("1s")>-1),P:A[0]-A[2]*4T(x==="x"),O:A[1]-A[2]*4T(x==="y"),U:k+o,V:l+o}).1i(I(b){K c=a(N);c.18({5N:k+o+" "+(l+o),5O:z,5P:n.28,5Q:!!b,5R:!b}).W({2g:o||b?"2G":"4h"}),!b&&o>0&&c.2D()===""&&c.2D(\'<3V:4i 5S="\'+o*2+\'3D" 34="\'+n.1a+\'" 5T="5U" 5W="4j" 15="4M:2m(#3k#4k); 2g:2G;" />\')}));J h.14(b,1)},14:I(b,c){K f=j.17,g={},k=1b.2K(0,i.X),l,m,n;Q(i.1h===e||!f)J e;b=b||h.1h,l=b.1r,m=v(b),n=a.1I.2s&&o&&/^(b|r)/i.1w(b.1l())?1:0,a.1i(l==="y"?[b.x,b.y]:[b.y,b.x],I(a,c){K e,f;c==="1s"?(e=l==="y"?"P":"O",g[e]="50%",g["4l-"+e]=-1b.3H(m[l==="y"?"U":"V"]/2)+k):(e=s(b,c,d),f=u(b),g[c]=a||!o?s(b,c)+(a?0:f):k+(f>e?f:0))}),g[b[l]]-=m[l==="x"?"U":"V"]+n,c&&f.W({O:"",1k:"",P:"",1j:"",4l:""}).W(g);J g},1Z:I(){j.17&&j.17.1P(),k.1D(p)}}),h.1U()}I t(a,b,c){K d=1b.3e(b/2),e=1b.3e(c/2),f={4m:[[0,0],[b,c],[b,0]],4n:[[0,0],[b,0],[0,c]],4G:[[0,c],[b,0],[b,c]],4F:[[0,0],[0,c],[b,c]],5Y:[[0,c],[d,0],[b,c]],7c:[[0,0],[b,0],[d,c]],61:[[0,0],[b,e],[0,c]],62:[[b,0],[b,c],[0,e]]};f.63=f.4m,f.64=f.4n,f.65=f.4G,f.66=f.4F;J f[a.1l()]}I s(b){K c=N,d=b.1d.1n,e=b.26.T.1y,f=".L-1y",g=/<3Q\\b[^<]*(?:(?!<\\/3Q>)<[^<]*)*<\\/3Q>/4r;b.2J.1y={"^T.1y":I(a,b){b==="1T"?c.1T():e&&e.2m&&c.2z()}},a.1m(c,{1U:I(){e&&e.2m&&(c.2z(),d.69("33",c.1T))},1T:I(){e.1T?c.1Z():d.19("33"+f,c.2z)},2z:I(){I j(a,c,d){b.2L("T.1q",c+": "+d)}I i(c){h&&(c=a("<2h/>").32(c.2f(g,"")).4t(h)),b.2L("T.1q",c)}K d=e.2m.3F(" "),f=e.2m,h;d>-1&&(h=f.2l(d),f=f.2l(0,d)),a.1y(a.1m({6b:i,3z:j,6c:b},e,{2m:f}));J c},1Z:I(){d.1D(f)}}),c.1U()}I r(b,c){K g,h,i,j,k=a(N),l=a(1B.2I),m=N===1B?l:k,r=k.1Y?k.1Y(c.1Y):f,s=c.1Y.1E==="6d"&&r?r[c.1Y.3K]:f,t=k.1A(c.1Y.3K||"6e");6f{t=11 t==="1l"?(1F 6S("J "+t))():t}6R(u){o("6h 6i 6O 6k 6M 1A: "+t)}j=a.1m(d,{},a.S.L.38,c,11 t==="1f"?p(t):f,p(s||r)),r&&a.48(N,"1Y"),h=j.14,j.1e=b;Q("2V"===11 j.T.1q){i=k.18(j.T.18);Q(j.T.18!==e&&i)j.T.1q=i;2H J e}h.1t===e&&(h.1t=l),h.12===e&&(h.12=m),j.M.12===e&&(j.M.12=m),j.R.12===e&&(j.R.12=m),j.14.1S===d&&(j.14.1S=h.1t),h.2o=1F a.S.L.Y.2t(h.2o),h.1L=1F a.S.L.Y.2t(h.1L);Q(a.1A(N,"L"))Q(j.3X)k.L("1Z");2H Q(j.3X===e)J e;a.18(N,"13")&&(a.1A(N,n,a.18(N,"13")),k.3d("13")),g=1F q(k,j,b,!!i),a.1A(N,"L",g),k.19("1P.L",I(){g.1Z()});J g}I q(m,o,q,r){I H(c,d,e,g){g=1z(g,10)!==0;K h=".L-"+q,i={M:c?o.M.12:f,R:d?o.R.12:f,1n:e?s.1d.1n:f,T:e?s.1d.T:f,1t:g?o.14.1t[0]===t?1B:o.14.1t:f,42:g?b:f};s.1g?a([]).6l(a.6K([i.M,i.R,i.1n,i.1t,i.T,i.42],I(){J N!==52})).1D(h):c&&i.M.1D(h+"-2e")}I G(c,d,f,g){I z(a){y()&&s.1R(a)}I x(a){Q(w.24(i))J e;1G(s.1p.21),s.1p.21=2P(I(){s.R(a)},o.R.21)}I v(b){Q(w.24(i))J e;K c=a(b.4P||b.12),d=c.6n(j)[0]===w[0],f=c[0]===l.M[0];1G(s.1p.M),1G(s.1p.R);Q(k.12==="1V"&&d||o.R.23&&(/1V(4N|4O|3y)/.1w(b.1E)&&(d||f))){b.6o(),b.6p();J e}w.3T(1,1),o.R.2a>0?s.1p.R=2P(I(){s.R(b)},o.R.2a):s.R(b)}I u(a){Q(w.24(i))J e;l.M.2c("L-"+q+"-21"),1G(s.1p.M),1G(s.1p.R);K b=I(){s.M(a)};o.M.2a>0?s.1p.M=2P(b,o.M.2a):b()}K h=".L-"+q,k=o.14,l={M:o.M.12,R:o.R.12,1t:k.1t[0]===t?1B:k.1t},n={M:2A(o.M.1c).2X(" "),R:2A(o.R.1c).2X(" ")},p=a(1B),r=a.1I.2s&&1z(a.1I.3i,10)===6;f&&(o.R.23&&(l.R=l.R.2p(w),w.19("6G"+h,I(){w.24(i)||1G(s.1p.R)})),w.19("2Q"+h+" 46"+h,I(a){s[a.1E==="2Q"?"2n":"1Q"](a)})),d&&("2y"===11 o.R.21&&(l.M.19("L-"+q+"-21",x),a.1i(a.S.L.4z,I(a,b){l.R.2p(s.1d.1n).19(b+h+"-21",x)})),a.1i(n.R,I(b,c){K d=a.6r(c,n.M),e=a(l.R);d>-1&&e.2p(l.M).16===e.16||c==="4q"?(l.M.19(c+h,I(a){y()?v(a):u(a)}),2x n.M[d]):l.R.19(c+h,v)})),c&&a.1i(n.M,I(a,b){l.M.19(b+h,u)}),g&&((k.2v.2q||k.1S)&&a(a.1c.6s.2q?k.1S:b).19("2q"+h,z),(k.1S||r&&w.W("14")==="23")&&a(k.1S).19("3Z"+h,z),/4q/i.1w(o.R.1c)&&p.19("3h"+h,I(b){K c=a(b.12);c.6t(j).16===0&&c.2p(m).16>1&&y()&&!w.24(i)&&s.R(b)}),k.12==="1V"&&p.19("3I"+h,I(b){k.2v.1V&&!w.24(i)&&y()&&s.1R(b||a.S.L.1V)}))}I F(b,c){K f=s.1d.T;Q(!s.1g||!b)J e;a.27(b)&&(b=b.1J(m,s)||""),b.1K&&b.16>0?f.4s().32(b.W({2g:"2G"})):f.2D(b),w.3u("3U",I(b){I e(a){c=c.3o(a),c.16===0&&(s.3a(),s.1g&&y()&&s.1R(s.1o.1c),b())}K c=f.4t("2Z:3o([V]):3o([U])");c.1i(I(b,c){K f=["6u","3z","2z","6v",""].6w(".L-6x ");a(N).19(f,I(){1G(s.1p.2Z[b]),e(N)}),I g(){Q(c.V&&c.U)J e(c);s.1p.2Z[b]=2P(g,20)}();J d}),c.16===0&&e(c)});J s}I E(b){K c=s.1d.13;Q(!s.1g||!b)J e;a.27(b)&&(b=b.1J(m,s)||""),b.1K&&b.16>0?c.4s().32(b.W({2g:"2G"})):c.2D(b),s.3a(),s.1g&&y()&&s.1R(s.1o.1c)}I D(a){K b=s.1d.1C,c=s.1d.13;Q(!s.1g)J e;a?(c||C(),B()):b.1P()}I C(){K b=s.1d,c=u+"-13";b.1x&&A(),b.1x=a("<2h />",{"1N":g+"-1x "+(o.15.2r?"1u-2r-4A":"")}).32(b.13=a("<2h />",{1e:c,"1N":g+"-13","1O-3R":d})).6z(b.T),o.T.13.1C?B():s.1g&&s.3a()}I B(){K b=s.1d,c=o.T.13.1C;b.1C&&b.1C.1P(),c.1K?b.1C=c:b.1C=a("",{"1N":"1u-35-3k "+(o.15.2r?"":g+"-3t"),13:"4u 1n","1O-6A":"4u 1n"}).6C(a("<6D />",{"1N":"1u-3t 1u-3t-6E",2D:"&6F;"})),b.1C.2B(b.1x).18("4E","1C").4w(I(b){a(N).2b("1u-35-4w",b.1E==="2Q")}).3O(I(a){w.24(i)||s.R(a);J e}).19("3h 6I 4x 6J 6L",I(b){a(N).2b("1u-35-6N 1u-35-2n",b.1E.2l(-4)==="6P")}),s.3a()}I A(){K a=s.1d;a.13&&(a.1x.1P(),a.1x=a.13=a.1C=f,s.1R())}I z(){K a=s.1d,b=o.15.2r;w.2b(h,b),a.T.2b(h+"-T",b),a.1x&&a.1x.2b(h+"-4A",b),a.1C&&a.1C.2b(g+"-3t",!b)}I y(){J w&&w.W("P")!==l&&w.W("3c")!=="2S"}I x(a){K b,d,e=a.2X("."),f=o[e[0]];3m(b=1;b0&&!a("#"+i).16&&(w[0].1e=i,s.1d.T[0].1e=i+"-T",s.1d.13[0].1e=i+"-13")},"^T.1q$":I(a,b,c){F(c)},"^T.13.1q$":I(a,b,c){Q(!c)J A();!s.1d.13&&c&&C(),E(c)},"^T.13.1C$":I(a,b,c){D(c)},"^14.(1L|2o)$":I(b,c,d){"1l"===11 d&&(b[c]=1F a.S.L.Y.2t(d))},"^14.1t$":I(a,b,c){s.1g&&w.2B(c)},"^(M|R).(1c|12|23|2a|21)$":I(a,b,c,d){K e=b.3N(/23/i)>-1?[0,[0,1,1,1]]:[b.2l(0,3),b.30(0)==="s"?[1,0,0,0]:[0,1,0,0]];e[0]&&(a[b]=d),H.2k(s,e[1]),e[0]&&(a[b]=c),G.2k(s,e[1])},"^M.2N$":I(){s.1g||s.M()},"^15.36$":I(b,c,d){a.18(w[0],"1N",g+" L 1u-4C-4D "+d)},"^15.2r|T.13":z,"^3x.(1H|M|3y|R|2n|1Q)$":I(b,c,d){w[(a.27(d)?"":"6U")+"19"]("1n"+c,d)}},a.1m(s,{1H:I(b){Q(s.1g)J e;K c=s.1d,f=o.T.1q,h=o.T.13.1q,j=a.2O("6V");a.18(m[0],"1O-3w",u),w=c.1n=a("<2h/>").18({1e:u,"1N":g+" L 1u-4C-4D "+o.15.36,4E:"6W","1O-6Y":"6Z","1O-3R":e,"1O-3w":u+"-T","1O-2S":d}).2b(i,s.1o.2w).1A("L",s).2B(o.14.1t).32(c.T=a("<2h />",{"1N":g+"-T",1e:u+"-T","1O-3R":d})),s.1g=d,h&&(C(),E(h)),F(f),z(),a.1i(a.S.L.Y,I(){N.2j==="1H"&&N(s)}),G(1,1,1,1),a.1i(o.3x,I(a,b){Q(b){K c=a==="29"?"33 4K":"1n"+a;w.19(c,b)}}),w.W("3c","2S").3u("3U",I(a){j.39=s.1o.1c,w.2c(j,[s]),(o.M.2N||b)&&s.M(s.1o.1c),a()});J s},3C:I(b){K c,d;4I(b.2i()){2R"4L":c={V:w.2E(),U:w.31()};2u;2R"X":c=a.S.L.Y.X(w,o.14.1t);2u;3k:d=x(b.2i()),c=d[0].1r?d[0].1l():d[0].1K?d[0]:d[0][d[1]]}J c},2L:I(b,c){I k(b,c){b=b.2i();K e=x(b),f,g,h;f=e[0][e[1]],e[0][e[1]]=c.7a?a(c):c;Q(s.1g)3m(g 1M i)3m(h 1M i[g])(1F 7d(h,"i")).1w(b)&&i[g][h].1J(s,e[0],e[1],c,f);2H b==="M.2N"&&s.1H(d)}K f=s.1d,g=/^14.(1L|2o|2v|12|1t)|15|T/i,h=e,i=s.2J,j;"1l"===11 b&&(j=b,b={},b[j]=c),v=1;3m(j 1M b)k(j,b[j]),h=g.1w(j)||h;v=0,h&&y()&&s.1g&&s.1R(),p(o);J s},29:I(b,c){I k(){b?a.1I.2s&&w[0].15.4Y("2W"):w.W({2g:"",3c:"2S",U:"",44:"",P:"",O:""})}Q(!s.1g)Q(b)s.1H(1);2H J e;K d=b?"M":"R",g=o[d],h=y(),i;(11 b).3N("2V|2y")&&(b=!h);Q(h===b)J s;Q(c){Q(/7h|7j/.1w(c.1E)&&/4N|4O/.1w(s.1o.1c.1E)&&c.12===o.M.12[0]&&w.7l(c.4P).16)J s;s.1o.1c=a.1m({},c)}i=a.2O("1n"+d),i.39=c?s.1o.1c:f,w.2c(i,[s,3r]);Q(i.43())J s;a.18(w[0],"1O-2S",!b),b?(w.R().W({3c:""}),s.2n(c),s.1R(c,0),g.4X&&a(j).3o(w).L("R",i)):(1G(s.1p.M),s.1Q(c)),w.3T(1,1),a.27(g.1X)?(g.1X.1J(w,s),w.3u("3U",I(a){k.1J(N,a),a()})):g.1X===e?(w[d](),k.1J(w)):w.4Q(3r,b?1:0,k),b&&g.12.2c("L-"+q+"-21");J s},M:I(a){s.29(d,a)},R:I(a){s.29(e,a)},2n:I(b){Q(!s.1g)J e;K c=a(j),d=1z(w[0].15.37,10),f=a.S.L.3M+c.16,g=a.1m({},b),h,i;w.24(k)||(d!==f&&(c.1i(I(){N.15.37>d&&(N.15.37=N.15.37-1)}),c.2W("."+k).L("1Q",g)),i=a.2O("7p"),i.39=g,w.2c(i,[s,f]),i.43()||(w.45(k)[0].15.37=f));J s},1Q:I(b){K c=a.1m({},b),d;w.54(k),d=a.2O("7q"),d.39=c,w.2c(d,[s])},1R:I(f,h){Q(!s.1g||v)J e;v=d;K i=o.14.12,j=o.14,k=j.1L,l=j.2o,m=j.2v,n=w.31(),p=w.2E(),q=0,r=0,u=a.2O("3Y"),x=w.W("14")==="23",z=j.1S.1K?j.1S:a(b),A={P:0,O:0},B={P:I(a){K b=z.2F,c=k.x==="P"?n:k.x==="1j"?-n:-n/2,d=l.x==="P"?q:l.x==="1j"?-q:-q/2,e=b-a,f=a+n-z.U-b,g=c-(k.1r==="x"||k.x===k.y?d:0);e>0&&(k.x!=="P"||f>0)?A.P-=g:f>0&&(k.x!=="1j"||e>0)&&(A.P-=(k.x==="1s"?-1:1)*g+2*m.x),A.P<0&&-A.P>f&&(A.P=a);J A.P-a},O:I(a){K b=z.2C,c=k.y==="O"?p:k.y==="1k"?-p:-p/2,d=l.y==="O"?r:l.y==="1k"?-r:-r/2,e=b-a,f=a+p-z.V-b,g=c-(k.1r==="y"||k.x===k.y?d:0);e>0&&(k.y!=="O"||f>0)?A.O-=g:f>0&&(k.y!=="1k"||e>0)&&(A.O-=(k.y==="1s"?-1:1)*g+2*m.y),A.O<0&&-A.O>f&&(A.O=a);J A.O-a}};h=h===c||!!h||e,z=z?{4W:z,V:z[(z[0]===b?"h":"7r")+"7s"](),U:z[(z[0]===b?"w":"7t")+"7u"](),2F:z.2F(),2C:z.2C()}:e;Q(i==="1V")l={x:"P",y:"O"},f=f&&(f.1E==="2q"||f.1E==="3Z")?s.1o.1c:m.1V||!f||!f.3j?a.1m({},a.S.L.1V):f,A={O:f.3S,P:f.3j};2H{i==="1c"&&(f&&f.12&&f.1E!=="3Z"&&f.1E!=="2q"?i=s.1o.12=a(f.12):i=s.1o.12),i=a(i).7v(0);Q(i.16===0)J s;i[0]===1B||i[0]===b?(q=i.U(),r=i.V(),i[0]===b&&(A={O:x?0:z.2C,P:x?0:z.2F})):i.41("7w")&&a.S.L.Y.3W?(A=a.S.L.Y.3W(i,l),q=A.U,r=A.V,A=A.X):i[0].7x=="7y://7z.7A.7B/7C/3v"&&a.S.L.Y.3v?(A=a.S.L.Y.3v(i,l),q=A.U,r=A.V,A=A.X):(q=i.31(),r=i.2E(),A=a.S.L.Y.X(i,j.1t)),A.P+=l.x==="1j"?q:l.x==="1s"?q/2:0,A.O+=l.y==="1k"?r:l.y==="1s"?r/2:0}A.P+=m.x+(k.x==="1j"?-n:k.x==="1s"?-n/2:0),A.O+=m.y+(k.y==="1k"?-p:k.y==="1s"?-p/2:0),j.1S.1K&&i[0]!==b&&i[0]!==t?A.3s={P:B.P(A.P),O:B.O(A.O)}:A.3s={P:0,O:0},w.18("1N",I(b,c){J a.18(N,"1N").2f(/1u-1n-4U-\\w+/i,"")}).45(g+"-4U-"+k.4y()),u.39=a.1m({},f),w.2c(u,[s,A,z.4W]);Q(u.43())J s;2x A.3s,h&&7F(A.P,A.O)?y()&&a.27(j.1X)&&(j.1X.1J(w,s,A),w.3u(I(b){K c=a(N);c.W({44:"",V:""}),a.1I.2s&&N.15&&N.15.4Y("2W"),b()})):w.W(A),v=e;J s},3a:I(){Q(!s.1g||(!a.1I.2s||a.1I.3i>=8))J e;K b=g+"-7G",c;w.W({U:"51",V:"51"}).45(b),c={V:w.2E(),U:w.31()},a.1i(["U","V"],I(a,b){K d=1z(w.W("2K-"+b),10)||0,e=1z(w.W("53-"+b),10)||0;c[b]=d+e?1b.53(1b.2K(c[b],e),d):c[b]}),w.W(c).54(b)},7H:I(){s.3P(d)},3P:I(b){K c=i;"2V"!==11 b&&(b=!w.24(c)&&!s.1o.2w),s.1g?(w.2b(c,b),a.18(w[0],"1O-2w",b)):s.1o.2w=!!b;J s},1Z:I(){K b=m[0],c=a.1A(b,n);s.1g&&(w.1P(),a.1i(s.Y,I(){N.2j==="1H"&&N.1Z()})),1G(s.1p.M),1G(s.1p.R),H(1,1,1,1),a.48(b,"L"),c&&a.18(b,"13",c),m.3d("1O-3w");J m}})}I p(b){K c;Q(!b||"1f"!==11 b)J e;"1f"!==11 b.1Y&&(b.1Y={1E:b.1Y});Q("T"1M b){Q("1f"!==11 b.T||b.T.1K)b.T={1q:b.T};c=b.T.1q||e,!a.27(c)&&(!c&&!c.18||c.16<1||"1f"===11 c&&!c.1K)&&(b.T.1q=e),"13"1M b.T&&("1f"!==11 b.T.13&&(b.T.13={1q:b.T.13}),c=b.T.13.1q||e,!a.27(c)&&(!c&&!c.18||c.16<1||"1f"===11 c&&!c.1K)&&(b.T.13.1q=e))}"14"1M b&&("1f"!==11 b.14&&(b.14={1L:b.14,2o:b.14})),"M"1M b&&("1f"!==11 b.M&&(b.M.1K?b.M={12:b.M}:b.M={1c:b.M})),"R"1M b&&("1f"!==11 b.R&&(b.R.1K?b.R={12:b.R}:b.R={1c:b.R})),"15"1M b&&("1f"!==11 b.15&&(b.15={36:b.15})),a.1i(a.S.L.Y,I(){N.2U&&N.2U(b)});J b}I o(){K c=b.58;J c&&(c.3z||c.59||a.5c).2k(c,25)}K d=!0,e=!1,f=52,g="1u-1n",h="1u-2r",i="1u-35-2w",j="2h.L."+g,k=g+"-2n",l="-5j",m="5l",n="78";a.S.L=I(b,e,g){K h=2A(b).2i(),i=f,j=h==="3P"?[d]:a.5o(25).4Z(1,10),k=j[j.16-1],l=N[0]?a.1A(N[0],"L"):f;Q(!25.16&&l||h==="5q")J l;Q("1l"===11 b){N.1i(I(){K b=a.1A(N,"L");Q(!b)J d;k&&k.5r&&(b.1o.1c=k),/3l|2L/.1w(h)&&e?a.5u(e)||g!==c?b.2L(e,g):i=b.3C(e):b[h]&&b[h].2k(b[h],j)});J i!==f?i:N}Q("1f"===11 b||!25.16){l=p(a.1m(d,{},b));J a.S.L.19.1J(N,l,k)}},a.S.L.19=I(b,c){J N.1i(I(f){I n(b){I c(){m.1H(11 b==="1f"||h.M.2N),i.M.1D(j.M),i.R.1D(j.R)}Q(m.1o.2w)J e;m.1o.1c=a.1m({},b),h.M.2a>0?(1G(m.1p.M),m.1p.M=2P(c,h.M.2a),j.M!==j.R&&i.R.19(j.R,I(){1G(m.1p.M)})):c()}K h,i,j,k=!b.1e||b.1e===e||b.1e.16<1||a("#"+g+"-"+b.1e).16?a.S.L.3G++:b.1e,l=".L-"+k+"-2e",m=r.1J(N,k,b);Q(m===e)J d;h=m.26,a.1i(a.S.L.Y,I(){N.2j==="2j"&&N(m)}),i={M:h.M.12,R:h.R.12},j={M:2A(h.M.1c).2f(" ",l+" ")+l,R:2A(h.R.1c).2f(" ",l+" ")+l},i.M.19(j.M,n),(h.M.2N||h.4R)&&n(c)})},a.1i({18:I(b,c){Q(N.16){K d=N[0],e="13",f=a.1A(d,"L");Q(b===e){Q(25.16<2)J a.1A(d,n);Q(11 f==="1f"){f&&f.1g&&f.26.T.18===e&&f.1o.18&&f.2L("T.1q",c),a.S["18"+m].2k(N,25),a.1A(d,n,a.18(d,e));J N.3d("13")}}}},56:I(b){K c=a([]),d;a("*",N).2p(N).1i(I(){K b=a.1A(N,n);b&&(a.18(N,"13",b),c=c.2p(N))}),d=a.S["56"+m].2k(N,25),c.3d("13");J d},1P:a.1u?f:I(b,c){a(N).1i(I(){c||(!b||a.2W(b,[N]).16)&&a("*",N).2p(N).1i(I(){a(N).5V("1P")})})}},I(b,c){Q(!c)J d;K e=a.S[b+m]=a.S[b];a.S[b]=I(){J c.2k(N,25)||e.2k(N,25)}}),a(b).2z(I(){K b=1B,d=b.2I;a(b).19("3I.L",I(b){a.S.L.1V={3j:b.3j,3S:b.3S}}),b.4o===c&&b.67("2n",I(a){a&&a.12&&(b.4o=a.12===b?d:a.12)},!0)}),a.S.L.3i="2.0.6a",a.S.L.3G=0,a.S.L.4z="3O 6g 3h 4x 3I 46 2Q".2X(" "),a.S.L.3M=6q,a.S.L.Y={2t:I(a){a=2A(a).2f(/([A-Z])/," $1").2f(/6y/4r,"1s").2i(),N.x=(a.3L(/P|1j/i)||a.3L(/1s/)||["3f"])[0].2i(),N.y=(a.3L(/O|1k|1s/i)||["3f"])[0].2i(),N.1r=a.30(0).3N(/^(t|b)/)>-1?"y":"x",N.1l=I(){J N.1r==="y"?N.y+N.x:N.x+N.y},N.4y=I(){K a=N.x.2l(0,1),b=N.y.2l(0,1);J a===b?a:a==="c"||a!=="c"&&b!=="c"?b+a:a+b}},X:I(b,c){K d=b.X(),e=c,f=0,g=!a.S.L.Y.4H,h;Q(e){6T{Q(e[0]===1B.2I)2u;e.W("14")!=="6X"&&(h=e.14(),d.P-=h.P,d.O-=h.O,f++)}3g(e=e.70());Q(!g||f>1)h=g?1:-1,d.P+=h*c.2F(),d.O+=h*c.2C()}J d},4H:71((/74.+75 ([0-79]{3}).*7b.*7e/i.7f(7i.7k)||[0,"7m"])[1].2f("7n","."))<4.1},a.S.L.38={4R:e,1e:e,3X:d,T:{1q:d,18:"13",13:{1q:e,1C:e}},14:{1L:"O P",2o:"1k 1j",12:e,1t:e,1S:e,2v:{x:0,y:0,1V:d,2q:d},1X:d},M:{12:e,1c:"2Q",1X:d,2a:3r,4X:e,2N:e},R:{12:e,1c:"46",1X:d,2a:0,23:e,21:e},15:{36:"",2r:e},3x:{1H:f,3y:f,M:f,R:f,29:f,2n:f,1Q:f}},a.S.L.Y.1y=I(a){K b=a.Y.1y;J"1f"===11 b?b:a.Y.1y=1F s(a)},a.S.L.Y.1y.2j="1H",a.S.L.Y.1y.2U=I(a){K b=a.T,c;b&&"1y"1M b&&(c=b.1y,11 c!=="1f"&&(c=a.T.1y={2m:c}),"2V"!==11 c.1T&&c.1T&&(c.1T=!!c.1T))},a.1m(d,a.S.L.38,{T:{1y:{1T:d}}}),a.S.L.Y.17=I(a){K b=a.Y.17;J"1f"===11 b?b:a.Y.17=1F u(a)},a.S.L.Y.17.2j="1H",a.S.L.Y.17.2U=I(a){K b=a.15,c;b&&"17"1M b&&(c=a.15.17,11 c!=="1f"&&(a.15.17={1h:c}),/1l|2V/i.1w(11 c.1h)||(c.1h=d),11 c.U!=="2y"&&2x c.U,11 c.V!=="2y"&&2x c.V,11 c.1a!=="2y"&&c.1a!==d&&2x c.1a,11 c.X!=="2y"&&2x c.X)},a.1m(d,a.S.L.38,{15:{17:{1h:d,3p:e,U:6,V:6,1a:d,X:0}}}),a.S.L.Y.3W=I(b,c){I l(a,b){K d=0,e=1,f=1,g=0,h=0,i=a.U,j=a.V;3g(i>0&&j>0&&e>0&&f>0){i=1b.3n(i/2),j=1b.3n(j/2),c.x==="P"?e=i:c.x==="1j"?e=a.U-i:e+=1b.3n(i/2),c.y==="O"?f=j:c.y==="1k"?f=a.V-j:f+=1b.3n(j/2),d=b.16;3g(d--){Q(b.16<2)2u;g=b[d][0]-a.X.P,h=b[d][1]-a.X.O,(c.x==="P"&&g>=e||c.x==="1j"&&g<=e||c.x==="1s"&&(ga.U-e)||c.y==="O"&&h>=f||c.y==="1k"&&h<=f||c.y==="1s"&&(ha.V-f))&&b.5X(d,1)}}J{P:b[0][0],O:b[0][1]}}K d=b.18("47").2i(),e=b.18("68").2X(","),f=[],g=a(\'2Z[6j="#\'+b.6m("4B").18("3K")+\'"]\'),h=g.X(),i={U:0,V:0,X:{O:3b,1j:0,1k:0,P:3b}},j=0,k=0;h.P+=1b.3e((g.31()-g.U())/2),h.O+=1b.3e((g.2E()-g.V())/2);Q(d==="4S"){j=e.16;3g(j--)k=[1z(e[--j],10),1z(e[j+1],10)],k[0]>i.X.1j&&(i.X.1j=k[0]),k[0]i.X.1k&&(i.X.1k=k[1]),k[1]35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('"5b 7I",9(a,b,c){9 y(b){M c=O,d=b.2w,e=d.1l,f=".1Q-"+b.1e,g="3Z"+f+" 31"+f;a.1k(c,{1Y:9(){d.1Q=a(\'<41 1J="1s-1l-1Q" 5d="0" 5e="-1" 5f="7z:\\\'\\\';" 13="2g:2E; 14:44; z-3B:-1; 2W:7t(48=0);">\'),d.1Q.2J(e),e.18(g,c.2t)},2t:9(){M a=b.3C("4P"),c=b.1I.16,f=b.2w.16,g,h;h=1w(e.W("19-Q-U"),10)||0,h={Q:-h,P:-h},c&&f&&(g=c.1g.1r==="x"?["U","Q"]:["V","P"],h[g[1]]-=f[g[0]]()),d.1Q.W(h).W(a)},1R:9(){c.41.1L(),e.1E(g)}}),c.1Y()}9 x(c){M f=O,h=c.2a.N.1u,i=c.2w,j=i.1l,k="#1a-1W",l=".5i",m="31"+l+" 4N"+l;c.2z.1u={"^N.1u.(2L|22)$":9(){f.1Y(),i.1W.26(j.43(":7A"))}},a.1k(f,{1Y:9(){h.2L&&(j.1E(l).18(m,9(b,c,d){M e=b.1C.2j("1l","");a.25(h[e])?h[e].1F(i.1W,d,c):f[e](d)}),f.2e(),h.22===d&&i.1W.1E(l+c.1e).18("3N"+l+c.1e,9(){c.S.1F(c)}),i.1W.W("5j",h.22?"5k":""))},2e:9(){M c=a(k),d;R(c.17){i.1W=c;L c}d=i.1W=a("<2k />",{1e:k.2m(1),W:{14:"44",P:0,Q:0,2g:"4X"},3j:9(){L e}}).2J(1x.2A),a(b).18("2q"+l,9(){d.W({V:1b.2Q(a(b).V(),a(1x).V()),U:1b.2Q(a(b).U(),a(1x).U())})}).2p("2q");L d},26:9(b){M h=i.1W,k=c.2a.N.1u.1Z,l=b?"N":"S",m;h||(h=f.2e());R(!h.43(":5l")||b)h.3D(d,e),b&&(m=1w(a.W(j[0],"z-3B"),10),h.W("z-3B",(m||g.3L)-1)),a.25(k)?k.1F(h,b):k===e?h[l]():h.4W(3w,b?.7:0,9(){b||a(O).S()})},N:9(){f.26(d)},S:9(){f.26(e)},1R:9(){M f=d;a("*").1h(9(){M b=a(O).1B("1a");R(b&&b.1e!==b.1e&&b.2a.N.1u)L f=e}),f?(i.1W.1L(),a(b).1E(l)):i.1W.1E(l+c.1e),j.1E(m)}}),f.1Y()}9 w(b,g){9 w(a){M b=a.1r==="y",c=n[b?"U":"V"],d=n[b?"V":"U"],e=a.1m().3G("1q")>-1,f=c*(e?.5:1),g=1b.6P,h=1b.3E,i,j,k,l=1b.3R(g(f,2)+g(d,2)),m=[p/f*l,p/d*l];m[2]=1b.3R(g(m[0],2)-g(p,2)),m[3]=1b.3R(g(m[1],2)-g(p,2)),i=l+m[2]+m[3]+(e?0:m[0]),j=i/l,k=[h(j*d),h(j*c)];L{V:k[b?0:1],U:k[b?1:0]}}9 u(b){M c=k.1v&&b.y==="P",d=c?k.1v:k.T,e=a.1K.6V,f=e?"-5o-":a.1K.4A?"-4A-":"",g=b.y+(e?"":"-")+b.x,h=f+(e?"19-4e-"+g:"19-"+g+"-4e");L 1w(d.W(h),10)||1w(l.W(h),10)||0}9 t(a,b,c){b=b?b:a[a.1r];M d=k.1v&&a.y==="P",e=d?k.1v:k.T,f="19-"+b+"-U",g=1w(e.W(f),10);L(c?g||1w(l.W(f),10):g)||0}9 s(b,e,f,g){R(k.16){M h=a.1k({},i.1g),l=f.3x,n;i.1g.28!==d&&(l.Q&&(h.x=h.x==="1q"?l.Q>0?"Q":"1j":h.x==="Q"?"1j":"Q"),l.P&&(h.y=h.y==="1q"?l.P>0?"P":"1i":h.y==="P"?"1i":"P"),h.1m()!==m.1g&&(m.P!==l.P||m.Q!==l.Q)&&(n=i.2U(h))),n||(n=i.14(h,0)),n.1j!==c&&(n.Q=n.1j),n.1i!==c&&(n.P=n.1i),n.3q=1b.2Q(0,j.X),f.Q-=n.Q.2F?n.3q:(n.1j?-1:1)*n.Q,f.P-=n.P.2F?n.3q:(n.1i?-1:1)*n.P,m.Q=l.Q,m.P=l.P,m.1g=h.1m()}}M i=O,j=b.2a.13.16,k=b.2w,l=k.1l,m={P:0,Q:0,1g:""},n={U:j.U,V:j.V},o={},p=j.19||0,q=".1a-16",r=a("<4v />")[0].3F;i.1g=f,i.3e=f,b.2z.16={"^14.1O|13.16.(1g|3e|19)$":9(){i.1Y()||i.1R(),b.1V()},"^13.16.(V|U)$":9(){n={U:j.U,V:j.V},i.2e(),i.2U(),b.1V()},"^T.12.1p|13.(2R|2b)$":9(){k.16&&i.2U()}},a.1k(i,{1Y:9(){M b=i.4z()&&(r||a.1K.2s);b&&(i.2e(),i.2U(),l.1E(q).18("3Z"+q,s));L b},4z:9(){M a=j.1g,c=b.2a.14,f=c.2o,g=c.1O.1m?c.1O.1m():c.1O;R(a===e||g===e&&f===e)L e;a===d?i.1g=1D h.2v(g):a.1m||(i.1g=1D h.2v(a),i.1g.28=d);L i.1g.1m()!=="59"},4g:9(){M c=k.16.W({6q:"",19:""}),d=i.1g,e=d[d.1r],f="19-"+e+"-2V",g="19"+e.2F(0)+e.2m(1)+"6C",h=/76?\\(0, 0, 0(, 0)?\\)|2Z/i,m="7N-2V",p="2Z",q=k.1v&&(d.y==="P"||d.y==="1q"&&c.14().P+n.V/2+j.X",{"1J":"1s-1l-16"}).W({U:b,V:c}).5v(l),r?a("<4v />").2J(k.16)[0].3F("2d").4h():(d=\'<3Y:3Q 5w="0,0" 13="2g:2E; 14:44; 4n:2f(#3f#4o);">\',k.16.2C(p?d+=d:d))},2U:9(b){M c=k.16,g=c.5y(),l=n.U,m=n.V,q="3X 5z ",s="3X 4i 2Z",u=j.3e,x=1b.3E,y,z,A,B,C;b||(b=i.1g),u===e?u=b:(u=1D h.2v(u),u.1r=b.1r,u.x==="3l"?u.x=b.x:u.y==="3l"?u.y=b.y:u.x===u.y&&(u[b.1r]=b[b.1r])),y=u.1r,i.4g(),p=o.19==="2Z"||o.19==="#5A"?0:j.19===d?t(b,f,d):j.19,A=v(u,l,m),C=w(b),c.W(C),b.1r==="y"?B=[x(u.x==="Q"?p:u.x==="1j"?C.U-l-p:(C.U-l)/2),x(u.y==="P"?C.V-m:0)]:B=[x(u.x==="Q"?C.U-l:0),x(u.y==="P"?p:u.y==="1i"?C.V-m-p:(C.V-m)/2)],r?(g.15(C),z=g[0].3F("2d"),z.5B(),z.4h(),z.5D(0,0,4a,4a),z.5E(B[0],B[1]),z.5F(),z.5G(A[0][0],A[0][1]),z.4u(A[1][0],A[1][1]),z.4u(A[2][0],A[2][1]),z.5H(),z.5I=o.29,z.5J=o.19,z.7K=p*2,z.5L="4V",z.5M=5N,z.4l(),z.29()):(A="m"+A[0][0]+","+A[0][1]+" l"+A[1][0]+","+A[1][1]+" "+A[2][0]+","+A[2][1]+" 5O",B[2]=p&&/^(r|b)/i.1A(b.1m())?1:0,g.W({5P:""+(u.1m().3G("1q")>-1),Q:B[0]-B[2]*4j(y==="x"),P:B[1]-B[2]*4j(y==="y"),U:l+p,V:m+p}).1h(9(b){M c=a(O);c.15({5Q:l+p+" "+(m+p),5R:A,5S:o.29,5T:!!b,5U:!b}).W({2g:p||b?"2E":"4X"}),!b&&p>0&&c.2C()===""&&c.2C(\'<3Y:4l 5V="\'+p*2+\'3X" 2V="\'+o.19+\'" 5W="5X" 5Y="4V" 13="4n:2f(#3f#4o); 2g:2E;" />\')}));L i.14(b,1)},14:9(b,c){M f=k.16,g={},h=1b.2Q(0,j.X),l,m,n;R(j.1g===e||!f)L e;b=b||i.1g,l=b.1r,m=w(b),n=a.1K.2s&&p&&/^(b|r)/i.1A(b.1m())?1:0,a.1h(l==="y"?[b.x,b.y]:[b.y,b.x],9(a,c){M e,f;c==="1q"?(e=l==="y"?"Q":"P",g[e]="50%",g["4p-"+e]=-1b.3E(m[l==="y"?"U":"V"]/2)+h):(e=t(b,c,d),f=u(b),g[c]=a||!p?t(b,c)+(a?0:f):h+(f>e?f:0))}),g[b[l]]-=m[l==="x"?"U":"V"]+n,c&&f.W({P:"",1i:"",Q:"",1j:"",4p:""}).W(g);L g},1R:9(){k.16&&k.16.1L(),l.1E(q)}}),i.1Y()}9 v(a,b,c){M d=1b.3i(b/2),e=1b.3i(c/2),f={4Q:[[0,0],[b,c],[b,0]],4r:[[0,0],[b,0],[0,c]],4s:[[0,c],[b,0],[b,c]],4t:[[0,0],[0,c],[b,c]],7i:[[0,c],[d,0],[b,c]],60:[[0,0],[b,0],[d,c]],61:[[0,0],[b,e],[0,c]],62:[[b,0],[b,c],[0,e]]};f.64=f.4Q,f.65=f.4r,f.66=f.4s,f.67=f.4t;L f[a.1m()]}9 u(b){M c=O,d=b.2w.1l,e=b.2a.T.1y,f=".1a-1y",g=/<3S\\b[^<]*(?:(?!<\\/3S>)<[^<]*)*<\\/3S>/4B;b.2z.1y={"^T.1y":9(a,b){b==="1T"?c.1T():e&&e.2f&&c.2O()}},a.1k(c,{1Y:9(){e&&e.2f&&(c.2O(),d.68("31",c.1T))},1T:9(){e.1T?c.1R():d.18("31"+f,c.2O)},2O:9(){9 j(a,c,d){b.2M("T.1p",c+": "+d)}9 i(c){h&&(c=a("<2k/>").30(c.2j(g,"")).4w(h)),b.2M("T.1p",c)}M d=e.2f.3G(" "),f=e.2f,h;d>-1&&(h=f.2m(d),f=f.2m(0,d)),a.1y(a.1k({69:i,46:j,6a:b},e,{2f:f}));L c},1R:9(){d.1E(f)}}),c.1Y()}9 t(b,c){M i,j,k,l,m=a(O),n=a(1x.2A),o=O===1x?n:m,t=m.1X?m.1X(c.1X):f,u=c.1X.1C==="6b"&&t?t[c.1X.3J]:f,v=m.1B(c.1X.3J||"6c");6Y{v=Y v==="1m"?(1D 6X("L "+v))():v}6f(w){q("6g 6U 6T 6i 6j 1B: "+v)}l=a.1k(d,{},g.39,c,Y v==="1c"?r(v):f,r(u||t)),t&&a.4b(O,"1X"),j=l.14,l.1e=b;R("38"===Y l.T.1p){k=m.15(l.T.15);R(l.T.15!==e&&k)l.T.1p=k;2H L e}j.1t===e&&(j.1t=n),j.11===e&&(j.11=o),l.N.11===e&&(l.N.11=o),l.S.11===e&&(l.S.11=o),l.14.1U===d&&(l.14.1U=j.1t),j.2o=1D h.2v(j.2o),j.1O=1D h.2v(j.1O);R(a.1B(O,"1a"))R(l.42)m.1a("1R");2H R(l.42===e)L e;a.15(O,"12")&&(a.1B(O,p,a.15(O,"12")),m.3s("12")),i=1D s(m,l,b,!!k),a.1B(O,"1a",i),m.18("1L.1a",9(){i.1R()});L i}9 s(o,q,s,t){9 K(c,d,e,g){g=1w(g,10)!==0;M h=".1a-"+s,i={N:c?q.N.11:f,S:d?q.S.11:f,1l:e?z.1l:f,T:e?z.T:f,1t:g?q.14.1t[0]===v?1x:q.14.1t:f,45:g?b:f};u.1f?a([]).6Q(a.6k([i.N,i.S,i.1l,i.1t,i.T,i.45],9(){L O!==4d})).1E(h):c&&i.N.1E(h+"-2e")}9 J(c,d,f,h){9 A(a){B()&&u.1V(a)}9 x(a){R(y.23(k))L e;1H(u.1o.1S),u.1o.1S=2T(9(){u.S(a)},q.S.1S)}9 w(b){R(y.23(k))L e;M c=a(b.4U||b.11),d=c.6O(l)[0]===y[0],f=c[0]===m.N[0];1H(u.1o.N),1H(u.1o.S);R(j.11==="21"&&d||q.S.28&&(/21(4R|4S|3V)/.1A(b.1C)&&(d||f))){b.6l(),b.6M();L e}y.3D(1,1),q.S.24>0?u.1o.S=2T(9(){u.S(b)},q.S.24):u.S(b)}9 t(a){R(y.23(k))L e;m.N.2p("1a-"+s+"-1S"),1H(u.1o.N),1H(u.1o.S);M b=9(){u.N(a)};q.N.24>0?u.1o.N=2T(b,q.N.24):b()}M i=".1a-"+s,j=q.14,m={N:q.N.11,S:q.S.11,1t:j.1t[0]===v?1x:j.1t},n={N:2I(q.N.1d).2X(" "),S:2I(q.S.1d).2X(" ")},p=a(1x),r=a.1K.2s&&1w(a.1K.3o,10)===6;f&&(q.S.28&&(m.S=m.S.2h(y),y.18("6L"+i,9(){y.23(k)||1H(u.1o.S)})),y.18("3b"+i+" 3y"+i,9(a){u[a.1C==="3b"?"2i":"22"](a)})),d&&("2y"===Y q.S.1S&&(m.N.18("1a-"+s+"-1S",x),a.1h(g.4D,9(a,b){m.S.2h(z.1l).18(b+i+"-1S",x)})),a.1h(n.S,9(b,c){M d=a.6o(c,n.N),e=a(m.S);d>-1&&e.2h(m.N).17===e.17||c==="4E"?(m.N.18(c+i,9(a){B()?w(a):t(a)}),2B n.N[d]):m.S.18(c+i,w)})),c&&a.1h(n.N,9(a,b){m.N.18(b+i,t)}),h&&((j.2t.2q||j.1U)&&a(a.1d.6p.2q?j.1U:b).18("2q"+i,A),(j.1U||r&&y.W("14")==="28")&&a(j.1U).18("40"+i,A),/4E/i.1A(q.S.1d)&&p.18("3j"+i,9(b){M c=a(b.11);c.6r(l).17===0&&c.2h(o).17>1&&B()&&!y.23(k)&&u.S(b)}),j.11==="21"&&p.18("3M"+i,9(a){j.2t.21&&!y.23(k)&&B()&&u.1V(a||g.21)}))}9 I(b,c){M f=z.T;R(!u.1f||!b)L e;a.25(b)&&(b=b.1F(o,u)||""),b.1G&&b.17>0?f.4x().30(b.W({2g:"2E"})):f.2C(b),y.3v("3W",9(b){9 e(a){c=c.3r(a),c.17===0&&(u.3c(),u.1f&&B()&&u.1V(u.1n.1d),b())}M c=f.4w("32:3r([V]):3r([U])");c.1h(9(b,c){M f=["6s","46","2O","6E",""].6t(".1a-6u ");a(O).18(f,9(){1H(u.1o.32[b]),e(O)}),9 g(){R(c.V&&c.U)L e(c);u.1o.32[b]=2T(g,20)}();L d}),c.17===0&&e(c)});L u}9 H(b){M c=z.12;R(!u.1f||!b)L e;a.25(b)&&(b=b.1F(o,u)||""),b.1G&&b.17>0?c.4x().30(b.W({2g:"2E"})):c.2C(b),u.3c(),u.1f&&B()&&u.1V(u.1n.1d)}9 G(a){M b=z.1z,c=z.12;R(!u.1f)L e;a?(c||F(),E()):b.1L()}9 F(){M b=w+"-12";z.1v&&D(),z.1v=a("<2k />",{"1J":i+"-1v "+(q.13.2b?"1s-2b-4F":"")}).30(z.12=a("<2k />",{1e:b,"1J":i+"-12","1P-3T":d})).6x(z.T),q.T.12.1z?E():u.1f&&u.3c()}9 E(){M b=q.T.12.1z;z.1z&&z.1z.1L(),b.1G?z.1z=b:z.1z=a("",{"1J":"1s-2S-3f "+(q.13.2b?"":i+"-3k"),12:"4y 1l","1P-6z":"4y 1l"}).6A(a("<6B />",{"1J":"1s-3k 1s-3k-6D",2C:"&6G;"})),z.1z.2J(z.1v).15("4L","1z").4C(9(b){a(O).2n("1s-2S-4C",b.1C==="3b")}).3N(9(a){y.23(k)||u.S(a);L e}).18("3j 6H 4I 6I 6J",9(b){a(O).2n("1s-2S-6K 1s-2S-2i",b.1C.2m(-4)==="6N")}),u.3c()}9 D(){z.12&&(z.1v.1L(),z.1v=z.12=z.1z=f,u.1V())}9 C(){M a=q.13.2b;y.2n(j,a),z.T.2n(j+"-T",a),z.1v&&z.1v.2n(j+"-4F",a),z.1z&&z.1z.2n(i+"-3k",!a)}9 B(){L y&&y.W("Q")!==n&&y.W("3d")!=="34"}9 A(a){M b,d,e=a.2X("."),f=q[e[0]];3p(b=1;b0&&!a("#"+j).17&&(y[0].1e=j,z.T[0].1e=j+"-T",z.12[0].1e=j+"-12")},"^T.1p$":9(a,b,c){I(c)},"^T.12.1p$":9(a,b,c){R(!c)L D();!z.12&&c&&F(),H(c)},"^T.12.1z$":9(a,b,c){G(c)},"^14.(1O|2o)$":9(a,b,c){"1m"===Y c&&(a[b]=1D h.2v(c))},"^14.1t$":9(a,b,c){u.1f&&y.2J(c)},"^(N|S).(1d|11|28|24|1S)$":9(a,b,c,d){M e=b.3P(/28/i)>-1?[0,[0,1,1,1]]:[b.2m(0,3),b.2F(0)==="s"?[1,0,0,0]:[0,1,0,0]];e[0]&&(a[b]=d),K.2c(u,e[1]),e[0]&&(a[b]=c),J.2c(u,e[1])},"^N.2P$":9(){u.1f||u.N()},"^13.2R$":9(b,c,d){a.15(y[0],"1J",i+" 1a 1s-4J-4K "+d)},"^13.2b|T.12":C,"^3A.(1M|N|3V|S|2i|22)$":9(b,c,d){y[(a.25(d)?"":"6S")+"18"]("1l"+c,d)}},a.1k(u,{1M:9(b){R(u.1f)L e;M c=q.T.1p,f=q.T.12.1p,g=a.36("6W");a.15(o[0],"1P-3z",w),y=z.1l=a("<2k/>").15({1e:w,"1J":i+" 1a 1s-4J-4K "+q.13.2R,4L:"6Z","1P-70":"72","1P-3T":e,"1P-3z":w+"-T","1P-34":d}).2n(k,u.1n.2r).1B("1a",u).2J(q.14.1t).30(z.T=a("<2k />",{"1J":i+"-T",1e:w+"-T","1P-3T":d})),u.1f=d,f&&(F(),H(f)),I(c),C(),a.1h(h,9(){O.2u==="1M"&&O(u)}),J(1,1,1,1),a.1h(q.3A,9(a,b){R(b){M c=a==="26"?"31 4N":"1l"+a;y.18(c,b)}}),y.W("3d","34").3v("3W",9(a){g.3a=u.1n.1d,y.2p(g,[u]),(q.N.2P||b)&&u.N(u.1n.1d),a()});L u},3C:9(a){M b,c;4T(a.2l()){37"4P":b={V:y.2G(),U:y.2Y()};2x;37"X":b=h.X(y,q.14.1t);2x;3f:c=A(a.2l()),b=c[0].1r?c[0].1m():c[0].1G?c[0]:c[0][c[1]]}L b},2M:9(b,c){9 j(b,c){b=b.2l();M e=A(b),f,g,i;f=e[0][e[1]],e[0][e[1]]=c.78?a(c):c;R(u.1f)3p(g 1N h)3p(i 1N h[g])(1D 79(i,"i")).1A(b)&&h[g][i].1F(u,e[0],e[1],c,f);2H b==="N.2P"&&u.1M(d)}M f=/^14.(1O|2o|2t|11|1t)|13|T/i,g=e,h=u.2z,i;"1m"===Y b&&(i=b,b={},b[i]=c),x=1;3p(i 1N b)j(i,b[i]),g=f.1A(i)||g;x=0,g&&B()&&u.1f&&u.1V(),r(q);L u},26:9(b,c){9 j(){b?a.1K.2s&&y[0].13.54("2W"):y.W({2g:"",3d:"34",U:"",48:"",Q:"",P:""})}R(!u.1f)R(b)u.1M(1);2H L e;M d=b?"N":"S",g=q[d],h=B(),i;(Y b).3P("38|2y")&&(b=!h);R(h===b)L u;R(c){R(/7c|7e/.1A(c.1C)&&/4R|4S/.1A(u.1n.1d.1C)&&c.11===q.N.11[0]&&y.7g(c.4U).17)L u;u.1n.1d=a.1k({},c)}i=a.36("1l"+d),i.3a=c?u.1n.1d:f,y.2p(i,[u,3w]);R(i.47())L u;a.15(y[0],"1P-34",!b),b?(y.S().W({3d:""}),u.2i(c),u.1V(c,0),g.55&&a(l).3r(y).1a("S",i)):(1H(u.1o.N),u.22(c)),y.3D(1,1),a.25(g.1Z)?(g.1Z.1F(y,u),y.3v("3W",9(a){j.1F(O,a),a()})):g.1Z===e?(y[d](),j.1F(y)):y.4W(3w,b?1:0,j),b&&g.11.2p("1a-"+s+"-1S");L u},N:9(a){u.26(d,a)},S:9(a){u.26(e,a)},2i:9(b){R(!u.1f)L e;M c=a(l),d=1w(y[0].13.35,10),f=g.3L+c.17,h=a.1k({},b),i,j;y.23(m)||(d!==f&&(c.1h(9(){O.13.35>d&&(O.13.35=O.13.35-1)}),c.2W("."+m).1a("22",h)),j=a.36("7o"),j.3a=h,y.2p(j,[u,f]),j.47()||(y.49(m)[0].13.35=f));L u},22:9(b){M c=a.1k({},b),d;y.58(m),d=a.36("7q"),d.3a=c,y.2p(d,[u])},1V:9(f,j){R(!u.1f||x)L e;x=d;M k=q.14.11,l=q.14,m=l.1O,n=l.2o,o=l.2t,p=y.2Y(),r=y.2G(),s=0,t=0,w=a.36("3Z"),z=y.W("14")==="28",A=l.1U.1G?l.1U:a(b),C={Q:0,P:0},D={Q:9(a){M b=A.2D,c=m.x==="Q"?p:m.x==="1j"?-p:-p/2,d=n.x==="Q"?s:n.x==="1j"?-s:-s/2,e=b-a,f=a+p-A.U-b,g=c-(m.1r==="x"||m.x===m.y?d:0);e>0&&(m.x!=="Q"||f>0)?C.Q-=g:f>0&&(m.x!=="1j"||e>0)&&(C.Q-=(m.x==="1q"?-1:1)*g+2*o.x),C.Q<0&&-C.Q>f&&(C.Q=a);L C.Q-a},P:9(a){M b=A.2N,c=m.y==="P"?r:m.y==="1i"?-r:-r/2,d=n.y==="P"?t:n.y==="1i"?-t:-t/2,e=b-a,f=a+r-A.V-b,g=c-(m.1r==="y"||m.x===m.y?d:0);e>0&&(m.y!=="P"||f>0)?C.P-=g:f>0&&(m.y!=="1i"||e>0)&&(C.P-=(m.y==="1q"?-1:1)*g+2*o.y),C.P<0&&-C.P>f&&(C.P=a);L C.P-a}};j=j===c||!!j||e,A=A?{52:A,V:A[(A[0]===b?"h":"7u")+"7v"](),U:A[(A[0]===b?"w":"7w")+"7x"](),2D:A.2D(),2N:A.2N()}:e;R(k==="21")n={x:"Q",y:"P"},f=f&&(f.1C==="2q"||f.1C==="40")?u.1n.1d:o.21||!f||!f.3h?a.1k({},g.21):f,C={P:f.3H,Q:f.3h};2H{k==="1d"&&(f&&f.11&&f.1C!=="40"&&f.1C!=="2q"?k=u.1n.11=a(f.11):k=u.1n.11),k=a(k).7y(0);R(k.17===0)L u;k[0]===1x||k[0]===b?(s=k.U(),t=k.V(),k[0]===b&&(C={P:z?0:A.2N,Q:z?0:A.2D})):k.43("7B")&&h.3U?C=h.3U(k,n):k[0].7C=="7D://7E.7F.7G/7H/3t"&&h.3t?C=h.3t(k,n):(s=k.2Y(),t=k.2G(),C=h.X(k,l.1t)),C.U&&(s=C.U,t=C.V,C=C.X),C.Q+=n.x==="1j"?s:n.x==="1q"?s/2:0,C.P+=n.y==="1i"?t:n.y==="1q"?t/2:0}C.Q+=o.x+(m.x==="1j"?-p:m.x==="1q"?-p/2:0),C.P+=o.y+(m.y==="1i"?-r:m.y==="1q"?-r/2:0),l.1U.1G&&k[0]!==b&&k[0]!==v?C.3x={Q:D.Q(C.Q),P:D.P(C.P)}:C.3x={Q:0,P:0},y.15("1J",9(b,c){L a.15(O,"1J").2j(/1s-1l-51-\\w+/i,"")}).49(i+"-51-"+m.4G()),w.3a=a.1k({},f),y.2p(w,[u,C,A.52]);R(w.47())L u;2B C.3x,j&&7J(C.Q,C.P)?B()&&a.25(l.1Z)&&(l.1Z.1F(y,u,C),y.3v(9(b){M c=a(O);c.W({48:"",V:""}),a.1K.2s&&O.13&&O.13.54("2W"),b()})):y.W(C),x=e;L u},3c:9(){R(!u.1f||(!a.1K.2s||a.1K.3o>=8))L e;M b=i+"-7L",c;y.W({U:"56",V:"56"}).49(b),c={V:y.2G(),U:y.2Y()},a.1h(["U","V"],9(a,b){M d=1w(y.W("2Q-"+b),10)||0,e=1w(y.W("57-"+b),10)||0;c[b]=d+e?1b.57(1b.2Q(c[b],e),d):c[b]}),y.W(c).58(b)},5a:9(){u.3K(d)},3K:9(b){M c=k;"38"!==Y b&&(b=!y.23(c)&&!u.1n.2r),u.1f?(y.2n(c,b),a.15(y[0],"1P-2r",b)):u.1n.2r=!!b;L u},1R:9(){M b=o[0],c=a.1B(b,p);u.1f&&(y.1L(),a.1h(u.1I,9(){O.1R&&O.1R()})),1H(u.1o.N),1H(u.1o.S),K(1,1,1,1),a.4b(b,"1a"),c&&a.15(b,"12",c),o.3s("1P-3z");L o}})}9 r(b){M c;R(!b||"1c"!==Y b)L e;"1c"!==Y b.1X&&(b.1X={1C:b.1X});R("T"1N b){R("1c"!==Y b.T||b.T.1G)b.T={1p:b.T};c=b.T.1p||e,!a.25(c)&&(!c&&!c.15||c.17<1||"1c"===Y c&&!c.1G)&&(b.T.1p=e),"12"1N b.T&&("1c"!==Y b.T.12&&(b.T.12={1p:b.T.12}),c=b.T.12.1p||e,!a.25(c)&&(!c&&!c.15||c.17<1||"1c"===Y c&&!c.1G)&&(b.T.12.1p=e))}"14"1N b&&("1c"!==Y b.14&&(b.14={1O:b.14,2o:b.14})),"N"1N b&&("1c"!==Y b.N&&(b.N.1G?b.N={11:b.N}:b.N={1d:b.N})),"S"1N b&&("1c"!==Y b.S&&(b.S.1G?b.S={11:b.S}:b.S={1d:b.S})),"13"1N b&&("1c"!==Y b.13&&(b.13={2R:b.13})),a.1h(h,9(){O.33&&O.33(b)});L b}9 q(){M c=b.5c;L c&&(c.46||c.5g||a.5h).2c(c,27)}M d=!0,e=!1,f=4d,g,h,i="1s-1l",j="1s-2b",k="1s-2S-2r",l="2k.1a."+i,m=i+"-2i",n="-5m",o="5n",p="5p";g=a.2K.1a=9(b,e,h){M i=2I(b).2l(),j=f,k=i==="3K"?[d]:a.5q(27).4c(1,10),l=k[k.17-1],m=O[0]?a.1B(O[0],"1a"):f;R(!27.17&&m||i==="5s")L m;R("1m"===Y b){O.1h(9(){M b=a.1B(O,"1a");R(!b)L d;l&&l.5u&&(b.1n.1d=l),/3q|2M/.1A(i)&&e?a.5x(e)||h!==c?b.2M(e,h):j=b.3C(e):b[i]&&b[i].2c(b[i],k)});L j!==f?j:O}R("1c"===Y b||!27.17){m=r(a.1k(d,{},b));L g.18.1F(O,m,l)}},g.18=9(b,c){L O.1h(9(f){9 p(b){9 c(){o.1M(Y b==="1c"||j.N.2P),k.N.1E(l.N),k.S.1E(l.S)}R(o.1n.2r)L e;o.1n.1d=a.1k({},b),j.N.24>0?(1H(o.1o.N),o.1o.N=2T(c,j.N.24),l.N!==l.S&&k.S.18(l.S,9(){1H(o.1o.N)})):c()}M j,k,l,m=!b.1e||b.1e===e||b.1e.17<1||a("#"+i+"-"+b.1e).17?g.3I++:b.1e,n=".1a-"+m+"-2e",o=t.1F(O,m,b);R(o===e)L d;j=o.2a,a.1h(h,9(){O.2u==="2u"&&O(o)}),k={N:j.N.11,S:j.S.11},l={N:2I(j.N.1d).2j(" ",n+" ")+n,S:2I(j.S.1d).2j(" ",n+" ")+n},k.N.18(l.N,p),(j.N.2P||j.4Y)&&p(c)})},a.1h({15:9(b,c){R(O.17){M d=O[0],e="12",f=a.1B(d,"1a");R(b===e){R(27.17<2)L a.1B(d,p);R(Y f==="1c"){f&&f.1f&&f.2a.T.15===e&&f.1n.15&&f.2M("T.1p",c),a.2K["15"+o].2c(O,27),a.1B(d,p,a.15(d,e));L O.3s("12")}}}},4m:9(b){M c=a([]),d;a("*",O).2h(O).1h(9(){M b=a.1B(O,p);b&&(a.15(O,"12",b),c=c.2h(O))}),d=a.2K["4m"+o].2c(O,27),c.3s("12");L d},1L:a.1s?f:9(b,c){a(O).1h(9(){c||(!b||a.2W(b,[O]).17)&&a("*",O).2h(O).1h(9(){a(O).5Z("1L")})})}},9(b,c){R(!c)L d;M e=a.2K[b+o]=a.2K[b];a.2K[b]=9(){L c.2c(O,27)||e.2c(O,27)}}),a(b).2O(9(){M b=1x,d=b.2A;a(b).18("3M.1a",9(a){g.21={3h:a.3h,3H:a.3H}}),b.4H===c&&b.6e("2i",9(a){a&&a.11&&(b.4H=a.11===b?d:a.11)},!0)}),g.3o="2.0.6h",g.3I=0,g.4D="3N 6n 3j 4I 3M 3y 3b".2X(" "),g.3L=6v,h=g.1I={2v:9(a){a=2I(a).2j(/([A-Z])/," $1").2j(/6F/4B,"1q").2l(),O.x=(a.3O(/Q|1j/i)||a.3O(/1q/)||["3l"])[0].2l(),O.y=(a.3O(/P|1i|1q/i)||["3l"])[0].2l(),O.1r=a.2F(0).3P(/^(t|b)/)>-1?"y":"x",O.1m=9(){L O.1r==="y"?O.y+O.x:O.x+O.y},O.4G=9(){M a=O.x.2m(0,1),b=O.y.2m(0,1);L a===b?a:a==="c"||a!=="c"&&b!=="c"?b+a:a+b}},X:9(a,b){M c=a.X(),d=b,e=0,f=!h.4O,g;R(d){71{R(d[0]===1x.2A)2x;d.W("14")!=="74"&&(g=d.14(),c.Q-=g.Q,c.P-=g.P,e++)}3g(d=d.75());R(!f||e>1)g=f?1:-1,c.Q+=g*b.2D(),c.P+=g*b.2N()}L c},4O:77((/7a.+7b ([0-7d]{3}).*7f.*7h/i.7j(7k.7n)||[0,"7p"])[1].2j("7r","."))<4.1},g.39={4Y:e,1e:e,42:d,T:{1p:d,15:"12",12:{1p:e,1z:e}},14:{1O:"P Q",2o:"1i 1j",11:e,1t:e,1U:e,2t:{x:0,y:0,21:d,2q:d},1Z:d},N:{11:e,1d:"3b",1Z:d,24:3w,55:e,2P:e},S:{11:e,1d:"3y",1Z:d,24:0,28:e,1S:e},13:{2R:"",2b:e},3A:{1M:f,3V:f,N:f,S:f,26:f,2i:f,22:f}},h.1y=9(a){M b=a.1I.1y;L"1c"===Y b?b:a.1I.1y=1D u(a)},h.1y.2u="1M",h.1y.33=9(a){M b=a.T,c;b&&"1y"1N b&&(c=b.1y,Y c!=="1c"&&(c=a.T.1y={2f:c}),"38"!==Y c.1T&&c.1T&&(c.1T=!!c.1T))},a.1k(d,g.39,{T:{1y:{1T:d}}}),h.16=9(a){M b=a.1I.16;L"1c"===Y b?b:a.1I.16=1D w(a)},h.16.2u="1M",h.16.33=9(a){M b=a.13,c;b&&"16"1N b&&(c=a.13.16,Y c!=="1c"&&(a.13.16={1g:c}),/1m|38/i.1A(Y c.1g)||(c.1g=d),Y c.U!=="2y"&&2B c.U,Y c.V!=="2y"&&2B c.V,Y c.19!=="2y"&&c.19!==d&&2B c.19,Y c.X!=="2y"&&2B c.X)},a.1k(d,g.39,{13:{16:{1g:d,3e:e,U:6,V:6,19:d,X:0}}}),h.3U=9(b,c){9 l(a,b){M d=0,e=1,f=1,g=0,h=0,i=a.U,j=a.V;3g(i>0&&j>0&&e>0&&f>0){i=1b.3m(i/2),j=1b.3m(j/2),c.x==="Q"?e=i:c.x==="1j"?e=a.U-i:e+=1b.3m(i/2),c.y==="P"?f=j:c.y==="1i"?f=a.V-j:f+=1b.3m(j/2),d=b.17;3g(d--){R(b.17<2)2x;g=b[d][0]-a.X.Q,h=b[d][1]-a.X.P,(c.x==="Q"&&g>=e||c.x==="1j"&&g<=e||c.x==="1q"&&(ga.U-e)||c.y==="P"&&h>=f||c.y==="1i"&&h<=f||c.y==="1q"&&(ha.V-f))&&b.6d(d,1)}}L{Q:b[0][0],P:b[0][1]}}M d=b.15("3Q").2l(),e=b.15("6m").2X(","),f=[],g=a(\'32[6w="#\'+b.6y("4M").15("3J")+\'"]\'),h=g.X(),i={U:0,V:0,X:{P:3n,1j:0,1i:0,Q:3n}},j=0,k=0;h.Q+=1b.3i((g.2Y()-g.U())/2),h.P+=1b.3i((g.2G()-g.V())/2);R(d==="4Z"){j=e.17;3g(j--)k=[1w(e[--j],10),1w(e[j+1],10)],k[0]>i.X.1j&&(i.X.1j=k[0]),k[0]i.X.1i&&(i.X.1i=k[1]),k[1]0}(7M,45)',62,484,'|||||||||function||||||||||||||||||||||||||||||||||||||return|var|show|this|top|left|if|hide|content|width|height|css|offset|typeof|||target|title|style|position|attr|tip|length|bind|border|qtip|Math|object|event|id|rendered|corner|each|bottom|right|extend|tooltip|string|cache|timers|text|center|precedance|ui|container|modal|titlebar|parseInt|document|ajax|button|test|data|type|new|unbind|call|jquery|clearTimeout|plugins|class|browser|remove|render|in|my|aria|bgiframe|destroy|inactive|once|viewport|reposition|overlay|metadata|init|effect||mouse|blur|hasClass|delay|isFunction|toggle|arguments|fixed|fill|options|widget|apply||create|url|display|add|focus|replace|div|toLowerCase|substr|toggleClass|at|trigger|resize|disabled|msie|adjust|initialize|Corner|elements|break|number|checks|body|delete|html|scrollLeft|block|charAt|outerHeight|else|String|appendTo|fn|on|set|scrollTop|load|ready|max|classes|state|setTimeout|update|color|filter|split|outerWidth|transparent|append|tooltipshow|img|sanitize|hidden|zIndex|Event|case|boolean|defaults|originalEvent|mouseenter|redraw|visibility|mimic|default|while|pageX|ceil|mousedown|icon|inherit|floor|1e10|version|for|option|not|removeAttr|svg|abs|queue|90|adjusted|mouseleave|describedby|events|index|get|stop|round|getContext|indexOf|pageY|nextid|name|disable|zindex|mousemove|click|match|search|shape|sqrt|script|atomic|imagemap|move|fx|px|vml|tooltipmove|scroll|iframe|overwrite|is|absolute|window|error|isDefaultPrevented|opacity|addClass|3e3|removeData|slice|null|radius|getBBox|detectColours|save|dashed|Number|createSVGPoint|stroke|clone|behavior|VML|margin|matrixTransform|bottomleft|topright|topleft|lineTo|canvas|find|empty|Close|detectCorner|webkit|gi|hover|inactiveEvents|unfocus|header|abbreviation|activeElement|mouseup|helper|reset|role|map|tooltiphide|iOS|dimensions|bottomright|out|leave|switch|relatedTarget|miter|fadeTo|none|prerender|poly||pos|elem|needBGI|removeAttribute|solo|auto|min|removeClass|centercenter|enable|use|console|frameborder|tabindex|src|log|noop|qtipmodal|cursor|pointer|animated|31000px|_replacedByqTip|moz|oldtitle|makeArray|parentNode|api|0px|timeStamp|prependTo|coordorigin|isPlainObject|children|solid|123456|restore|getScreenCTM|clearRect|translate|beginPath|moveTo|closePath|fillStyle|strokeStyle|farthestViewportElement|lineJoin|miterLimit|100|xe|antialias|coordsize|path|fillcolor|filled|stroked|weight|miterlimit|1000|joinstyle|triggerHandler|bottomcenter|rightcenter|leftcenter|select|lefttop|righttop|leftbottom|rightbottom|one|success|context|html5|qtipopts|splice|addEventListener|catch|Unable|0pre|HTML5|attribute|grep|stopPropagation|coords|dblclick|inArray|special|backgroundColor|parents|abort|join|image|15e3|usemap|insertBefore|parent|label|prepend|span|Color|close|unload|middle|times|keydown|keyup|mouseout|active|mouseover|preventDefault|down|closest|pow|pushStack|builtin|un|parse|to|mozilla|tooltiprender|Function|try|alert|live|do|polite|push|static|offsetParent|rgba|parseFloat|nodeType|RegExp|CPU|OS|over|9_|enter|AppleWebkit|has|Mobile|topcenter|exec|navigator|rect|undefined|userAgent|tooltipfocus|4_2|tooltipblur|_|circle|alpha|outerH|eight|outerW|idth|eq|javascript|visible|area|namespaceURI|http|www|w3|org|2000|strict|isNaN|lineWidth|fluid|jQuery|background'.split('|'),0,{})) diff --git a/src/ajax.js b/src/ajax.js index b03a6950..352a2c44 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -1,12 +1,12 @@ -function Ajax(qTip) +function Ajax(api) { var self = this, - tooltip = qTip.elements.tooltip, - opts = qTip.options.content.ajax, + tooltip = api.elements.tooltip, + opts = api.options.content.ajax, namespace = '.qtip-ajax', rscript = /)<[^<]*)*<\/script>/gi; - qTip.checks.ajax = { + api.checks.ajax = { '^content.ajax': function(obj, name) { if(name === 'once') { self.once(); @@ -63,14 +63,14 @@ function Ajax(qTip) } // Set the content - qTip.set('content.text', content); + api.set('content.text', content); } // Error handler - function errorHandler(xh, status, error){ qTip.set('content.text', status + ': ' + error); } + function errorHandler(xh, status, error){ api.set('content.text', status + ': ' + error); } // Setup $.ajax option object and process the request - $.ajax( $.extend({ success: successHandler, error: errorHandler, context: qTip }, opts, { url: url }) ); + $.ajax( $.extend({ success: successHandler, error: errorHandler, context: api }, opts, { url: url }) ); return self; }, @@ -86,17 +86,17 @@ function Ajax(qTip) } -$.fn.qtip.plugins.ajax = function(qTip) +PLUGINS.ajax = function(api) { - var api = qTip.plugins.ajax; + var self = api.plugins.ajax; - return 'object' === typeof api ? api : (qTip.plugins.ajax = new Ajax(qTip)); + return 'object' === typeof self ? self : (api.plugins.ajax = new Ajax(api)); }; -$.fn.qtip.plugins.ajax.initialize = 'render'; +PLUGINS.ajax.initialize = 'render'; // Setup plugin sanitization -$.fn.qtip.plugins.ajax.sanitize = function(options) +PLUGINS.ajax.sanitize = function(options) { var content = options.content, opts; if(content && 'ajax' in content) { @@ -106,8 +106,8 @@ $.fn.qtip.plugins.ajax.sanitize = function(options) } }; -// Extend original qTip defaults -$.extend(TRUE, $.fn.qtip.defaults, { +// Extend original api defaults +$.extend(TRUE, QTIP.defaults, { content: { ajax: { once: TRUE diff --git a/src/bgiframe.js b/src/bgiframe.js index 33c96b7b..44d2d0f2 100644 --- a/src/bgiframe.js +++ b/src/bgiframe.js @@ -1,10 +1,13 @@ -/* BGIFrame adaption (http://plugins.jquery.com/project/bgiframe) - Special thanks to Brandon Aaron */ -function BGIFrame(qTip) +/* + * BGIFrame adaption (http://plugins.jquery.com/project/bgiframe) + * Special thanks to Brandon Aaron + */ +function BGIFrame(api) { var self = this, - elems = qTip.elements, + elems = api.elements, tooltip = elems.tooltip, - namespace = '.bgiframe-' + qTip.id, + namespace = '.bgiframe-' + api.id, events = 'tooltipmove'+namespace+' tooltipshow'+namespace; $.extend(self, { @@ -23,9 +26,9 @@ function BGIFrame(qTip) adjust: function() { - var dimensions = qTip.get('dimensions'), // Determine current tooltip dimensions - plugin = qTip.plugins.tip, - tip = qTip.elements.tip, + var dimensions = api.get('dimensions'), // Determine current tooltip dimensions + plugin = api.plugins.tip, + tip = api.elements.tip, tipAdjust, offset; // Adjust border offset @@ -55,27 +58,20 @@ function BGIFrame(qTip) self.init(); } -$.fn.qtip.plugins.bgiframe = function(qTip) +PLUGINS.bgiframe = function(api) { + var browser = $.browser, + self = api.plugins.bgiframe; + // Proceed only if the browser is IE6 and offending elements are present - if(!($.browser.msie && (/^6\.[0-9]/).test($.browser.version) && $('select, object').length)) { + if(!PLUGINS.bgiframe.needBGI || !(browser.msie && browser.version.charAt(0) === '6')) { return FALSE; } - // Retrieve previous API object - var api = qTip.plugins.bgiframe; - - // An API is already present, - if(api) { - return api; - } - // No API was found, create new instance - else { - qTip.plugins.bgiframe = new BGIFrame(qTip); - return qTip.plugins.bgiframe; - } + return 'object' === typeof self ? self : (api.plugins.bgiframe = new BGIFrame(api)); }; // Plugin needs to be initialized on render -$.fn.qtip.plugins.bgiframe.initialize = 'render'; +PLUGINS.bgiframe.initialize = 'render'; +PLUGINS.bgiframe.needBGI = $('select, object').length > 0; \ No newline at end of file diff --git a/src/core.js b/src/core.js index f437a9a5..8e76b4c2 100644 --- a/src/core.js +++ b/src/core.js @@ -77,7 +77,7 @@ function sanitizeOptions(opts) } // Sanitize plugin options - $.each($.fn.qtip.plugins, function() { + $.each(PLUGINS, function() { if(this.sanitize) { this.sanitize(opts); } }); @@ -94,12 +94,12 @@ function QTip(target, options, id, attr) docBody = document.body, tooltipID = uitooltip + '-' + id, isPositioning = 0, - tooltip; + tooltip, elements; // Setup class attributes self.id = id; self.rendered = FALSE; - self.elements = { target: target }; + self.elements = elements = { target: target }; self.timers = { img: [] }; self.options = options; self.checks = {}; @@ -141,44 +141,40 @@ function QTip(target, options, id, attr) } function setWidget() { - var elems = self.elements, - on = options.style.widget; + var on = options.style.widget; tooltip.toggleClass(widget, on); - elems.content.toggleClass(widget+'-content', on); + elements.content.toggleClass(widget+'-content', on); - if(elems.titlebar){ - elems.titlebar.toggleClass(widget+'-header', on); + if(elements.titlebar){ + elements.titlebar.toggleClass(widget+'-header', on); } - if(elems.button){ - elems.button.toggleClass(uitooltip+'-icon', !on); + if(elements.button){ + elements.button.toggleClass(uitooltip+'-icon', !on); } } function removeTitle() { - var elems = self.elements; - - if(elems.title) { - elems.titlebar.remove(); - elems.titlebar = elems.title = elems.button = NULL; + if(elements.title) { + elements.titlebar.remove(); + elements.titlebar = elements.title = elements.button = NULL; self.reposition(); } } function createButton() { - var elems = self.elements, - button = options.content.title.button; + var button = options.content.title.button; - if(elems.button) { elems.button.remove(); } + if(elements.button) { elements.button.remove(); } // Use custom button if one was supplied by user, else use default if(button.jquery) { - elems.button = button; + elements.button = button; } else { - elems.button = $('', { + elements.button = $('', { 'class': 'ui-state-default ' + (options.style.widget ? '' : uitooltip+'-icon'), 'title': 'Close tooltip', 'aria-label': 'Close tooltip' @@ -192,7 +188,7 @@ function QTip(target, options, id, attr) } // Create button and setup attributes - elems.button.appendTo(elems.titlebar) + elements.button.appendTo(elements.titlebar) .attr('role', 'button') .hover(function(event){ $(this).toggleClass('ui-state-hover', event.type === 'mouseenter'); }) .click(function(event) { @@ -209,24 +205,23 @@ function QTip(target, options, id, attr) function createTitle() { - var elems = self.elements, - id = tooltipID+'-title'; + var id = tooltipID+'-title'; // Destroy previous title element, if present - if(elems.titlebar) { removeTitle(); } + if(elements.titlebar) { removeTitle(); } // Create title bar and title elements - elems.titlebar = $('
', { + elements.titlebar = $('
', { 'class': uitooltip + '-titlebar ' + (options.style.widget ? 'ui-widget-header' : '') }) .append( - elems.title = $('
', { + elements.title = $('
', { 'id': id, 'class': uitooltip + '-title', 'aria-atomic': TRUE }) ) - .insertBefore(elems.content); + .insertBefore(elements.content); // Create button if enabled if(options.content.title.button) { createButton(); } @@ -237,8 +232,8 @@ function QTip(target, options, id, attr) function updateButton(button) { - var elem = self.elements.button, - title = self.elements.title; + var elem = elements.button, + title = elements.title; // Make sure tooltip is rendered and if not, return if(!self.rendered) { return FALSE; } @@ -256,7 +251,7 @@ function QTip(target, options, id, attr) function updateTitle(content) { - var elem = self.elements.title; + var elem = elements.title; // Make sure tooltip is rendered and if not, return if(!self.rendered || !content) { return FALSE; } @@ -283,7 +278,7 @@ function QTip(target, options, id, attr) function updateContent(content, reposition) { - var elem = self.elements.content; + var elem = elements.content; // Make sure tooltip is rendered and content is defined. If not return if(!self.rendered || !content) { return FALSE; } @@ -460,8 +455,8 @@ function QTip(target, options, id, attr) targets.show.bind('qtip-'+id+'-inactive', inactiveMethod); // Define events which reset the 'inactive' event handler - $.each($.fn.qtip.inactiveEvents, function(index, type){ - targets.hide.add(self.elements.tooltip).bind(type+namespace+'-inactive', inactiveMethod); + $.each(QTIP.inactiveEvents, function(index, type){ + targets.hide.add(elements.tooltip).bind(type+namespace+'-inactive', inactiveMethod); }); } @@ -523,7 +518,7 @@ function QTip(target, options, id, attr) $doc.bind('mousemove'+namespace, function(event) { // Update the tooltip position only if the tooltip is visible and adjustment is enabled if(posOptions.adjust.mouse && !tooltip.hasClass(disabled) && isVisible()) { - self.reposition(event || $.fn.qtip.mouse); + self.reposition(event || QTIP.mouse); } }); } @@ -537,8 +532,8 @@ function QTip(target, options, id, attr) targets = { show: show ? options.show.target : NULL, hide: hide ? options.hide.target : NULL, - tooltip: tooltip ? self.elements.tooltip : NULL, - content: tooltip ? self.elements.content : NULL, + tooltip: tooltip ? elements.tooltip : NULL, + content: tooltip ? elements.content : NULL, container: doc ? options.position.container[0] === docBody ? document : options.position.container : NULL, window: doc ? window : NULL }; @@ -563,13 +558,13 @@ function QTip(target, options, id, attr) self.checks.builtin = { // Core checks '^id$': function(obj, o, v) { - var id = v === TRUE ? $.fn.qtip.nextid : v, + var id = v === TRUE ? QTIP.nextid : v, tooltipID = uitooltip + '-' + id; if(id !== FALSE && id.length > 0 && !$('#'+tooltipID).length) { tooltip[0].id = tooltipID; - self.elements.content[0].id = tooltipID + '-content'; - self.elements.title[0].id = tooltipID + '-title'; + elements.content[0].id = tooltipID + '-content'; + elements.title[0].id = tooltipID + '-title'; } }, @@ -580,7 +575,7 @@ function QTip(target, options, id, attr) if(!v) { return removeTitle(); } // If title isn't already created, create it now and update - if(!self.elements.title && v) { createTitle(); } + if(!elements.title && v) { createTitle(); } updateTitle(v); }, '^content.title.button$': function(obj, o, v){ updateButton(v); }, @@ -589,7 +584,7 @@ function QTip(target, options, id, attr) '^position.(my|at)$': function(obj, o, v){ // Parse new corner value into Corner objecct if('string' === typeof v) { - obj[o] = new $.fn.qtip.plugins.Corner(v); + obj[o] = new PLUGINS.Corner(v); } }, @@ -629,15 +624,13 @@ function QTip(target, options, id, attr) { if(self.rendered) { return FALSE; } // If tooltip has already been rendered, exit - var elements = self.elements, - content = options.content.text, + var content = options.content.text, title = options.content.title.text, callback = $.Event('tooltiprender'); // Add ARIA attributes to target $.attr(target[0], 'aria-describedby', tooltipID); - // Create tooltip element tooltip = elements.tooltip = $('
') .attr({ @@ -677,7 +670,7 @@ function QTip(target, options, id, attr) setWidget(); // Initialize 'render' plugins - $.each($.fn.qtip.plugins, function() { + $.each(PLUGINS, function() { if(this.initialize === 'render') { this(self); } }); @@ -729,7 +722,7 @@ function QTip(target, options, id, attr) break; case 'offset': - result = $.fn.qtip.plugins.offset(tooltip, options.position.container); + result = PLUGINS.offset(tooltip, options.position.container); break; default: @@ -743,8 +736,7 @@ function QTip(target, options, id, attr) set: function(option, value) { - var elems = self.elements, - rmove = /^position.(my|at|adjust|target|container)|style|content/i, + var rmove = /^position.(my|at|adjust|target|container)|style|content/i, reposition = FALSE, checks = self.checks, name; @@ -911,7 +903,7 @@ function QTip(target, options, id, attr) var qtips = $(selector), curIndex = parseInt(tooltip[0].style.zIndex, 10), - newIndex = $.fn.qtip.zindex + qtips.length, + newIndex = QTIP.zindex + qtips.length, cachedEvent = $.extend({}, event), focusedElem, callback; @@ -1037,7 +1029,7 @@ function QTip(target, options, id, attr) // Use cached event if one isn't available for positioning event = event && (event.type === 'resize' || event.type === 'scroll') ? self.cache.event : - adjust.mouse || !event || !event.pageX ? $.extend({}, $.fn.qtip.mouse) : event; + adjust.mouse || !event || !event.pageX ? $.extend({}, QTIP.mouse) : event; // Use event coordinates for position position = { top: event.pageY, left: event.pageX }; @@ -1070,27 +1062,26 @@ function QTip(target, options, id, attr) } } - // Use Imagemap plugin if target is an AREA element - else if(target.is('area') && $.fn.qtip.plugins.imagemap) { - position = $.fn.qtip.plugins.imagemap(target, at); - targetWidth = position.width; - targetHeight = position.height; - position = position.offset; + // Use Imagemap/SVG plugins if needed + else if(target.is('area') && PLUGINS.imagemap) { + position = PLUGINS.imagemap(target, at); } - - // If it's an SVG use the SVG plugin - else if(target[0].namespaceURI == 'http://www.w3.org/2000/svg' && $.fn.qtip.plugins.svg) { - position = $.fn.qtip.plugins.svg(target, at); - targetWidth = position.width; - targetHeight = position.height; - position = position.offset; + else if(target[0].namespaceURI == 'http://www.w3.org/2000/svg' && PLUGINS.svg) { + position = PLUGINS.svg(target, at); } else { targetWidth = target.outerWidth(); targetHeight = target.outerHeight(); - position = $.fn.qtip.plugins.offset(target, posOptions.container); + position = PLUGINS.offset(target, posOptions.container); + } + + // Parse returned plugin values into proper variables + if(position.width) { + targetWidth = position.width; + targetHeight = position.height; + position = position.offset; } // Adjust position relative to target @@ -1208,7 +1199,7 @@ function QTip(target, options, id, attr) tooltip.remove(); $.each(self.plugins, function() { - if(this.initialize === 'render') { this.destroy(); } + if(this.destroy) { this.destroy(); } }); } @@ -1259,7 +1250,7 @@ function init(id, opts) catch(e) { debug('Unable to parse HTML5 attribute data: ' + html5); } // Merge in and sanitize metadata - config = $.extend(TRUE, {}, $.fn.qtip.defaults, opts, + config = $.extend(TRUE, {}, QTIP.defaults, opts, typeof html5 === 'object' ? sanitizeOptions(html5) : NULL, sanitizeOptions(metadata5 || metadata)); @@ -1289,8 +1280,8 @@ function init(id, opts) if(config.position.viewport === TRUE) { config.position.viewport = posOptions.container; } // Convert position corner values into x and y strings - posOptions.at = new $.fn.qtip.plugins.Corner(posOptions.at); - posOptions.my = new $.fn.qtip.plugins.Corner(posOptions.my); + posOptions.at = new PLUGINS.Corner(posOptions.at); + posOptions.my = new PLUGINS.Corner(posOptions.my); // Destroy previous tooltip if overwrite is enabled, or skip element if not if($.data(this, 'qtip')) { @@ -1319,7 +1310,7 @@ function init(id, opts) } // jQuery $.fn extension method -$.fn.qtip = function(options, notation, newValue) +QTIP = $.fn.qtip = function(options, notation, newValue) { var command = String(options).toLowerCase(), // Parse command returned = NULL, @@ -1368,18 +1359,18 @@ $.fn.qtip = function(options, notation, newValue) opts = sanitizeOptions($.extend(TRUE, {}, options)); // Bind the qTips - return $.fn.qtip.bind.call(this, opts, event); + return QTIP.bind.call(this, opts, event); } }; // $.fn.qtip Bind method -$.fn.qtip.bind = function(opts, event) +QTIP.bind = function(opts, event) { return this.each(function(i) { var options, targets, events, // Find next available ID, or use custom ID if provided - id = (!opts.id || opts.id === FALSE || opts.id.length < 1 || $('#'+uitooltip+'-'+opts.id).length) ? $.fn.qtip.nextid++ : opts.id, + id = (!opts.id || opts.id === FALSE || opts.id.length < 1 || $('#'+uitooltip+'-'+opts.id).length) ? QTIP.nextid++ : opts.id, // Setup events namespace namespace = '.qtip-'+id+'-create', @@ -1390,7 +1381,7 @@ $.fn.qtip.bind = function(opts, event) options = self.options; // Initialize plugins - $.each($.fn.qtip.plugins, function() { + $.each(PLUGINS, function() { if(this.initialize === 'initialize') { this(self); } }); @@ -1518,7 +1509,7 @@ $(window).load(function() { // Cache mousemove events for positioning purposes $(doc).bind('mousemove.qtip', function(event) { - $.fn.qtip.mouse = { pageX: event.pageX, pageY: event.pageY }; + QTIP.mouse = { pageX: event.pageX, pageY: event.pageY }; }); /* @@ -1536,13 +1527,13 @@ $(window).load(function() { }); // Set global qTip properties -$.fn.qtip.version = '@VERSION'; -$.fn.qtip.nextid = 0; -$.fn.qtip.inactiveEvents = 'click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' '); -$.fn.qtip.zindex = 15000; +QTIP.version = '@VERSION'; +QTIP.nextid = 0; +QTIP.inactiveEvents = 'click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' '); +QTIP.zindex = 15000; // Setup base plugins -$.fn.qtip.plugins = { +PLUGINS = QTIP.plugins = { // Corner object parser Corner: function(corner) { corner = String(corner).replace(/([A-Z])/, ' $1').replace(/middle/gi, 'center').toLowerCase(); @@ -1562,7 +1553,7 @@ $.fn.qtip.plugins = { var pos = elem.offset(), parent = container, deep = 0, - addScroll = !$.fn.qtip.plugins.iOS, + addScroll = !PLUGINS.iOS, coffset; if(parent) { @@ -1597,7 +1588,7 @@ $.fn.qtip.plugins = { }; // Define configuration defaults -$.fn.qtip.defaults = { +QTIP.defaults = { prerender: FALSE, id: FALSE, overwrite: TRUE, diff --git a/src/imagemap.js b/src/imagemap.js index cbc36058..d71e87cb 100644 --- a/src/imagemap.js +++ b/src/imagemap.js @@ -1,4 +1,4 @@ -$.fn.qtip.plugins.imagemap = function(area, corner) +PLUGINS.imagemap = function(area, corner) { var shape = area.attr('shape').toLowerCase(), baseCoords = area.attr('coords').split(','), diff --git a/src/intro.js b/src/intro.js index 06ddbd39..285b755b 100644 --- a/src/intro.js +++ b/src/intro.js @@ -11,6 +11,7 @@ NULL = null, // Shortcut vars + QTIP, PLUGINS, uitooltip = 'ui-tooltip', widget = 'ui-widget', disabled = 'ui-state-disabled', diff --git a/src/modal.js b/src/modal.js index 56671fe9..411cf795 100644 --- a/src/modal.js +++ b/src/modal.js @@ -1,8 +1,8 @@ -function Modal(qTip) +function Modal(api) { var self = this, - options = qTip.options.show.modal, - elems = qTip.elements, + options = api.options.show.modal, + elems = api.elements, tooltip = elems.tooltip, selector = '#qtip-overlay', @@ -10,7 +10,7 @@ function Modal(qTip) events = 'tooltipshow'+namespace+' tooltiphide'+namespace; // Setup option set checks - qTip.checks.modal = { + api.checks.modal = { '^show.modal.(on|blur)$': function() { // Initialise self.init(); @@ -41,7 +41,7 @@ function Modal(qTip) // Hide tooltip on overlay click if enabled and toggle cursor style if(options.blur === TRUE) { - elems.overlay.unbind(namespace+qTip.id).bind('click'+namespace+qTip.id, function(){ qTip.hide.call(qTip); }); + elems.overlay.unbind(namespace+api.id).bind('click'+namespace+api.id, function(){ api.hide.call(api); }); } elems.overlay.css('cursor', options.blur ? 'pointer' : ''); } @@ -82,7 +82,7 @@ function Modal(qTip) toggle: function(state) { var overlay = elems.overlay, - effect = qTip.options.show.modal.effect, + effect = api.options.show.modal.effect, type = state ? 'show': 'hide', zindex; @@ -98,7 +98,7 @@ function Modal(qTip) // Set z-indx if we're showing it if(state) { zindex = parseInt( $.css(tooltip[0], 'z-index'), 10); - overlay.css('z-index', (zindex || $.fn.qtip.zindex) - 1); + overlay.css('z-index', (zindex || QTIP.zindex) - 1); } // Use custom function if provided @@ -131,7 +131,7 @@ function Modal(qTip) var api = $(this).data('qtip'); // If another modal tooltip is present, leave overlay - if(api && api.id !== qTip.id && api.options.show.modal) { + if(api && api.id !== api.id && api.options.show.modal) { return (delBlanket = FALSE); } }); @@ -142,7 +142,7 @@ function Modal(qTip) $(window).unbind(namespace); } else { - elems.overlay.unbind(namespace+qTip.id); + elems.overlay.unbind(namespace+api.id); } // Remove bound events @@ -153,26 +153,26 @@ function Modal(qTip) self.init(); } -$.fn.qtip.plugins.modal = function(qTip) +PLUGINS.modal = function(api) { - var api = qTip.plugins.modal; + var self = api.plugins.modal; - return 'object' === typeof api ? api : (qTip.plugins.modal = new Modal(qTip)); + return 'object' === typeof self ? self : (api.plugins.modal = new Modal(api)); }; // Plugin needs to be initialized on render -$.fn.qtip.plugins.modal.initialize = 'render'; +PLUGINS.modal.initialize = 'render'; // Setup sanitiztion rules -$.fn.qtip.plugins.modal.sanitize = function(opts) { +PLUGINS.modal.sanitize = function(opts) { if(opts.show) { if(typeof opts.show.modal !== 'object') { opts.show.modal = { on: !!opts.show.modal }; } else if(typeof opts.show.modal.on === 'undefined') { opts.show.modal.on = TRUE; } } }; -// Extend original qTip defaults -$.extend(TRUE, $.fn.qtip.defaults, { +// Extend original api defaults +$.extend(TRUE, QTIP.defaults, { show: { modal: { on: FALSE, diff --git a/src/svg.js b/src/svg.js index e6d640ea..511142bd 100644 --- a/src/svg.js +++ b/src/svg.js @@ -1,4 +1,4 @@ -$.fn.qtip.plugins.svg = function(svg, corner) +PLUGINS.svg = function(svg, corner) { var doc = $(document), elem = svg[0], diff --git a/src/tips.js b/src/tips.js index 6de97d48..642bfbba 100644 --- a/src/tips.js +++ b/src/tips.js @@ -192,10 +192,10 @@ function Tip(qTip, command) } else { if(corner === TRUE) { - self.corner = new $.fn.qtip.plugins.Corner(my); + self.corner = new PLUGINS.Corner(my); } else if(!corner.string) { - self.corner = new $.fn.qtip.plugins.Corner(corner); + self.corner = new PLUGINS.Corner(corner); self.corner.fixed = TRUE; } } @@ -285,7 +285,7 @@ function Tip(qTip, command) // Otherwise inherit mimic properties from the corner object as necessary else { - mimic = new $.fn.qtip.plugins.Corner(mimic); + mimic = new PLUGINS.Corner(mimic); mimic.precedance = corner.precedance; if(mimic.x === 'inherit') { mimic.x = corner.x; } @@ -457,18 +457,18 @@ function Tip(qTip, command) self.init(); } -$.fn.qtip.plugins.tip = function(qTip) +PLUGINS.tip = function(api) { - var api = qTip.plugins.tip; - - return 'object' === typeof api ? api : (qTip.plugins.tip = new Tip(qTip)); + var self = api.plugins.tip; + + return 'object' === typeof self ? self : (api.plugins.tip = new Tip(api)); }; // Initialize tip on render -$.fn.qtip.plugins.tip.initialize = 'render'; +PLUGINS.tip.initialize = 'render'; // Setup plugin sanitization options -$.fn.qtip.plugins.tip.sanitize = function(options) +PLUGINS.tip.sanitize = function(options) { var style = options.style, opts; if(style && 'tip' in style) { @@ -483,7 +483,7 @@ $.fn.qtip.plugins.tip.sanitize = function(options) }; // Extend original qTip defaults -$.extend(TRUE, $.fn.qtip.defaults, { +$.extend(TRUE, QTIP.defaults, { style: { tip: { corner: TRUE,