{"version":3,"file":"jquery.zoom.min.js","sources":["scripts/zoom-master/jquery.zoom.min.js"],"sourcesContent":["/*!\n\tZoom 1.7.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/zoom\n*/\n(function ($) {\n\tvar defaults = {\n\t\turl: false,\n\t\tcallback: false,\n\t\ttarget: false,\n\t\tduration: 120,\n\t\ton: 'mouseover', // other options: grab, click, toggle\n\t\ttouch: true, // enables a touch fallback\n\t\tonZoomIn: false,\n\t\tonZoomOut: false,\n\t\tmagnify: 1\n\t};\n\n\t// Core Zoom Logic, independent of event listeners.\n\t$.zoom = function(target, source, img, magnify) {\n\t\tvar targetHeight,\n\t\t\ttargetWidth,\n\t\t\tsourceHeight,\n\t\t\tsourceWidth,\n\t\t\txRatio,\n\t\t\tyRatio,\n\t\t\toffset,\n\t\t\t$target = $(target),\n\t\t\tposition = $target.css('position'),\n\t\t\t$source = $(source);\n\n\t\t// The parent element needs positioning so that the zoomed element can be correctly positioned within.\n\t\ttarget.style.position = /(absolute|fixed)/.test(position) ? position : 'relative';\n\t\ttarget.style.overflow = 'hidden';\n\t\timg.style.width = img.style.height = '';\n\n\t\t$(img)\n\t\t\t.addClass('zoomImg')\n\t\t\t.css({\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\topacity: 0,\n\t\t\t\twidth: img.width * magnify,\n\t\t\t\theight: img.height * magnify,\n\t\t\t\tborder: 'none',\n\t\t\t\tmaxWidth: 'none',\n\t\t\t\tmaxHeight: 'none'\n\t\t\t})\n\t\t\t.appendTo(target);\n\n\t\treturn {\n\t\t\tinit: function() {\n\t\t\t\ttargetWidth = $target.outerWidth();\n\t\t\t\ttargetHeight = $target.outerHeight();\n\n\t\t\t\tif (source === target) {\n\t\t\t\t\tsourceWidth = targetWidth;\n\t\t\t\t\tsourceHeight = targetHeight;\n\t\t\t\t} else {\n\t\t\t\t\tsourceWidth = $source.outerWidth();\n\t\t\t\t\tsourceHeight = $source.outerHeight();\n\t\t\t\t}\n\n\t\t\t\txRatio = (img.width - targetWidth) / sourceWidth;\n\t\t\t\tyRatio = (img.height - targetHeight) / sourceHeight;\n\n\t\t\t\toffset = $source.offset();\n\t\t\t},\n\t\t\tmove: function (e) {\n\t\t\t\tvar left = (e.pageX - offset.left),\n\t\t\t\t\ttop = (e.pageY - offset.top);\n\n\t\t\t\ttop = Math.max(Math.min(top, sourceHeight), 0);\n\t\t\t\tleft = Math.max(Math.min(left, sourceWidth), 0);\n\n\t\t\t\timg.style.left = (left * -xRatio) + 'px';\n\t\t\t\timg.style.top = (top * -yRatio) + 'px';\n\t\t\t}\n\t\t};\n\t};\n\n\t$.fn.zoom = function (options) {\n\t\treturn this.each(function () {\n\t\t\tvar\n\t\t\tsettings = $.extend({}, defaults, options || {}),\n\t\t\t//target will display the zoomed image\n\t\t\ttarget = settings.target && $(settings.target)[0] || this,\n\t\t\t//source will provide zoom location info (thumbnail)\n\t\t\tsource = this,\n\t\t\t$source = $(source),\n\t\t\timg = document.createElement('img'),\n\t\t\t$img = $(img),\n\t\t\tmousemove = 'mousemove.zoom',\n\t\t\tclicked = false,\n\t\t\ttouched = false;\n\n\t\t\t// If a url wasn't specified, look for an image element.\n\t\t\tif (!settings.url) {\n\t\t\t\tvar srcElement = source.querySelector('img');\n\t\t\t\tif (srcElement) {\n\t\t\t\t\tsettings.url = srcElement.getAttribute('data-src') || srcElement.currentSrc || srcElement.src;\n\t\t\t\t}\n\t\t\t\tif (!settings.url) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$source.one('zoom.destroy', function(position, overflow){\n\t\t\t\t$source.off(\".zoom\");\n\t\t\t\ttarget.style.position = position;\n\t\t\t\ttarget.style.overflow = overflow;\n\t\t\t\timg.onload = null;\n\t\t\t\t$img.remove();\n\t\t\t}.bind(this, target.style.position, target.style.overflow));\n\n\t\t\timg.onload = function () {\n\t\t\t\tvar zoom = $.zoom(target, source, img, settings.magnify);\n\n\t\t\t\tfunction start(e) {\n\t\t\t\t\tzoom.init();\n\t\t\t\t\tzoom.move(e);\n\n\t\t\t\t\t// Change position based on mousemovement.\n\t\t\t\t\t$img.stop()\n\t\t\t\t\t.fadeTo(settings.duration, 1, $.isFunction(settings.onZoomIn) ? settings.onZoomIn.call(img) : false);\n\t\t\t\t}\n\n\t\t\t\tfunction stop() {\n\t\t\t\t\t$img.stop()\n\t\t\t\t\t.fadeTo(settings.duration, 0, $.isFunction(settings.onZoomOut) ? settings.onZoomOut.call(img) : false);\n\t\t\t\t}\n\n\t\t\t\t// Mouse events\n\t\t\t\tif (settings.on === 'grab') {\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('mousedown.zoom',\n\t\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\t\tif (e.which === 1) {\n\t\t\t\t\t\t\t\t\t$(document).one('mouseup.zoom',\n\t\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\t\tstop();\n\n\t\t\t\t\t\t\t\t\t\t\t$(document).off(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tstart(e);\n\n\t\t\t\t\t\t\t\t\t$(document).on(mousemove, zoom.move);\n\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'click') {\n\t\t\t\t\t$source.on('click.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\t// bubble the event up to the document to trigger the unbind.\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tclicked = true;\n\t\t\t\t\t\t\t\tstart(e);\n\t\t\t\t\t\t\t\t$(document).on(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t$(document).one('click.zoom',\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t\t\t\tclicked = false;\n\t\t\t\t\t\t\t\t\t\t$(document).off(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t.on('mouseleave.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t\tclicked = !clicked;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'toggle') {\n\t\t\t\t\t$source.on('click.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstart(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclicked = !clicked;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'mouseover') {\n\t\t\t\t\tzoom.init(); // Preemptively call init because IE7 will fire the mousemove handler before the hover handler.\n\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('mouseenter.zoom', start)\n\t\t\t\t\t\t.on('mouseleave.zoom', stop)\n\t\t\t\t\t\t.on(mousemove, zoom.move);\n\t\t\t\t}\n\n\t\t\t\t// Touch fallback\n\t\t\t\tif (settings.touch) {\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('touchstart.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (touched) {\n\t\t\t\t\t\t\t\ttouched = false;\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttouched = true;\n\t\t\t\t\t\t\t\tstart( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('touchmove.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tzoom.move( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] );\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('touchend.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (touched) {\n\t\t\t\t\t\t\t\ttouched = false;\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif ($.isFunction(settings.callback)) {\n\t\t\t\t\tsettings.callback.call(img);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\timg.setAttribute('role', 'presentation');\n\t\t\timg.alt = '';\n\t\t\timg.src = settings.url;\n\t\t});\n\t};\n\n\t$.fn.zoom.defaults = defaults;\n}(window.jQuery));\n"],"names":["$","defaults","url","callback","target","duration","on","touch","onZoomIn","onZoomOut","magnify","zoom","source","img","targetHeight","targetWidth","sourceHeight","sourceWidth","xRatio","yRatio","offset","$target","position","css","$source","style","test","overflow","width","height","addClass","top","left","opacity","border","maxWidth","maxHeight","appendTo","init","outerWidth","outerHeight","move","e","pageX","pageY","Math","max","min","fn","options","this","each","settings","extend","document","createElement","$img","mousemove","clicked","touched","srcElement","querySelector","getAttribute","currentSrc","src","one","off","onload","remove","bind","start","stop","fadeTo","isFunction","call","which","preventDefault","originalEvent","touches","changedTouches","setAttribute","alt","window","jQuery"],"mappings":"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"}