{"version":3,"file":"jquery.imagemapster.js","names":["factory","define","amd","module","exports","root","jQuery","undefined","window","require","$","event","special","supportsPassive","opts","Object","defineProperty","get","addEventListener","removeEventListener","e","setupListener","ns","type","listener","includes","this","passive","touchstart","setup","_","call","touchend","setupPassiveListeners","fn","addBack","andSelf","extend","actual","method","options","fix","restore","configs","absolute","clone","includeMargin","display","$target","eq","attr","appendTo","remove","$hidden","tmp","style","parents","filter","each","$this","thisStyle","push","i","_tmp","removeAttr","test","mapster_version","elements","lastKey","fade_func","mapster","m","impl","utils","isFunction","apply","Array","prototype","slice","arguments","error","bind","version","render_defaults","isSelectable","isDeselectable","fade","fadeDuration","fill","fillColor","fillColorMask","fillOpacity","highlight","stroke","strokeColor","strokeOpacity","strokeWidth","includeKeys","altImage","altImageId","altImages","altImageOpacity","defaults","clickNavigate","navigateMode","wrapClass","wrapCss","onGetList","sortList","mapKey","mapValue","singleSelect","listKey","listSelectedAttribute","listSelectedClass","onClick","onMouseover","onMouseout","mouseoutDelay","onStateChange","boundList","onConfigured","configTimeout","noHrefIsMask","scaleMap","enableAutoResizeSupport","autoResize","autoResizeDelay","autoResizeDuration","onAutoResize","areas","shared_defaults","render_highlight","render_select","staticState","selected","area_defaults","isMask","canvas_style","position","left","top","padding","border","hasCanvas","map_cache","hooks","addHook","name","callback","callHooks","context","when","all","deferredArray","Promise","defer","promise","resolve","reject","then","catch","subclass","BaseClass","constr","Subclass","me","args","base","init","constructor","asArray","obj","split","text","cb","el","arr","length","trim","splice","updateProps","_target","_template","onlyProps","target","template","isEmptyObject","prop","src","inArray","p","isPlainObject","isElement","o","HTMLElement","nodeType","nodeName","indexOf","indexOfProp","val","result","boolOrDefault","def","isBool","isUndef","isNumeric","isNaN","parseFloat","ifFunction","that","size","image","raw","u","width","naturalWidth","imgWidth","height","naturalHeight","imgHeight","complete","setOpacity","opacity","css","fader","op","endOp","duration","index","cbIntervals","setTimeout","getShape","areaEl","shape","toLowerCase","hasAttribute","attrName","getBoundList","key_list","key","list","is","add","getMapDataIndex","img","id","tagName","parent","getMapData","queueCommand","map_data","command","currentAction","commands","unload","off","ap","capProp","substr","toUpperCase","jqwidth","Method","func_map","func_area","output","input","first","allowAsync","go","data","ar","len","area_list","getData","addMap","removeMap","hasVml","a","html","b","firstChild","behavior","has","adj","namespaces","document","d","g_vml_","getContext","merge_areas","map_areas","getDataForKey","merge_options","temp_opts","area_options","md","getSelected","isSelected","defaultReturn","highlightId","ensureNoHighlight","keys","keyList","addUniqueKeys","ad","concat","getKeysForGroup","getDataForArea","join","select","set","deselect","lastMap","addArea","finishSetForMap","newState","toggle","setSelection","removeSelectionFinish","toString","unbind","preserveState","clearEvents","clearMapData","rebind","configureOptions","bindImages","buildDataset","get_options","effective","eff","effectiveOptions","set_options","graphics","snapshot","base_canvas","createVisibleCanvas","before","state","map","usemap","getAttribute","MapData","initialize","useCanvas","shapes","value","v","createStyleSheet","addRule","eval","canvasMethods","vmlMethods","addShapeGroupImpl","areaData","nohref","addShape","hex_to_decimal","hex","Math","max","min","parseInt","css3color","color","noop","Graphics","active","canvas","masks","begin","elementName","c","mapArea","mapData","createCanvasFor","addClass","addShapeGroup","mode","effectiveRenderOptions","areaId","overlay_canvas","render","find","not","renderShape","offset","coords","rect","moveTo","lineTo","arc","PI","addAltImage","beginPath","closePath","clip","globalAlpha","drawImage","owner","scaleInfo","maskCanvas","maskContext","hasMasks","shapeCanvas","shapeContext","clearRect","save","lineWidth","fillStyle","s","images","strokeStyle","globalCompositeOperation","clearHighlight","refreshSelections","canvas_temp","hide","redrawSelections","show","cssclass","t_fill","el_name","el_class","append","w","h","children","removeSelections","area_id","MapImages","clear","status","_add","ids","on","imageLoaded","imageLoadError","triesLeft","check","isLoaded","imgTimeout","deferred","resolver","clearTimeout","queueMouseEvent","delay","area","activeAreaEvent","completeAction","currentAreaId","shouldNavigateTo","href","mousedown","blur","preventDefault","mouseover","arData","getAllDataForArea","isNotRendered","clearEffects","showToolTip","toolTip","mouseout","relatedTarget","toolTipClose","activeToolTip","clearToolTip","click","list_target","newSelectionState","canChangeState","cbResult","navDetails","areaOpts","navigateTo","location","open","getNavDetails","defaultHref","elHref","useEl","hrefTarget","clickArea","listTarget","imgCssText","cssText","mapAreas","_xref","_tooltip_events","autoResizeTimer","initializeDefaults","mi","e2","configureAltImages","isActive","resizing","zoomed","zoomedArea","wrapId","instanceEventNamespace","_idFromKey","hasOwnProperty","atMost","isPrimary","getPrimaryKeysForMapAreas","changeState","setHighlightId","clearSelections","setAreaOptions","drawSelections","key_arr","drawSelection","isSelectedOrStatic","setBoundListProperties","removeClass","clearBoundListProperties","refreshBoundList","setBoundList","sort_func","sorted_list","sort","imgCopy","wrap","parentId","scale","substring","className","wrapper","processCommandQueue","configureAutoResize","$img","sel","j","$area","curKey","mapAreaId","group_value","dataItem","default_group","addAreaData","AreaData","String","configure","areaDataXref","MapArea","areasXref","cur","_clearCanvases","reset","g","isNoHref","staticStateOverridden","optsCache","constuctor","selectedHasChanged","hasOptions","newOptsCache","changeOptions","isDrawn","updateSelected","partial","prevSelected","allOpts","state_type","originalCoords","areaCorners","container","pos","found","minX","minY","maxX","maxY","bestMinX","bestMaxX","bestMinY","bestMaxY","curX","curY","nest","rootx","rooty","iCoords","radius","angle","offsetx","offsety","body","cos","sin","getScaleInfo","pct","scalePct","realWidth","realHeight","ratio","imageRaw","vis","resize","promises","newsize","els","sizeCanvas","finishResize","tempOptions","resizeMapData","round","animate","easing","resizeMap","percent","coordOffset","newCoords","noDimensions","createToolTip","tooltip","bindToolTipClose","bindOption","beforeClose","onClose","tooltip_ns","event_name","object","corners","ttopts","outerWidth","outerHeight","tooltipCss","actalOpacity","zindex","showToolTipImpl","getHtmlFromOptions","jquery","content","getOptionsFromOptions","toolTipContainer","toolTipFade","onShowToolTip","onHideToolTip","stop","activeToolTipID","closeOpts","tipClosed","closeEvents","effectiveContent","areaOptions","defaultTarget"],"sources":["jquery.imagemapster.js"],"mappings":"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","sourcesContent":["/*!\n* imagemapster - v1.8.0 - 2024-05-01\n* https://jamietre.github.io/ImageMapster\n* Copyright (c) 2011 - 2024 James Treworgy\n* License: MIT\n*/\n(function (factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['jquery'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // Node/CommonJS\n module.exports = function( root, jQuery ) {\n if ( jQuery === undefined ) {\n // require('jQuery') returns a factory that requires window to\n // build a jQuery instance, we normalize how we use modules\n // that require this pattern but the window provided is a noop\n // if it's defined (how jquery works)\n if ( typeof window !== 'undefined' ) {\n jQuery = require('jquery');\n }\n else {\n jQuery = require('jquery')(root);\n }\n }\n factory(jQuery);\n return jQuery;\n };\n } else {\n // Browser globals\n factory(jQuery);\n }\n}(function (jQuery) {\n/*\n jqueryextensions.js\n Extend/intercept jquery behavior\n*/\n\n(function ($) {\n 'use strict';\n\n function setupPassiveListeners() {\n // Test via a getter in the options object to see if the passive property is accessed\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function () {\n supportsPassive = true;\n return true;\n }\n });\n window.addEventListener('testPassive.mapster', function () {}, opts);\n window.removeEventListener('testPassive.mapster', function () {}, opts);\n } catch (e) {\n // intentionally ignored\n }\n\n if (supportsPassive) {\n // In order to not interrupt scrolling on touch devices\n // we commit to not calling preventDefault from within listeners\n // There is a plan to handle this natively in jQuery 4.0 but for\n // now we are on our own.\n // TODO: Migrate to jQuery 4.0 approach if/when released\n // https://www.chromestatus.com/feature/5745543795965952\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n // https://github.com/jquery/jquery/issues/2871#issuecomment-175175180\n // https://jsbin.com/bupesajoza/edit?html,js,output\n var setupListener = function (ns, type, listener) {\n if (ns.includes('mapster') && ns.includes('noPreventDefault')) {\n this.addEventListener(type, listener, { passive: true });\n } else {\n return false;\n }\n };\n\n // special events for mapster.noPreventDefault\n $.event.special.touchstart = {\n setup: function (_, ns, listener) {\n return setupListener.call(this, ns, 'touchstart', listener);\n }\n };\n $.event.special.touchend = {\n setup: function (_, ns, listener) {\n return setupListener.call(this, ns, 'touchend', listener);\n }\n };\n }\n }\n\n function supportsSpecialEvents() {\n return $.event && $.event.special;\n }\n\n // Zepto does not support special events\n // TODO: Remove when Zepto support is removed\n if (supportsSpecialEvents()) {\n setupPassiveListeners();\n }\n})(jQuery);\n\n/*\n When autoresize is enabled, we obtain the width of the wrapper element and resize to that, however when we're hidden because of\n one of our ancenstors, jQuery width function returns 0. Ideally, we could use ResizeObserver/MutationObserver to detect\n when we hide/show and resize on that event instead of resizing while we are not visible but until official support of older \n browsers is dropped, we need to go this route. The plugin below will provide the actual width even when we're not visible.\n\n Source: https://raw.githubusercontent.com/dreamerslab/jquery.actual/master/jquery.actual.js\n*/\n/*! Copyright 2012, Ben Lin (http://dreamerslab.com/)\n * Licensed under the MIT License (LICENSE.txt).\n *\n * Version: 1.0.19\n *\n * Requires: jQuery >= 1.2.3\n */\n/* eslint-disable one-var */\n(function ($) {\n 'use strict';\n\n $.fn.addBack = $.fn.addBack || $.fn.andSelf;\n\n $.fn.extend({\n actual: function (method, options) {\n // check if the jQuery method exist\n if (!this[method]) {\n throw (\n '$.actual => The jQuery method \"' +\n method +\n '\" you called does not exist'\n );\n }\n\n var defaults = {\n absolute: false,\n clone: false,\n includeMargin: false,\n display: 'block'\n };\n\n var configs = $.extend(defaults, options);\n\n var $target = this.eq(0);\n var fix, restore;\n\n if (configs.clone === true) {\n fix = function () {\n var style = 'position: absolute !important; top: -1000 !important; ';\n\n // this is useful with css3pie\n $target = $target.clone().attr('style', style).appendTo('body');\n };\n\n restore = function () {\n // remove DOM element after getting the width\n $target.remove();\n };\n } else {\n var tmp = [];\n var style = '';\n var $hidden;\n\n fix = function () {\n // get all hidden parents\n $hidden = $target.parents().addBack().filter(':hidden');\n style +=\n 'visibility: hidden !important; display: ' +\n configs.display +\n ' !important; ';\n\n if (configs.absolute === true)\n style += 'position: absolute !important; ';\n\n // save the origin style props\n // set the hidden el css to be got the actual value later\n $hidden.each(function () {\n // Save original style. If no style was set, attr() returns undefined\n var $this = $(this);\n var thisStyle = $this.attr('style');\n\n tmp.push(thisStyle);\n // Retain as much of the original style as possible, if there is one\n $this.attr('style', thisStyle ? thisStyle + ';' + style : style);\n });\n };\n\n restore = function () {\n // restore origin style values\n $hidden.each(function (i) {\n var $this = $(this);\n var _tmp = tmp[i];\n\n if (_tmp === undefined) {\n $this.removeAttr('style');\n } else {\n $this.attr('style', _tmp);\n }\n });\n };\n }\n\n fix();\n // get the actual value with user specific methed\n // it can be 'width', 'height', 'outerWidth', 'innerWidth'... etc\n // configs.includeMargin only works for 'outerWidth' and 'outerHeight'\n var actual = /(outer)/.test(method)\n ? $target[method](configs.includeMargin)\n : $target[method]();\n\n restore();\n // IMPORTANT, this plugin only return the value of the first element\n return actual;\n }\n });\n})(jQuery);\n/* eslint-enable one-var */\n\n/*\n core.js\n ImageMapster core\n*/\n\n(function ($) {\n 'use strict';\n\n var mapster_version = '1.8.0';\n\n // all public functions in $.mapster.impl are methods\n $.fn.mapster = function (method) {\n var m = $.mapster.impl;\n if ($.mapster.utils.isFunction(m[method])) {\n return m[method].apply(this, Array.prototype.slice.call(arguments, 1));\n } else if (typeof method === 'object' || !method) {\n return m.bind.apply(this, arguments);\n } else {\n $.error('Method ' + method + ' does not exist on jQuery.mapster');\n }\n };\n\n $.mapster = {\n version: mapster_version,\n render_defaults: {\n isSelectable: true,\n isDeselectable: true,\n fade: false,\n fadeDuration: 150,\n fill: true,\n fillColor: '000000',\n fillColorMask: 'FFFFFF',\n fillOpacity: 0.7,\n highlight: true,\n stroke: false,\n strokeColor: 'ff0000',\n strokeOpacity: 1,\n strokeWidth: 1,\n includeKeys: '',\n altImage: null,\n altImageId: null, // used internally\n altImages: {},\n altImageOpacity: null\n },\n defaults: {\n clickNavigate: false,\n navigateMode: 'location', // location|open\n wrapClass: null,\n wrapCss: null,\n onGetList: null,\n sortList: false,\n // listenToList: false, // not used - see mapdata.js line 1002\n mapKey: '',\n mapValue: '',\n singleSelect: false,\n listKey: 'value',\n listSelectedAttribute: 'selected',\n listSelectedClass: null,\n onClick: null,\n onMouseover: null,\n onMouseout: null,\n mouseoutDelay: 0,\n onStateChange: null,\n boundList: null,\n onConfigured: null,\n configTimeout: 30000,\n noHrefIsMask: true,\n scaleMap: true,\n enableAutoResizeSupport: false, // TODO: Remove in next major release\n autoResize: false,\n autoResizeDelay: 0,\n autoResizeDuration: 0,\n onAutoResize: null,\n areas: []\n },\n shared_defaults: {\n render_highlight: { fade: true },\n render_select: { fade: false },\n staticState: null,\n selected: null\n },\n area_defaults: {\n includeKeys: '',\n isMask: false\n },\n canvas_style: {\n position: 'absolute',\n left: 0,\n top: 0,\n padding: 0,\n border: 0\n },\n hasCanvas: null,\n map_cache: [],\n hooks: {},\n addHook: function (name, callback) {\n this.hooks[name] = (this.hooks[name] || []).push(callback);\n },\n callHooks: function (name, context) {\n $.each(this.hooks[name] || [], function (_, e) {\n e.apply(context);\n });\n },\n utils: {\n when: {\n all: function (deferredArray) {\n // TODO: Promise breaks ES5 support\n // eslint-disable-next-line no-undef\n return Promise.all(deferredArray);\n },\n defer: function () {\n // Deferred is frequently referred to as an anti-pattern largely\n // due to error handling, however to avoid reworking existing\n // APIs and support backwards compat, creating a \"deferred\"\n // polyfill via native promise\n var Deferred = function () {\n // TODO: Promise breaks ES5 support\n // eslint-disable-next-line no-undef\n this.promise = new Promise(\n function (resolve, reject) {\n this.resolve = resolve;\n this.reject = reject;\n }.bind(this)\n );\n\n this.then = this.promise.then.bind(this.promise);\n this.catch = this.promise.catch.bind(this.promise);\n };\n return new Deferred();\n }\n },\n defer: function () {\n return this.when.defer();\n },\n // extends the constructor, returns a new object prototype. Does not refer to the\n // original constructor so is protected if the original object is altered. This way you\n // can \"extend\" an object by replacing it with its subclass.\n subclass: function (BaseClass, constr) {\n var Subclass = function () {\n var me = this,\n args = Array.prototype.slice.call(arguments, 0);\n me.base = BaseClass.prototype;\n me.base.init = function () {\n BaseClass.prototype.constructor.apply(me, args);\n };\n constr.apply(me, args);\n };\n Subclass.prototype = new BaseClass();\n Subclass.prototype.constructor = Subclass;\n return Subclass;\n },\n asArray: function (obj) {\n return obj.constructor === Array ? obj : this.split(obj);\n },\n // clean split: no padding or empty elements\n split: function (text, cb) {\n var i,\n el,\n arr = text.split(',');\n for (i = 0; i < arr.length; i++) {\n // backwards compat for $.trim which would return empty string on null\n // which theoertically should not happen here\n el = arr[i] ? arr[i].trim() : '';\n if (el === '') {\n arr.splice(i, 1);\n } else {\n arr[i] = cb ? cb(el) : el;\n }\n }\n return arr;\n },\n // similar to $.extend but does not add properties (only updates), unless the\n // first argument is an empty object, then all properties will be copied\n updateProps: function (_target, _template) {\n var onlyProps,\n target = _target || {},\n template = $.isEmptyObject(target) ? _template : _target;\n\n //if (template) {\n onlyProps = [];\n $.each(template, function (prop) {\n onlyProps.push(prop);\n });\n //}\n\n $.each(Array.prototype.slice.call(arguments, 1), function (_, src) {\n $.each(src || {}, function (prop) {\n if (!onlyProps || $.inArray(prop, onlyProps) >= 0) {\n var p = src[prop];\n\n if ($.isPlainObject(p)) {\n // not recursive - only copies 1 level of subobjects, and always merges\n target[prop] = $.extend(target[prop] || {}, p);\n } else if (p && p.constructor === Array) {\n target[prop] = p.slice(0);\n } else if (typeof p !== 'undefined') {\n target[prop] = src[prop];\n }\n }\n });\n });\n return target;\n },\n isElement: function (o) {\n return typeof HTMLElement === 'object'\n ? o instanceof HTMLElement\n : o &&\n typeof o === 'object' &&\n o.nodeType === 1 &&\n typeof o.nodeName === 'string';\n },\n /**\n * Basic indexOf implementation for IE7-8. Though we use $.inArray, some jQuery versions will try to\n * use a prototpye on the calling object, defeating the purpose of using $.inArray in the first place.\n *\n * This will be replaced with the array prototype if it's available.\n *\n * @param {Array} arr The array to search\n * @param {Object} target The item to search for\n * @return {Number} The index of the item, or -1 if not found\n */\n indexOf: function (arr, target) {\n if (Array.prototype.indexOf) {\n return Array.prototype.indexOf.call(arr, target);\n } else {\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] === target) {\n return i;\n }\n }\n return -1;\n }\n },\n\n // finds element of array or object with a property \"prop\" having value \"val\"\n // if prop is not defined, then just looks for property with value \"val\"\n indexOfProp: function (obj, prop, val) {\n var result = obj.constructor === Array ? -1 : null;\n $.each(obj, function (i, e) {\n if (e && (prop ? e[prop] : e) === val) {\n result = i;\n return false;\n }\n });\n return result;\n },\n // returns \"obj\" if true or false, or \"def\" if not true/false\n boolOrDefault: function (obj, def) {\n return this.isBool(obj) ? obj : def || false;\n },\n isBool: function (obj) {\n return typeof obj === 'boolean';\n },\n isUndef: function (obj) {\n return typeof obj === 'undefined';\n },\n isFunction: function (obj) {\n return typeof obj === 'function';\n },\n isNumeric: function (obj) {\n return !isNaN(parseFloat(obj));\n },\n // evaluates \"obj\", if function, calls it with args\n // (todo - update this to handle variable lenght/more than one arg)\n ifFunction: function (obj, that, args) {\n if (this.isFunction(obj)) {\n obj.call(that, args);\n }\n },\n size: function (image, raw) {\n var u = $.mapster.utils;\n return {\n width: raw\n ? image.width || image.naturalWidth\n : u.imgWidth(image, true),\n height: raw\n ? image.height || image.naturalHeight\n : u.imgHeight(image, true),\n complete: function () {\n return !!this.height && !!this.width;\n }\n };\n },\n\n /**\n * Set the opacity of the element. This is an IE<8 specific function for handling VML.\n * When using VML we must override the \"setOpacity\" utility function (monkey patch ourselves).\n * jQuery does not deal with opacity correctly for VML elements. This deals with that.\n *\n * @param {Element} el The DOM element\n * @param {double} opacity A value between 0 and 1 inclusive.\n */\n\n setOpacity: function (el, opacity) {\n if ($.mapster.hasCanvas()) {\n el.style.opacity = opacity;\n } else {\n $(el).each(function (_, e) {\n if (typeof e.opacity !== 'undefined') {\n e.opacity = opacity;\n } else {\n $(e).css('opacity', opacity);\n }\n });\n }\n },\n\n // fade \"el\" from opacity \"op\" to \"endOp\" over a period of time \"duration\"\n\n fader: (function () {\n var elements = {},\n lastKey = 0,\n fade_func = function (el, op, endOp, duration) {\n var index,\n cbIntervals = duration / 15,\n obj,\n u = $.mapster.utils;\n\n if (typeof el === 'number') {\n obj = elements[el];\n if (!obj) {\n return;\n }\n } else {\n index = u.indexOfProp(elements, null, el);\n if (index) {\n delete elements[index];\n }\n elements[++lastKey] = obj = el;\n el = lastKey;\n }\n\n endOp = endOp || 1;\n\n op =\n op + endOp / cbIntervals > endOp - 0.01\n ? endOp\n : op + endOp / cbIntervals;\n\n u.setOpacity(obj, op);\n if (op < endOp) {\n setTimeout(function () {\n fade_func(el, op, endOp, duration);\n }, 15);\n }\n };\n return fade_func;\n })(),\n getShape: function (areaEl) {\n // per HTML spec, invalid value and missing value default is 'rect'\n // Handling as follows:\n // - Missing/Empty value will be treated as 'rect' per spec\n // - Avoid handling invalid values do to perf impact\n // Note - IM currently does not support shape of 'default' so while its technically\n // a valid attribute value it should not be used.\n // https://html.spec.whatwg.org/multipage/image-maps.html#the-area-element\n return (areaEl.shape || 'rect').toLowerCase();\n },\n hasAttribute: function (el, attrName) {\n var attr = $(el).attr(attrName);\n // For some browsers, `attr` is undefined; for others, `attr` is false.\n return typeof attr !== 'undefined' && attr !== false;\n }\n },\n getBoundList: function (opts, key_list) {\n if (!opts.boundList) {\n return null;\n }\n var index,\n key,\n result = $(),\n list = $.mapster.utils.split(key_list);\n opts.boundList.each(function (_, e) {\n for (index = 0; index < list.length; index++) {\n key = list[index];\n if ($(e).is('[' + opts.listKey + '=\"' + key + '\"]')) {\n result = result.add(e);\n }\n }\n });\n return result;\n },\n getMapDataIndex: function (obj) {\n var img, id;\n switch (obj.tagName && obj.tagName.toLowerCase()) {\n case 'area':\n id = $(obj).parent().attr('name');\n img = $(\"img[usemap='#\" + id + \"']\")[0];\n break;\n case 'img':\n img = obj;\n break;\n }\n return img ? this.utils.indexOfProp(this.map_cache, 'image', img) : -1;\n },\n getMapData: function (obj) {\n var index = this.getMapDataIndex(obj.length ? obj[0] : obj);\n if (index >= 0) {\n return index >= 0 ? this.map_cache[index] : null;\n }\n },\n /**\n * Queue a command to be run after the active async operation has finished\n * @param {MapData} map_data The target MapData object\n * @param {jQuery} that jQuery object on which the command was invoked\n * @param {string} command the ImageMapster method name\n * @param {object[]} args arguments passed to the method\n * @return {bool} true if the command was queued, false if not (e.g. there was no need to)\n */\n queueCommand: function (map_data, that, command, args) {\n if (!map_data) {\n return false;\n }\n if (!map_data.complete || map_data.currentAction) {\n map_data.commands.push({\n that: that,\n command: command,\n args: args\n });\n return true;\n }\n return false;\n },\n unload: function () {\n this.impl.unload();\n this.utils = null;\n this.impl = null;\n $.fn.mapster = null;\n $.mapster = null;\n return $('*').off('.mapster');\n }\n };\n\n // Config for object prototypes\n // first: use only first object (for things that should not apply to lists)\n /// calls back one of two fuinctions, depending on whether an area was obtained.\n // opts: {\n // name: 'method name',\n // key: 'key,\n // args: 'args'\n //\n //}\n // name: name of method (required)\n // args: arguments to re-call with\n // Iterates through all the objects passed, and determines whether it's an area or an image, and calls the appropriate\n // callback for each. If anything is returned from that callback, the process is stopped and that data return. Otherwise,\n // the object itself is returned.\n\n var m = $.mapster,\n u = m.utils,\n ap = Array.prototype;\n\n // jQuery's width() and height() are broken on IE9 in some situations. This tries everything.\n $.each(['width', 'height'], function (_, e) {\n var capProp = e.substr(0, 1).toUpperCase() + e.substr(1);\n // when jqwidth parm is passed, it also checks the jQuery width()/height() property\n // the issue is that jQUery width() can report a valid size before the image is loaded in some browsers\n // without it, we can read zero even when image is loaded in other browsers if its not visible\n // we must still check because stuff like adblock can temporarily block it\n // what a goddamn headache\n u['img' + capProp] = function (img, jqwidth) {\n return (\n (jqwidth ? $(img)[e]() : 0) ||\n img[e] ||\n img['natural' + capProp] ||\n img['client' + capProp] ||\n img['offset' + capProp]\n );\n };\n });\n\n /**\n * The Method object encapsulates the process of testing an ImageMapster method to see if it's being\n * invoked on an image, or an area; then queues the command if the MapData is in an active state.\n *\n * @param {[jQuery]} that The target of the invocation\n * @param {[function]} func_map The callback if the target is an image map\n * @param {[function]} func_area The callback if the target is an area\n * @param {[object]} opt Options: { key: a map key if passed explicitly\n * name: the command name, if it can be queued,\n * args: arguments to the method\n * }\n */\n\n m.Method = function (that, func_map, func_area, opts) {\n var me = this;\n me.name = opts.name;\n me.output = that;\n me.input = that;\n me.first = opts.first || false;\n me.args = opts.args ? ap.slice.call(opts.args, 0) : [];\n me.key = opts.key;\n me.func_map = func_map;\n me.func_area = func_area;\n //$.extend(me, opts);\n me.name = opts.name;\n me.allowAsync = opts.allowAsync || false;\n };\n m.Method.prototype = {\n constructor: m.Method,\n go: function () {\n var i,\n data,\n ar,\n len,\n result,\n src = this.input,\n area_list = [],\n me = this;\n\n len = src.length;\n for (i = 0; i < len; i++) {\n data = $.mapster.getMapData(src[i]);\n if (data) {\n if (\n !me.allowAsync &&\n m.queueCommand(data, me.input, me.name, me.args)\n ) {\n if (this.first) {\n result = '';\n }\n continue;\n }\n\n ar = data.getData(src[i].nodeName === 'AREA' ? src[i] : this.key);\n if (ar) {\n if ($.inArray(ar, area_list) < 0) {\n area_list.push(ar);\n }\n } else {\n result = this.func_map.apply(data, me.args);\n }\n if (this.first || typeof result !== 'undefined') {\n break;\n }\n }\n }\n // if there were areas, call the area function for each unique group\n $(area_list).each(function (_, e) {\n result = me.func_area.apply(e, me.args);\n });\n\n if (typeof result !== 'undefined') {\n return result;\n } else {\n return this.output;\n }\n }\n };\n\n $.mapster.impl = (function () {\n var me = {},\n addMap = function (map_data) {\n return m.map_cache.push(map_data) - 1;\n },\n removeMap = function (map_data) {\n m.map_cache.splice(map_data.index, 1);\n for (var i = m.map_cache.length - 1; i >= map_data.index; i--) {\n m.map_cache[i].index--;\n }\n };\n\n /**\n * Test whether the browser supports VML. Credit: google.\n * http://stackoverflow.com/questions/654112/how-do-you-detect-support-for-vml-or-svg-in-a-browser\n *\n * @return {bool} true if vml is supported, false if not\n */\n\n function hasVml() {\n var a = $('
').appendTo('body');\n a.html('