{"version":3,"file":"4050-1f7e0a1fb08d497326fb.js","mappings":"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","sources":["webpack://@whistleout/webui/../node_modules/.pnpm/jquery-blockui@2.7.0/node_modules/jquery-blockui/jquery.blockUI.js","webpack://@whistleout/webui/../node_modules/.pnpm/magnific-popup@1.1.0/node_modules/magnific-popup/dist/jquery.magnific-popup.js","webpack://@whistleout/webui/../node_modules/.pnpm/script-loader@0.7.2/node_modules/script-loader/addScript.js"],"sourcesContent":["/*!\r\n * jQuery blockUI plugin\r\n * Version 2.70.0-2014.11.23\r\n * Requires jQuery v1.7 or later\r\n *\r\n * Examples at: http://malsup.com/jquery/block/\r\n * Copyright (c) 2007-2013 M. Alsup\r\n * Dual licensed under the MIT and GPL licenses:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n * http://www.gnu.org/licenses/gpl.html\r\n *\r\n * Thanks to Amir-Hossein Sobhi for some excellent contributions!\r\n */\r\n\r\n;(function() {\r\n/*jshint eqeqeq:false curly:false latedef:false */\r\n\"use strict\";\r\n\r\n\tfunction setup($) {\r\n\t\t$.fn._fadeIn = $.fn.fadeIn;\r\n\r\n\t\tvar noOp = $.noop || function() {};\r\n\r\n\t\t// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle\r\n\t\t// confusing userAgent strings on Vista)\r\n\t\tvar msie = /MSIE/.test(navigator.userAgent);\r\n\t\tvar ie6 = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent);\r\n\t\tvar mode = document.documentMode || 0;\r\n\t\tvar setExpr = $.isFunction( document.createElement('div').style.setExpression );\r\n\r\n\t\t// global $ methods for blocking/unblocking the entire page\r\n\t\t$.blockUI = function(opts) { install(window, opts); };\r\n\t\t$.unblockUI = function(opts) { remove(window, opts); };\r\n\r\n\t\t// convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)\r\n\t\t$.growlUI = function(title, message, timeout, onClose) {\r\n\t\t\tvar $m = $('
');\r\n\t\t\tif (title) $m.append('

'+title+'

');\r\n\t\t\tif (message) $m.append('

'+message+'

');\r\n\t\t\tif (timeout === undefined) timeout = 3000;\r\n\r\n\t\t\t// Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications\r\n\t\t\tvar callBlock = function(opts) {\r\n\t\t\t\topts = opts || {};\r\n\r\n\t\t\t\t$.blockUI({\r\n\t\t\t\t\tmessage: $m,\r\n\t\t\t\t\tfadeIn : typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700,\r\n\t\t\t\t\tfadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,\r\n\t\t\t\t\ttimeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,\r\n\t\t\t\t\tcenterY: false,\r\n\t\t\t\t\tshowOverlay: false,\r\n\t\t\t\t\tonUnblock: onClose,\r\n\t\t\t\t\tcss: $.blockUI.defaults.growlCSS\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tcallBlock();\r\n\t\t\tvar nonmousedOpacity = $m.css('opacity');\r\n\t\t\t$m.mouseover(function() {\r\n\t\t\t\tcallBlock({\r\n\t\t\t\t\tfadeIn: 0,\r\n\t\t\t\t\ttimeout: 30000\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar displayBlock = $('.blockMsg');\r\n\t\t\t\tdisplayBlock.stop(); // cancel fadeout if it has started\r\n\t\t\t\tdisplayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency\r\n\t\t\t}).mouseout(function() {\r\n\t\t\t\t$('.blockMsg').fadeOut(1000);\r\n\t\t\t});\r\n\t\t\t// End konapun additions\r\n\t\t};\r\n\r\n\t\t// plugin method for blocking element content\r\n\t\t$.fn.block = function(opts) {\r\n\t\t\tif ( this[0] === window ) {\r\n\t\t\t\t$.blockUI( opts );\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t\tvar fullOpts = $.extend({}, $.blockUI.defaults, opts || {});\r\n\t\t\tthis.each(function() {\r\n\t\t\t\tvar $el = $(this);\r\n\t\t\t\tif (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))\r\n\t\t\t\t\treturn;\r\n\t\t\t\t$el.unblock({ fadeOut: 0 });\r\n\t\t\t});\r\n\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\tif ($.css(this,'position') == 'static') {\r\n\t\t\t\t\tthis.style.position = 'relative';\r\n\t\t\t\t\t$(this).data('blockUI.static', true);\r\n\t\t\t\t}\r\n\t\t\t\tthis.style.zoom = 1; // force 'hasLayout' in ie\r\n\t\t\t\tinstall(this, opts);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t// plugin method for unblocking element content\r\n\t\t$.fn.unblock = function(opts) {\r\n\t\t\tif ( this[0] === window ) {\r\n\t\t\t\t$.unblockUI( opts );\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\tremove(this, opts);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t$.blockUI.version = 2.70; // 2nd generation blocking at no extra cost!\r\n\r\n\t\t// override these in your code to change the default behavior and style\r\n\t\t$.blockUI.defaults = {\r\n\t\t\t// message displayed when blocking (use null for no message)\r\n\t\t\tmessage: '

Please wait...

',\r\n\r\n\t\t\ttitle: null,\t\t// title string; only used when theme == true\r\n\t\t\tdraggable: true,\t// only used when theme == true (requires jquery-ui.js to be loaded)\r\n\r\n\t\t\ttheme: false, // set to true to use with jQuery UI themes\r\n\r\n\t\t\t// styles for the message when blocking; if you wish to disable\r\n\t\t\t// these and use an external stylesheet then do this in your code:\r\n\t\t\t// $.blockUI.defaults.css = {};\r\n\t\t\tcss: {\r\n\t\t\t\tpadding:\t0,\r\n\t\t\t\tmargin:\t\t0,\r\n\t\t\t\twidth:\t\t'30%',\r\n\t\t\t\ttop:\t\t'40%',\r\n\t\t\t\tleft:\t\t'35%',\r\n\t\t\t\ttextAlign:\t'center',\r\n\t\t\t\tcolor:\t\t'#000',\r\n\t\t\t\tborder:\t\t'3px solid #aaa',\r\n\t\t\t\tbackgroundColor:'#fff',\r\n\t\t\t\tcursor:\t\t'wait'\r\n\t\t\t},\r\n\r\n\t\t\t// minimal style set used when themes are used\r\n\t\t\tthemedCSS: {\r\n\t\t\t\twidth:\t'30%',\r\n\t\t\t\ttop:\t'40%',\r\n\t\t\t\tleft:\t'35%'\r\n\t\t\t},\r\n\r\n\t\t\t// styles for the overlay\r\n\t\t\toverlayCSS: {\r\n\t\t\t\tbackgroundColor:\t'#000',\r\n\t\t\t\topacity:\t\t\t0.6,\r\n\t\t\t\tcursor:\t\t\t\t'wait'\r\n\t\t\t},\r\n\r\n\t\t\t// style to replace wait cursor before unblocking to correct issue\r\n\t\t\t// of lingering wait cursor\r\n\t\t\tcursorReset: 'default',\r\n\r\n\t\t\t// styles applied when using $.growlUI\r\n\t\t\tgrowlCSS: {\r\n\t\t\t\twidth:\t\t'350px',\r\n\t\t\t\ttop:\t\t'10px',\r\n\t\t\t\tleft:\t\t'',\r\n\t\t\t\tright:\t\t'10px',\r\n\t\t\t\tborder:\t\t'none',\r\n\t\t\t\tpadding:\t'5px',\r\n\t\t\t\topacity:\t0.6,\r\n\t\t\t\tcursor:\t\t'default',\r\n\t\t\t\tcolor:\t\t'#fff',\r\n\t\t\t\tbackgroundColor: '#000',\r\n\t\t\t\t'-webkit-border-radius':'10px',\r\n\t\t\t\t'-moz-border-radius':\t'10px',\r\n\t\t\t\t'border-radius':\t\t'10px'\r\n\t\t\t},\r\n\r\n\t\t\t// IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w\r\n\t\t\t// (hat tip to Jorge H. N. de Vasconcelos)\r\n\t\t\t/*jshint scripturl:true */\r\n\t\t\tiframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',\r\n\r\n\t\t\t// force usage of iframe in non-IE browsers (handy for blocking applets)\r\n\t\t\tforceIframe: false,\r\n\r\n\t\t\t// z-index for the blocking overlay\r\n\t\t\tbaseZ: 1000,\r\n\r\n\t\t\t// set these to true to have the message automatically centered\r\n\t\t\tcenterX: true, // <-- only effects element blocking (page block controlled via css above)\r\n\t\t\tcenterY: true,\r\n\r\n\t\t\t// allow body element to be stetched in ie6; this makes blocking look better\r\n\t\t\t// on \"short\" pages. disable if you wish to prevent changes to the body height\r\n\t\t\tallowBodyStretch: true,\r\n\r\n\t\t\t// enable if you want key and mouse events to be disabled for content that is blocked\r\n\t\t\tbindEvents: true,\r\n\r\n\t\t\t// be default blockUI will supress tab navigation from leaving blocking content\r\n\t\t\t// (if bindEvents is true)\r\n\t\t\tconstrainTabKey: true,\r\n\r\n\t\t\t// fadeIn time in millis; set to 0 to disable fadeIn on block\r\n\t\t\tfadeIn: 200,\r\n\r\n\t\t\t// fadeOut time in millis; set to 0 to disable fadeOut on unblock\r\n\t\t\tfadeOut: 400,\r\n\r\n\t\t\t// time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock\r\n\t\t\ttimeout: 0,\r\n\r\n\t\t\t// disable if you don't want to show the overlay\r\n\t\t\tshowOverlay: true,\r\n\r\n\t\t\t// if true, focus will be placed in the first available input field when\r\n\t\t\t// page blocking\r\n\t\t\tfocusInput: true,\r\n\r\n // elements that can receive focus\r\n focusableElements: ':input:enabled:visible',\r\n\r\n\t\t\t// suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)\r\n\t\t\t// no longer needed in 2012\r\n\t\t\t// applyPlatformOpacityRules: true,\r\n\r\n\t\t\t// callback method invoked when fadeIn has completed and blocking message is visible\r\n\t\t\tonBlock: null,\r\n\r\n\t\t\t// callback method invoked when unblocking has completed; the callback is\r\n\t\t\t// passed the element that has been unblocked (which is the window object for page\r\n\t\t\t// blocks) and the options that were passed to the unblock call:\r\n\t\t\t//\tonUnblock(element, options)\r\n\t\t\tonUnblock: null,\r\n\r\n\t\t\t// callback method invoked when the overlay area is clicked.\r\n\t\t\t// setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.\r\n\t\t\tonOverlayClick: null,\r\n\r\n\t\t\t// don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493\r\n\t\t\tquirksmodeOffsetHack: 4,\r\n\r\n\t\t\t// class name of the message block\r\n\t\t\tblockMsgClass: 'blockMsg',\r\n\r\n\t\t\t// if it is already blocked, then ignore it (don't unblock and reblock)\r\n\t\t\tignoreIfBlocked: false\r\n\t\t};\r\n\r\n\t\t// private data and functions follow...\r\n\r\n\t\tvar pageBlock = null;\r\n\t\tvar pageBlockEls = [];\r\n\r\n\t\tfunction install(el, opts) {\r\n\t\t\tvar css, themedCSS;\r\n\t\t\tvar full = (el == window);\r\n\t\t\tvar msg = (opts && opts.message !== undefined ? opts.message : undefined);\r\n\t\t\topts = $.extend({}, $.blockUI.defaults, opts || {});\r\n\r\n\t\t\tif (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))\r\n\t\t\t\treturn;\r\n\r\n\t\t\topts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});\r\n\t\t\tcss = $.extend({}, $.blockUI.defaults.css, opts.css || {});\r\n\t\t\tif (opts.onOverlayClick)\r\n\t\t\t\topts.overlayCSS.cursor = 'pointer';\r\n\r\n\t\t\tthemedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});\r\n\t\t\tmsg = msg === undefined ? opts.message : msg;\r\n\r\n\t\t\t// remove the current block (if there is one)\r\n\t\t\tif (full && pageBlock)\r\n\t\t\t\tremove(window, {fadeOut:0});\r\n\r\n\t\t\t// if an existing element is being used as the blocking content then we capture\r\n\t\t\t// its current place in the DOM (and current display style) so we can restore\r\n\t\t\t// it when we unblock\r\n\t\t\tif (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {\r\n\t\t\t\tvar node = msg.jquery ? msg[0] : msg;\r\n\t\t\t\tvar data = {};\r\n\t\t\t\t$(el).data('blockUI.history', data);\r\n\t\t\t\tdata.el = node;\r\n\t\t\t\tdata.parent = node.parentNode;\r\n\t\t\t\tdata.display = node.style.display;\r\n\t\t\t\tdata.position = node.style.position;\r\n\t\t\t\tif (data.parent)\r\n\t\t\t\t\tdata.parent.removeChild(node);\r\n\t\t\t}\r\n\r\n\t\t\t$(el).data('blockUI.onUnblock', opts.onUnblock);\r\n\t\t\tvar z = opts.baseZ;\r\n\r\n\t\t\t// blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;\r\n\t\t\t// layer1 is the iframe layer which is used to supress bleed through of underlying content\r\n\t\t\t// layer2 is the overlay layer which has opacity and a wait cursor (by default)\r\n\t\t\t// layer3 is the message content that is displayed while blocking\r\n\t\t\tvar lyr1, lyr2, lyr3, s;\r\n\t\t\tif (msie || opts.forceIframe)\r\n\t\t\t\tlyr1 = $('');\r\n\t\t\telse\r\n\t\t\t\tlyr1 = $('
');\r\n\r\n\t\t\tif (opts.theme)\r\n\t\t\t\tlyr2 = $('
');\r\n\t\t\telse\r\n\t\t\t\tlyr2 = $('
');\r\n\r\n\t\t\tif (opts.theme && full) {\r\n\t\t\t\ts = '';\r\n\t\t\t}\r\n\t\t\telse if (opts.theme) {\r\n\t\t\t\ts = '';\r\n\t\t\t}\r\n\t\t\telse if (full) {\r\n\t\t\t\ts = '';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\ts = '';\r\n\t\t\t}\r\n\t\t\tlyr3 = $(s);\r\n\r\n\t\t\t// if we have a message, style it\r\n\t\t\tif (msg) {\r\n\t\t\t\tif (opts.theme) {\r\n\t\t\t\t\tlyr3.css(themedCSS);\r\n\t\t\t\t\tlyr3.addClass('ui-widget-content');\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t\tlyr3.css(css);\r\n\t\t\t}\r\n\r\n\t\t\t// style the overlay\r\n\t\t\tif (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)\r\n\t\t\t\tlyr2.css(opts.overlayCSS);\r\n\t\t\tlyr2.css('position', full ? 'fixed' : 'absolute');\r\n\r\n\t\t\t// make iframe layer transparent in IE\r\n\t\t\tif (msie || opts.forceIframe)\r\n\t\t\t\tlyr1.css('opacity',0.0);\r\n\r\n\t\t\t//$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);\r\n\t\t\tvar layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);\r\n\t\t\t$.each(layers, function() {\r\n\t\t\t\tthis.appendTo($par);\r\n\t\t\t});\r\n\r\n\t\t\tif (opts.theme && opts.draggable && $.fn.draggable) {\r\n\t\t\t\tlyr3.draggable({\r\n\t\t\t\t\thandle: '.ui-dialog-titlebar',\r\n\t\t\t\t\tcancel: 'li'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)\r\n\t\t\tvar expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);\r\n\t\t\tif (ie6 || expr) {\r\n\t\t\t\t// give body 100% height\r\n\t\t\t\tif (full && opts.allowBodyStretch && $.support.boxModel)\r\n\t\t\t\t\t$('html,body').css('height','100%');\r\n\r\n\t\t\t\t// fix ie6 issue when blocked element has a border width\r\n\t\t\t\tif ((ie6 || !$.support.boxModel) && !full) {\r\n\t\t\t\t\tvar t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');\r\n\t\t\t\t\tvar fixT = t ? '(0 - '+t+')' : 0;\r\n\t\t\t\t\tvar fixL = l ? '(0 - '+l+')' : 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// simulate fixed position\r\n\t\t\t\t$.each(layers, function(i,o) {\r\n\t\t\t\t\tvar s = o[0].style;\r\n\t\t\t\t\ts.position = 'absolute';\r\n\t\t\t\t\tif (i < 2) {\r\n\t\t\t\t\t\tif (full)\r\n\t\t\t\t\t\t\ts.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + \"px\"');\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\ts.setExpression('height','this.parentNode.offsetHeight + \"px\"');\r\n\t\t\t\t\t\tif (full)\r\n\t\t\t\t\t\t\ts.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + \"px\"');\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\ts.setExpression('width','this.parentNode.offsetWidth + \"px\"');\r\n\t\t\t\t\t\tif (fixL) s.setExpression('left', fixL);\r\n\t\t\t\t\t\tif (fixT) s.setExpression('top', fixT);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (opts.centerY) {\r\n\t\t\t\t\t\tif (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"');\r\n\t\t\t\t\t\ts.marginTop = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (!opts.centerY && full) {\r\n\t\t\t\t\t\tvar top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;\r\n\t\t\t\t\t\tvar expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + \"px\"';\r\n\t\t\t\t\t\ts.setExpression('top',expression);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// show the message\r\n\t\t\tif (msg) {\r\n\t\t\t\tif (opts.theme)\r\n\t\t\t\t\tlyr3.find('.ui-widget-content').append(msg);\r\n\t\t\t\telse\r\n\t\t\t\t\tlyr3.append(msg);\r\n\t\t\t\tif (msg.jquery || msg.nodeType)\r\n\t\t\t\t\t$(msg).show();\r\n\t\t\t}\r\n\r\n\t\t\tif ((msie || opts.forceIframe) && opts.showOverlay)\r\n\t\t\t\tlyr1.show(); // opacity is zero\r\n\t\t\tif (opts.fadeIn) {\r\n\t\t\t\tvar cb = opts.onBlock ? opts.onBlock : noOp;\r\n\t\t\t\tvar cb1 = (opts.showOverlay && !msg) ? cb : noOp;\r\n\t\t\t\tvar cb2 = msg ? cb : noOp;\r\n\t\t\t\tif (opts.showOverlay)\r\n\t\t\t\t\tlyr2._fadeIn(opts.fadeIn, cb1);\r\n\t\t\t\tif (msg)\r\n\t\t\t\t\tlyr3._fadeIn(opts.fadeIn, cb2);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (opts.showOverlay)\r\n\t\t\t\t\tlyr2.show();\r\n\t\t\t\tif (msg)\r\n\t\t\t\t\tlyr3.show();\r\n\t\t\t\tif (opts.onBlock)\r\n\t\t\t\t\topts.onBlock.bind(lyr3)();\r\n\t\t\t}\r\n\r\n\t\t\t// bind key and mouse events\r\n\t\t\tbind(1, el, opts);\r\n\r\n\t\t\tif (full) {\r\n\t\t\t\tpageBlock = lyr3[0];\r\n\t\t\t\tpageBlockEls = $(opts.focusableElements,pageBlock);\r\n\t\t\t\tif (opts.focusInput)\r\n\t\t\t\t\tsetTimeout(focus, 20);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\tcenter(lyr3[0], opts.centerX, opts.centerY);\r\n\r\n\t\t\tif (opts.timeout) {\r\n\t\t\t\t// auto-unblock\r\n\t\t\t\tvar to = setTimeout(function() {\r\n\t\t\t\t\tif (full)\r\n\t\t\t\t\t\t$.unblockUI(opts);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\t$(el).unblock(opts);\r\n\t\t\t\t}, opts.timeout);\r\n\t\t\t\t$(el).data('blockUI.timeout', to);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// remove the block\r\n\t\tfunction remove(el, opts) {\r\n\t\t\tvar count;\r\n\t\t\tvar full = (el == window);\r\n\t\t\tvar $el = $(el);\r\n\t\t\tvar data = $el.data('blockUI.history');\r\n\t\t\tvar to = $el.data('blockUI.timeout');\r\n\t\t\tif (to) {\r\n\t\t\t\tclearTimeout(to);\r\n\t\t\t\t$el.removeData('blockUI.timeout');\r\n\t\t\t}\r\n\t\t\topts = $.extend({}, $.blockUI.defaults, opts || {});\r\n\t\t\tbind(0, el, opts); // unbind events\r\n\r\n\t\t\tif (opts.onUnblock === null) {\r\n\t\t\t\topts.onUnblock = $el.data('blockUI.onUnblock');\r\n\t\t\t\t$el.removeData('blockUI.onUnblock');\r\n\t\t\t}\r\n\r\n\t\t\tvar els;\r\n\t\t\tif (full) // crazy selector to handle odd field errors in ie6/7\r\n\t\t\t\tels = $('body').children().filter('.blockUI').add('body > .blockUI');\r\n\t\t\telse\r\n\t\t\t\tels = $el.find('>.blockUI');\r\n\r\n\t\t\t// fix cursor issue\r\n\t\t\tif ( opts.cursorReset ) {\r\n\t\t\t\tif ( els.length > 1 )\r\n\t\t\t\t\tels[1].style.cursor = opts.cursorReset;\r\n\t\t\t\tif ( els.length > 2 )\r\n\t\t\t\t\tels[2].style.cursor = opts.cursorReset;\r\n\t\t\t}\r\n\r\n\t\t\tif (full)\r\n\t\t\t\tpageBlock = pageBlockEls = null;\r\n\r\n\t\t\tif (opts.fadeOut) {\r\n\t\t\t\tcount = els.length;\r\n\t\t\t\tels.stop().fadeOut(opts.fadeOut, function() {\r\n\t\t\t\t\tif ( --count === 0)\r\n\t\t\t\t\t\treset(els,data,opts,el);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\treset(els, data, opts, el);\r\n\t\t}\r\n\r\n\t\t// move blocking element back into the DOM where it started\r\n\t\tfunction reset(els,data,opts,el) {\r\n\t\t\tvar $el = $(el);\r\n\t\t\tif ( $el.data('blockUI.isBlocked') )\r\n\t\t\t\treturn;\r\n\r\n\t\t\tels.each(function(i,o) {\r\n\t\t\t\t// remove via DOM calls so we don't lose event handlers\r\n\t\t\t\tif (this.parentNode)\r\n\t\t\t\t\tthis.parentNode.removeChild(this);\r\n\t\t\t});\r\n\r\n\t\t\tif (data && data.el) {\r\n\t\t\t\tdata.el.style.display = data.display;\r\n\t\t\t\tdata.el.style.position = data.position;\r\n\t\t\t\tdata.el.style.cursor = 'default'; // #59\r\n\t\t\t\tif (data.parent)\r\n\t\t\t\t\tdata.parent.appendChild(data.el);\r\n\t\t\t\t$el.removeData('blockUI.history');\r\n\t\t\t}\r\n\r\n\t\t\tif ($el.data('blockUI.static')) {\r\n\t\t\t\t$el.css('position', 'static'); // #22\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof opts.onUnblock == 'function')\r\n\t\t\t\topts.onUnblock(el,opts);\r\n\r\n\t\t\t// fix issue in Safari 6 where block artifacts remain until reflow\r\n\t\t\tvar body = $(document.body), w = body.width(), cssW = body[0].style.width;\r\n\t\t\tbody.width(w-1).width(w);\r\n\t\t\tbody[0].style.width = cssW;\r\n\t\t}\r\n\r\n\t\t// bind/unbind the handler\r\n\t\tfunction bind(b, el, opts) {\r\n\t\t\tvar full = el == window, $el = $(el);\r\n\r\n\t\t\t// don't bother unbinding if there is nothing to unbind\r\n\t\t\tif (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))\r\n\t\t\t\treturn;\r\n\r\n\t\t\t$el.data('blockUI.isBlocked', b);\r\n\r\n\t\t\t// don't bind events when overlay is not in use or if bindEvents is false\r\n\t\t\tif (!full || !opts.bindEvents || (b && !opts.showOverlay))\r\n\t\t\t\treturn;\r\n\r\n\t\t\t// bind anchors and inputs for mouse and key events\r\n\t\t\tvar events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';\r\n\t\t\tif (b)\r\n\t\t\t\t$(document).bind(events, opts, handler);\r\n\t\t\telse\r\n\t\t\t\t$(document).unbind(events, handler);\r\n\r\n\t\t// former impl...\r\n\t\t//\t\tvar $e = $('a,:input');\r\n\t\t//\t\tb ? $e.bind(events, opts, handler) : $e.unbind(events, handler);\r\n\t\t}\r\n\r\n\t\t// event handler to suppress keyboard/mouse events when blocking\r\n\t\tfunction handler(e) {\r\n\t\t\t// allow tab navigation (conditionally)\r\n\t\t\tif (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {\r\n\t\t\t\tif (pageBlock && e.data.constrainTabKey) {\r\n\t\t\t\t\tvar els = pageBlockEls;\r\n\t\t\t\t\tvar fwd = !e.shiftKey && e.target === els[els.length-1];\r\n\t\t\t\t\tvar back = e.shiftKey && e.target === els[0];\r\n\t\t\t\t\tif (fwd || back) {\r\n\t\t\t\t\t\tsetTimeout(function(){focus(back);},10);\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar opts = e.data;\r\n\t\t\tvar target = $(e.target);\r\n\t\t\tif (target.hasClass('blockOverlay') && opts.onOverlayClick)\r\n\t\t\t\topts.onOverlayClick(e);\r\n\r\n\t\t\t// allow events within the message content\r\n\t\t\tif (target.parents('div.' + opts.blockMsgClass).length > 0)\r\n\t\t\t\treturn true;\r\n\r\n\t\t\t// allow events for content that is not being blocked\r\n\t\t\treturn target.parents().children().filter('div.blockUI').length === 0;\r\n\t\t}\r\n\r\n\t\tfunction focus(back) {\r\n\t\t\tif (!pageBlockEls)\r\n\t\t\t\treturn;\r\n\t\t\tvar e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];\r\n\t\t\tif (e)\r\n\t\t\t\te.focus();\r\n\t\t}\r\n\r\n\t\tfunction center(el, x, y) {\r\n\t\t\tvar p = el.parentNode, s = el.style;\r\n\t\t\tvar l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');\r\n\t\t\tvar t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');\r\n\t\t\tif (x) s.left = l > 0 ? (l+'px') : '0';\r\n\t\t\tif (y) s.top = t > 0 ? (t+'px') : '0';\r\n\t\t}\r\n\r\n\t\tfunction sz(el, p) {\r\n\t\t\treturn parseInt($.css(el,p),10)||0;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\t/*global define:true */\r\n\tif (typeof define === 'function' && define.amd && define.amd.jQuery) {\r\n\t\tdefine(['jquery'], setup);\r\n\t} else {\r\n\t\tsetup(jQuery);\r\n\t}\r\n\r\n})();\r\n","/*! Magnific Popup - v1.1.0 - 2016-02-20\n* http://dimsemenov.com/plugins/magnific-popup/\n* Copyright (c) 2016 Dmitry Semenov; */\n;(function (factory) { \nif (typeof define === 'function' && define.amd) { \n // AMD. Register as an anonymous module. \n define(['jquery'], factory); \n } else if (typeof exports === 'object') { \n // Node/CommonJS \n factory(require('jquery')); \n } else { \n // Browser globals \n factory(window.jQuery || window.Zepto); \n } \n }(function($) { \n\n/*>>core*/\n/**\n * \n * Magnific Popup Core JS file\n * \n */\n\n\n/**\n * Private static constants\n */\nvar CLOSE_EVENT = 'Close',\n\tBEFORE_CLOSE_EVENT = 'BeforeClose',\n\tAFTER_CLOSE_EVENT = 'AfterClose',\n\tBEFORE_APPEND_EVENT = 'BeforeAppend',\n\tMARKUP_PARSE_EVENT = 'MarkupParse',\n\tOPEN_EVENT = 'Open',\n\tCHANGE_EVENT = 'Change',\n\tNS = 'mfp',\n\tEVENT_NS = '.' + NS,\n\tREADY_CLASS = 'mfp-ready',\n\tREMOVING_CLASS = 'mfp-removing',\n\tPREVENT_CLOSE_CLASS = 'mfp-prevent-close';\n\n\n/**\n * Private vars \n */\n/*jshint -W079 */\nvar mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'\n\tMagnificPopup = function(){},\n\t_isJQ = !!(window.jQuery),\n\t_prevStatus,\n\t_window = $(window),\n\t_document,\n\t_prevContentType,\n\t_wrapClasses,\n\t_currPopupType;\n\n\n/**\n * Private functions\n */\nvar _mfpOn = function(name, f) {\n\t\tmfp.ev.on(NS + name + EVENT_NS, f);\n\t},\n\t_getEl = function(className, appendTo, html, raw) {\n\t\tvar el = document.createElement('div');\n\t\tel.className = 'mfp-'+className;\n\t\tif(html) {\n\t\t\tel.innerHTML = html;\n\t\t}\n\t\tif(!raw) {\n\t\t\tel = $(el);\n\t\t\tif(appendTo) {\n\t\t\t\tel.appendTo(appendTo);\n\t\t\t}\n\t\t} else if(appendTo) {\n\t\t\tappendTo.appendChild(el);\n\t\t}\n\t\treturn el;\n\t},\n\t_mfpTrigger = function(e, data) {\n\t\tmfp.ev.triggerHandler(NS + e, data);\n\n\t\tif(mfp.st.callbacks) {\n\t\t\t// converts \"mfpEventName\" to \"eventName\" callback and triggers it if it's present\n\t\t\te = e.charAt(0).toLowerCase() + e.slice(1);\n\t\t\tif(mfp.st.callbacks[e]) {\n\t\t\t\tmfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);\n\t\t\t}\n\t\t}\n\t},\n\t_getCloseBtn = function(type) {\n\t\tif(type !== _currPopupType || !mfp.currTemplate.closeBtn) {\n\t\t\tmfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );\n\t\t\t_currPopupType = type;\n\t\t}\n\t\treturn mfp.currTemplate.closeBtn;\n\t},\n\t// Initialize Magnific Popup only when called at least once\n\t_checkInstance = function() {\n\t\tif(!$.magnificPopup.instance) {\n\t\t\t/*jshint -W020 */\n\t\t\tmfp = new MagnificPopup();\n\t\t\tmfp.init();\n\t\t\t$.magnificPopup.instance = mfp;\n\t\t}\n\t},\n\t// CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr\n\tsupportsTransitions = function() {\n\t\tvar s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist\n\t\t\tv = ['ms','O','Moz','Webkit']; // 'v' for vendor\n\n\t\tif( s['transition'] !== undefined ) {\n\t\t\treturn true; \n\t\t}\n\t\t\t\n\t\twhile( v.length ) {\n\t\t\tif( v.pop() + 'Transition' in s ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\treturn false;\n\t};\n\n\n\n/**\n * Public functions\n */\nMagnificPopup.prototype = {\n\n\tconstructor: MagnificPopup,\n\n\t/**\n\t * Initializes Magnific Popup plugin. \n\t * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed\n\t */\n\tinit: function() {\n\t\tvar appVersion = navigator.appVersion;\n\t\tmfp.isLowIE = mfp.isIE8 = document.all && !document.addEventListener;\n\t\tmfp.isAndroid = (/android/gi).test(appVersion);\n\t\tmfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);\n\t\tmfp.supportsTransition = supportsTransitions();\n\n\t\t// We disable fixed positioned lightbox on devices that don't handle it nicely.\n\t\t// If you know a better way of detecting this - let me know.\n\t\tmfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );\n\t\t_document = $(document);\n\n\t\tmfp.popupsCache = {};\n\t},\n\n\t/**\n\t * Opens popup\n\t * @param data [description]\n\t */\n\topen: function(data) {\n\n\t\tvar i;\n\n\t\tif(data.isObj === false) { \n\t\t\t// convert jQuery collection to array to avoid conflicts later\n\t\t\tmfp.items = data.items.toArray();\n\n\t\t\tmfp.index = 0;\n\t\t\tvar items = data.items,\n\t\t\t\titem;\n\t\t\tfor(i = 0; i < items.length; i++) {\n\t\t\t\titem = items[i];\n\t\t\t\tif(item.parsed) {\n\t\t\t\t\titem = item.el[0];\n\t\t\t\t}\n\t\t\t\tif(item === data.el[0]) {\n\t\t\t\t\tmfp.index = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tmfp.items = $.isArray(data.items) ? data.items : [data.items];\n\t\t\tmfp.index = data.index || 0;\n\t\t}\n\n\t\t// if popup is already opened - we just update the content\n\t\tif(mfp.isOpen) {\n\t\t\tmfp.updateItemHTML();\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tmfp.types = []; \n\t\t_wrapClasses = '';\n\t\tif(data.mainEl && data.mainEl.length) {\n\t\t\tmfp.ev = data.mainEl.eq(0);\n\t\t} else {\n\t\t\tmfp.ev = _document;\n\t\t}\n\n\t\tif(data.key) {\n\t\t\tif(!mfp.popupsCache[data.key]) {\n\t\t\t\tmfp.popupsCache[data.key] = {};\n\t\t\t}\n\t\t\tmfp.currTemplate = mfp.popupsCache[data.key];\n\t\t} else {\n\t\t\tmfp.currTemplate = {};\n\t\t}\n\n\n\n\t\tmfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); \n\t\tmfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;\n\n\t\tif(mfp.st.modal) {\n\t\t\tmfp.st.closeOnContentClick = false;\n\t\t\tmfp.st.closeOnBgClick = false;\n\t\t\tmfp.st.showCloseBtn = false;\n\t\t\tmfp.st.enableEscapeKey = false;\n\t\t}\n\t\t\n\n\t\t// Building markup\n\t\t// main containers are created only once\n\t\tif(!mfp.bgOverlay) {\n\n\t\t\t// Dark overlay\n\t\t\tmfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {\n\t\t\t\tmfp.close();\n\t\t\t});\n\n\t\t\tmfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {\n\t\t\t\tif(mfp._checkIfClose(e.target)) {\n\t\t\t\t\tmfp.close();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmfp.container = _getEl('container', mfp.wrap);\n\t\t}\n\n\t\tmfp.contentContainer = _getEl('content');\n\t\tif(mfp.st.preloader) {\n\t\t\tmfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);\n\t\t}\n\n\n\t\t// Initializing modules\n\t\tvar modules = $.magnificPopup.modules;\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar n = modules[i];\n\t\t\tn = n.charAt(0).toUpperCase() + n.slice(1);\n\t\t\tmfp['init'+n].call(mfp);\n\t\t}\n\t\t_mfpTrigger('BeforeOpen');\n\n\n\t\tif(mfp.st.showCloseBtn) {\n\t\t\t// Close button\n\t\t\tif(!mfp.st.closeBtnInside) {\n\t\t\t\tmfp.wrap.append( _getCloseBtn() );\n\t\t\t} else {\n\t\t\t\t_mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {\n\t\t\t\t\tvalues.close_replaceWith = _getCloseBtn(item.type);\n\t\t\t\t});\n\t\t\t\t_wrapClasses += ' mfp-close-btn-in';\n\t\t\t}\n\t\t}\n\n\t\tif(mfp.st.alignTop) {\n\t\t\t_wrapClasses += ' mfp-align-top';\n\t\t}\n\n\t\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tmfp.wrap.css({\n\t\t\t\toverflow: mfp.st.overflowY,\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\toverflowY: mfp.st.overflowY\n\t\t\t});\n\t\t} else {\n\t\t\tmfp.wrap.css({ \n\t\t\t\ttop: _window.scrollTop(),\n\t\t\t\tposition: 'absolute'\n\t\t\t});\n\t\t}\n\t\tif( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {\n\t\t\tmfp.bgOverlay.css({\n\t\t\t\theight: _document.height(),\n\t\t\t\tposition: 'absolute'\n\t\t\t});\n\t\t}\n\n\t\t\n\n\t\tif(mfp.st.enableEscapeKey) {\n\t\t\t// Close on ESC key\n\t\t\t_document.on('keyup' + EVENT_NS, function(e) {\n\t\t\t\tif(e.keyCode === 27) {\n\t\t\t\t\tmfp.close();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t_window.on('resize' + EVENT_NS, function() {\n\t\t\tmfp.updateSize();\n\t\t});\n\n\n\t\tif(!mfp.st.closeOnContentClick) {\n\t\t\t_wrapClasses += ' mfp-auto-cursor';\n\t\t}\n\t\t\n\t\tif(_wrapClasses)\n\t\t\tmfp.wrap.addClass(_wrapClasses);\n\n\n\t\t// this triggers recalculation of layout, so we get it once to not to trigger twice\n\t\tvar windowHeight = mfp.wH = _window.height();\n\n\t\t\n\t\tvar windowStyles = {};\n\n\t\tif( mfp.fixedContentPos ) {\n if(mfp._hasScrollBar(windowHeight)){\n var s = mfp._getScrollbarSize();\n if(s) {\n windowStyles.marginRight = s;\n }\n }\n }\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tif(!mfp.isIE7) {\n\t\t\t\twindowStyles.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\t// ie7 double-scroll bug\n\t\t\t\t$('body, html').css('overflow', 'hidden');\n\t\t\t}\n\t\t}\n\n\t\t\n\t\t\n\t\tvar classesToadd = mfp.st.mainClass;\n\t\tif(mfp.isIE7) {\n\t\t\tclassesToadd += ' mfp-ie7';\n\t\t}\n\t\tif(classesToadd) {\n\t\t\tmfp._addClassToMFP( classesToadd );\n\t\t}\n\n\t\t// add content\n\t\tmfp.updateItemHTML();\n\n\t\t_mfpTrigger('BuildControls');\n\n\t\t// remove scrollbar, add margin e.t.c\n\t\t$('html').css(windowStyles);\n\t\t\n\t\t// add everything to DOM\n\t\tmfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || $(document.body) );\n\n\t\t// Save last focused element\n\t\tmfp._lastFocusedEl = document.activeElement;\n\t\t\n\t\t// Wait for next cycle to allow CSS transition\n\t\tsetTimeout(function() {\n\t\t\t\n\t\t\tif(mfp.content) {\n\t\t\t\tmfp._addClassToMFP(READY_CLASS);\n\t\t\t\tmfp._setFocus();\n\t\t\t} else {\n\t\t\t\t// if content is not defined (not loaded e.t.c) we add class only for BG\n\t\t\t\tmfp.bgOverlay.addClass(READY_CLASS);\n\t\t\t}\n\t\t\t\n\t\t\t// Trap the focus in popup\n\t\t\t_document.on('focusin' + EVENT_NS, mfp._onFocusIn);\n\n\t\t}, 16);\n\n\t\tmfp.isOpen = true;\n\t\tmfp.updateSize(windowHeight);\n\t\t_mfpTrigger(OPEN_EVENT);\n\n\t\treturn data;\n\t},\n\n\t/**\n\t * Closes the popup\n\t */\n\tclose: function() {\n\t\tif(!mfp.isOpen) return;\n\t\t_mfpTrigger(BEFORE_CLOSE_EVENT);\n\n\t\tmfp.isOpen = false;\n\t\t// for CSS3 animation\n\t\tif(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) {\n\t\t\tmfp._addClassToMFP(REMOVING_CLASS);\n\t\t\tsetTimeout(function() {\n\t\t\t\tmfp._close();\n\t\t\t}, mfp.st.removalDelay);\n\t\t} else {\n\t\t\tmfp._close();\n\t\t}\n\t},\n\n\t/**\n\t * Helper for close() function\n\t */\n\t_close: function() {\n\t\t_mfpTrigger(CLOSE_EVENT);\n\n\t\tvar classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';\n\n\t\tmfp.bgOverlay.detach();\n\t\tmfp.wrap.detach();\n\t\tmfp.container.empty();\n\n\t\tif(mfp.st.mainClass) {\n\t\t\tclassesToRemove += mfp.st.mainClass + ' ';\n\t\t}\n\n\t\tmfp._removeClassFromMFP(classesToRemove);\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tvar windowStyles = {marginRight: ''};\n\t\t\tif(mfp.isIE7) {\n\t\t\t\t$('body, html').css('overflow', '');\n\t\t\t} else {\n\t\t\t\twindowStyles.overflow = '';\n\t\t\t}\n\t\t\t$('html').css(windowStyles);\n\t\t}\n\t\t\n\t\t_document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);\n\t\tmfp.ev.off(EVENT_NS);\n\n\t\t// clean up DOM elements that aren't removed\n\t\tmfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');\n\t\tmfp.bgOverlay.attr('class', 'mfp-bg');\n\t\tmfp.container.attr('class', 'mfp-container');\n\n\t\t// remove close button from target element\n\t\tif(mfp.st.showCloseBtn &&\n\t\t(!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {\n\t\t\tif(mfp.currTemplate.closeBtn)\n\t\t\t\tmfp.currTemplate.closeBtn.detach();\n\t\t}\n\n\n\t\tif(mfp.st.autoFocusLast && mfp._lastFocusedEl) {\n\t\t\t$(mfp._lastFocusedEl).focus(); // put tab focus back\n\t\t}\n\t\tmfp.currItem = null;\t\n\t\tmfp.content = null;\n\t\tmfp.currTemplate = null;\n\t\tmfp.prevHeight = 0;\n\n\t\t_mfpTrigger(AFTER_CLOSE_EVENT);\n\t},\n\t\n\tupdateSize: function(winHeight) {\n\n\t\tif(mfp.isIOS) {\n\t\t\t// fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2\n\t\t\tvar zoomLevel = document.documentElement.clientWidth / window.innerWidth;\n\t\t\tvar height = window.innerHeight * zoomLevel;\n\t\t\tmfp.wrap.css('height', height);\n\t\t\tmfp.wH = height;\n\t\t} else {\n\t\t\tmfp.wH = winHeight || _window.height();\n\t\t}\n\t\t// Fixes #84: popup incorrectly positioned with position:relative on body\n\t\tif(!mfp.fixedContentPos) {\n\t\t\tmfp.wrap.css('height', mfp.wH);\n\t\t}\n\n\t\t_mfpTrigger('Resize');\n\n\t},\n\n\t/**\n\t * Set content of popup based on current index\n\t */\n\tupdateItemHTML: function() {\n\t\tvar item = mfp.items[mfp.index];\n\n\t\t// Detach and perform modifications\n\t\tmfp.contentContainer.detach();\n\n\t\tif(mfp.content)\n\t\t\tmfp.content.detach();\n\n\t\tif(!item.parsed) {\n\t\t\titem = mfp.parseEl( mfp.index );\n\t\t}\n\n\t\tvar type = item.type;\n\n\t\t_mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);\n\t\t// BeforeChange event works like so:\n\t\t// _mfpOn('BeforeChange', function(e, prevType, newType) { });\n\n\t\tmfp.currItem = item;\n\n\t\tif(!mfp.currTemplate[type]) {\n\t\t\tvar markup = mfp.st[type] ? mfp.st[type].markup : false;\n\n\t\t\t// allows to modify markup\n\t\t\t_mfpTrigger('FirstMarkupParse', markup);\n\n\t\t\tif(markup) {\n\t\t\t\tmfp.currTemplate[type] = $(markup);\n\t\t\t} else {\n\t\t\t\t// if there is no markup found we just define that template is parsed\n\t\t\t\tmfp.currTemplate[type] = true;\n\t\t\t}\n\t\t}\n\n\t\tif(_prevContentType && _prevContentType !== item.type) {\n\t\t\tmfp.container.removeClass('mfp-'+_prevContentType+'-holder');\n\t\t}\n\n\t\tvar newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);\n\t\tmfp.appendContent(newContent, type);\n\n\t\titem.preloaded = true;\n\n\t\t_mfpTrigger(CHANGE_EVENT, item);\n\t\t_prevContentType = item.type;\n\n\t\t// Append container back after its content changed\n\t\tmfp.container.prepend(mfp.contentContainer);\n\n\t\t_mfpTrigger('AfterChange');\n\t},\n\n\n\t/**\n\t * Set HTML content of popup\n\t */\n\tappendContent: function(newContent, type) {\n\t\tmfp.content = newContent;\n\n\t\tif(newContent) {\n\t\t\tif(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&\n\t\t\t\tmfp.currTemplate[type] === true) {\n\t\t\t\t// if there is no markup, we just append close button element inside\n\t\t\t\tif(!mfp.content.find('.mfp-close').length) {\n\t\t\t\t\tmfp.content.append(_getCloseBtn());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmfp.content = newContent;\n\t\t\t}\n\t\t} else {\n\t\t\tmfp.content = '';\n\t\t}\n\n\t\t_mfpTrigger(BEFORE_APPEND_EVENT);\n\t\tmfp.container.addClass('mfp-'+type+'-holder');\n\n\t\tmfp.contentContainer.append(mfp.content);\n\t},\n\n\n\t/**\n\t * Creates Magnific Popup data object based on given data\n\t * @param {int} index Index of item to parse\n\t */\n\tparseEl: function(index) {\n\t\tvar item = mfp.items[index],\n\t\t\ttype;\n\n\t\tif(item.tagName) {\n\t\t\titem = { el: $(item) };\n\t\t} else {\n\t\t\ttype = item.type;\n\t\t\titem = { data: item, src: item.src };\n\t\t}\n\n\t\tif(item.el) {\n\t\t\tvar types = mfp.types;\n\n\t\t\t// check for 'mfp-TYPE' class\n\t\t\tfor(var i = 0; i < types.length; i++) {\n\t\t\t\tif( item.el.hasClass('mfp-'+types[i]) ) {\n\t\t\t\t\ttype = types[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titem.src = item.el.attr('data-mfp-src');\n\t\t\tif(!item.src) {\n\t\t\t\titem.src = item.el.attr('href');\n\t\t\t}\n\t\t}\n\n\t\titem.type = type || mfp.st.type || 'inline';\n\t\titem.index = index;\n\t\titem.parsed = true;\n\t\tmfp.items[index] = item;\n\t\t_mfpTrigger('ElementParse', item);\n\n\t\treturn mfp.items[index];\n\t},\n\n\n\t/**\n\t * Initializes single popup or a group of popups\n\t */\n\taddGroup: function(el, options) {\n\t\tvar eHandler = function(e) {\n\t\t\te.mfpEl = this;\n\t\t\tmfp._openClick(e, el, options);\n\t\t};\n\n\t\tif(!options) {\n\t\t\toptions = {};\n\t\t}\n\n\t\tvar eName = 'click.magnificPopup';\n\t\toptions.mainEl = el;\n\n\t\tif(options.items) {\n\t\t\toptions.isObj = true;\n\t\t\tel.off(eName).on(eName, eHandler);\n\t\t} else {\n\t\t\toptions.isObj = false;\n\t\t\tif(options.delegate) {\n\t\t\t\tel.off(eName).on(eName, options.delegate , eHandler);\n\t\t\t} else {\n\t\t\t\toptions.items = el;\n\t\t\t\tel.off(eName).on(eName, eHandler);\n\t\t\t}\n\t\t}\n\t},\n\t_openClick: function(e, el, options) {\n\t\tvar midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;\n\n\n\t\tif(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;\n\n\t\tif(disableOn) {\n\t\t\tif($.isFunction(disableOn)) {\n\t\t\t\tif( !disableOn.call(mfp) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else { // else it's number\n\t\t\t\tif( _window.width() < disableOn ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif(e.type) {\n\t\t\te.preventDefault();\n\n\t\t\t// This will prevent popup from closing if element is inside and popup is already opened\n\t\t\tif(mfp.isOpen) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t}\n\n\t\toptions.el = $(e.mfpEl);\n\t\tif(options.delegate) {\n\t\t\toptions.items = el.find(options.delegate);\n\t\t}\n\t\tmfp.open(options);\n\t},\n\n\n\t/**\n\t * Updates text on preloader\n\t */\n\tupdateStatus: function(status, text) {\n\n\t\tif(mfp.preloader) {\n\t\t\tif(_prevStatus !== status) {\n\t\t\t\tmfp.container.removeClass('mfp-s-'+_prevStatus);\n\t\t\t}\n\n\t\t\tif(!text && status === 'loading') {\n\t\t\t\ttext = mfp.st.tLoading;\n\t\t\t}\n\n\t\t\tvar data = {\n\t\t\t\tstatus: status,\n\t\t\t\ttext: text\n\t\t\t};\n\t\t\t// allows to modify status\n\t\t\t_mfpTrigger('UpdateStatus', data);\n\n\t\t\tstatus = data.status;\n\t\t\ttext = data.text;\n\n\t\t\tmfp.preloader.html(text);\n\n\t\t\tmfp.preloader.find('a').on('click', function(e) {\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t});\n\n\t\t\tmfp.container.addClass('mfp-s-'+status);\n\t\t\t_prevStatus = status;\n\t\t}\n\t},\n\n\n\t/*\n\t\t\"Private\" helpers that aren't private at all\n\t */\n\t// Check to close popup or not\n\t// \"target\" is an element that was clicked\n\t_checkIfClose: function(target) {\n\n\t\tif($(target).hasClass(PREVENT_CLOSE_CLASS)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar closeOnContent = mfp.st.closeOnContentClick;\n\t\tvar closeOnBg = mfp.st.closeOnBgClick;\n\n\t\tif(closeOnContent && closeOnBg) {\n\t\t\treturn true;\n\t\t} else {\n\n\t\t\t// We close the popup if click is on close button or on preloader. Or if there is no content.\n\t\t\tif(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if click is outside the content\n\t\t\tif( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) {\n\t\t\t\tif(closeOnBg) {\n\t\t\t\t\t// last check, if the clicked element is in DOM, (in case it's removed onclick)\n\t\t\t\t\tif( $.contains(document, target) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if(closeOnContent) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t}\n\t\treturn false;\n\t},\n\t_addClassToMFP: function(cName) {\n\t\tmfp.bgOverlay.addClass(cName);\n\t\tmfp.wrap.addClass(cName);\n\t},\n\t_removeClassFromMFP: function(cName) {\n\t\tthis.bgOverlay.removeClass(cName);\n\t\tmfp.wrap.removeClass(cName);\n\t},\n\t_hasScrollBar: function(winHeight) {\n\t\treturn ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );\n\t},\n\t_setFocus: function() {\n\t\t(mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();\n\t},\n\t_onFocusIn: function(e) {\n\t\tif( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {\n\t\t\tmfp._setFocus();\n\t\t\treturn false;\n\t\t}\n\t},\n\t_parseMarkup: function(template, values, item) {\n\t\tvar arr;\n\t\tif(item.data) {\n\t\t\tvalues = $.extend(item.data, values);\n\t\t}\n\t\t_mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );\n\n\t\t$.each(values, function(key, value) {\n\t\t\tif(value === undefined || value === false) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tarr = key.split('_');\n\t\t\tif(arr.length > 1) {\n\t\t\t\tvar el = template.find(EVENT_NS + '-'+arr[0]);\n\n\t\t\t\tif(el.length > 0) {\n\t\t\t\t\tvar attr = arr[1];\n\t\t\t\t\tif(attr === 'replaceWith') {\n\t\t\t\t\t\tif(el[0] !== value[0]) {\n\t\t\t\t\t\t\tel.replaceWith(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(attr === 'img') {\n\t\t\t\t\t\tif(el.is('img')) {\n\t\t\t\t\t\t\tel.attr('src', value);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.replaceWith( $('').attr('src', value).attr('class', el.attr('class')) );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.attr(arr[1], value);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\ttemplate.find(EVENT_NS + '-'+key).html(value);\n\t\t\t}\n\t\t});\n\t},\n\n\t_getScrollbarSize: function() {\n\t\t// thx David\n\t\tif(mfp.scrollbarSize === undefined) {\n\t\t\tvar scrollDiv = document.createElement(\"div\");\n\t\t\tscrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';\n\t\t\tdocument.body.appendChild(scrollDiv);\n\t\t\tmfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\t\t\tdocument.body.removeChild(scrollDiv);\n\t\t}\n\t\treturn mfp.scrollbarSize;\n\t}\n\n}; /* MagnificPopup core prototype end */\n\n\n\n\n/**\n * Public static functions\n */\n$.magnificPopup = {\n\tinstance: null,\n\tproto: MagnificPopup.prototype,\n\tmodules: [],\n\n\topen: function(options, index) {\n\t\t_checkInstance();\n\n\t\tif(!options) {\n\t\t\toptions = {};\n\t\t} else {\n\t\t\toptions = $.extend(true, {}, options);\n\t\t}\n\n\t\toptions.isObj = true;\n\t\toptions.index = index || 0;\n\t\treturn this.instance.open(options);\n\t},\n\n\tclose: function() {\n\t\treturn $.magnificPopup.instance && $.magnificPopup.instance.close();\n\t},\n\n\tregisterModule: function(name, module) {\n\t\tif(module.options) {\n\t\t\t$.magnificPopup.defaults[name] = module.options;\n\t\t}\n\t\t$.extend(this.proto, module.proto);\n\t\tthis.modules.push(name);\n\t},\n\n\tdefaults: {\n\n\t\t// Info about options is in docs:\n\t\t// http://dimsemenov.com/plugins/magnific-popup/documentation.html#options\n\n\t\tdisableOn: 0,\n\n\t\tkey: null,\n\n\t\tmidClick: false,\n\n\t\tmainClass: '',\n\n\t\tpreloader: true,\n\n\t\tfocus: '', // CSS selector of input to focus after popup is opened\n\n\t\tcloseOnContentClick: false,\n\n\t\tcloseOnBgClick: true,\n\n\t\tcloseBtnInside: true,\n\n\t\tshowCloseBtn: true,\n\n\t\tenableEscapeKey: true,\n\n\t\tmodal: false,\n\n\t\talignTop: false,\n\n\t\tremovalDelay: 0,\n\n\t\tprependTo: null,\n\n\t\tfixedContentPos: 'auto',\n\n\t\tfixedBgPos: 'auto',\n\n\t\toverflowY: 'auto',\n\n\t\tcloseMarkup: '',\n\n\t\ttClose: 'Close (Esc)',\n\n\t\ttLoading: 'Loading...',\n\n\t\tautoFocusLast: true\n\n\t}\n};\n\n\n\n$.fn.magnificPopup = function(options) {\n\t_checkInstance();\n\n\tvar jqEl = $(this);\n\n\t// We call some API method of first param is a string\n\tif (typeof options === \"string\" ) {\n\n\t\tif(options === 'open') {\n\t\t\tvar items,\n\t\t\t\titemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,\n\t\t\t\tindex = parseInt(arguments[1], 10) || 0;\n\n\t\t\tif(itemOpts.items) {\n\t\t\t\titems = itemOpts.items[index];\n\t\t\t} else {\n\t\t\t\titems = jqEl;\n\t\t\t\tif(itemOpts.delegate) {\n\t\t\t\t\titems = items.find(itemOpts.delegate);\n\t\t\t\t}\n\t\t\t\titems = items.eq( index );\n\t\t\t}\n\t\t\tmfp._openClick({mfpEl:items}, jqEl, itemOpts);\n\t\t} else {\n\t\t\tif(mfp.isOpen)\n\t\t\t\tmfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\n\t} else {\n\t\t// clone options obj\n\t\toptions = $.extend(true, {}, options);\n\n\t\t/*\n\t\t * As Zepto doesn't support .data() method for objects\n\t\t * and it works only in normal browsers\n\t\t * we assign \"options\" object directly to the DOM element. FTW!\n\t\t */\n\t\tif(_isJQ) {\n\t\t\tjqEl.data('magnificPopup', options);\n\t\t} else {\n\t\t\tjqEl[0].magnificPopup = options;\n\t\t}\n\n\t\tmfp.addGroup(jqEl, options);\n\n\t}\n\treturn jqEl;\n};\n\n/*>>core*/\n\n/*>>inline*/\n\nvar INLINE_NS = 'inline',\n\t_hiddenClass,\n\t_inlinePlaceholder,\n\t_lastInlineElement,\n\t_putInlineElementsBack = function() {\n\t\tif(_lastInlineElement) {\n\t\t\t_inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();\n\t\t\t_lastInlineElement = null;\n\t\t}\n\t};\n\n$.magnificPopup.registerModule(INLINE_NS, {\n\toptions: {\n\t\thiddenClass: 'hide', // will be appended with `mfp-` prefix\n\t\tmarkup: '',\n\t\ttNotFound: 'Content not found'\n\t},\n\tproto: {\n\n\t\tinitInline: function() {\n\t\t\tmfp.types.push(INLINE_NS);\n\n\t\t\t_mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {\n\t\t\t\t_putInlineElementsBack();\n\t\t\t});\n\t\t},\n\n\t\tgetInline: function(item, template) {\n\n\t\t\t_putInlineElementsBack();\n\n\t\t\tif(item.src) {\n\t\t\t\tvar inlineSt = mfp.st.inline,\n\t\t\t\t\tel = $(item.src);\n\n\t\t\t\tif(el.length) {\n\n\t\t\t\t\t// If target element has parent - we replace it with placeholder and put it back after popup is closed\n\t\t\t\t\tvar parent = el[0].parentNode;\n\t\t\t\t\tif(parent && parent.tagName) {\n\t\t\t\t\t\tif(!_inlinePlaceholder) {\n\t\t\t\t\t\t\t_hiddenClass = inlineSt.hiddenClass;\n\t\t\t\t\t\t\t_inlinePlaceholder = _getEl(_hiddenClass);\n\t\t\t\t\t\t\t_hiddenClass = 'mfp-'+_hiddenClass;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// replace target inline element with placeholder\n\t\t\t\t\t\t_lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);\n\t\t\t\t\t}\n\n\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t} else {\n\t\t\t\t\tmfp.updateStatus('error', inlineSt.tNotFound);\n\t\t\t\t\tel = $('
');\n\t\t\t\t}\n\n\t\t\t\titem.inlineElement = el;\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tmfp.updateStatus('ready');\n\t\t\tmfp._parseMarkup(template, {}, item);\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n/*>>inline*/\n\n/*>>ajax*/\nvar AJAX_NS = 'ajax',\n\t_ajaxCur,\n\t_removeAjaxCursor = function() {\n\t\tif(_ajaxCur) {\n\t\t\t$(document.body).removeClass(_ajaxCur);\n\t\t}\n\t},\n\t_destroyAjaxRequest = function() {\n\t\t_removeAjaxCursor();\n\t\tif(mfp.req) {\n\t\t\tmfp.req.abort();\n\t\t}\n\t};\n\n$.magnificPopup.registerModule(AJAX_NS, {\n\n\toptions: {\n\t\tsettings: null,\n\t\tcursor: 'mfp-ajax-cur',\n\t\ttError: 'The content could not be loaded.'\n\t},\n\n\tproto: {\n\t\tinitAjax: function() {\n\t\t\tmfp.types.push(AJAX_NS);\n\t\t\t_ajaxCur = mfp.st.ajax.cursor;\n\n\t\t\t_mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);\n\t\t\t_mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);\n\t\t},\n\t\tgetAjax: function(item) {\n\n\t\t\tif(_ajaxCur) {\n\t\t\t\t$(document.body).addClass(_ajaxCur);\n\t\t\t}\n\n\t\t\tmfp.updateStatus('loading');\n\n\t\t\tvar opts = $.extend({\n\t\t\t\turl: item.src,\n\t\t\t\tsuccess: function(data, textStatus, jqXHR) {\n\t\t\t\t\tvar temp = {\n\t\t\t\t\t\tdata:data,\n\t\t\t\t\t\txhr:jqXHR\n\t\t\t\t\t};\n\n\t\t\t\t\t_mfpTrigger('ParseAjax', temp);\n\n\t\t\t\t\tmfp.appendContent( $(temp.data), AJAX_NS );\n\n\t\t\t\t\titem.finished = true;\n\n\t\t\t\t\t_removeAjaxCursor();\n\n\t\t\t\t\tmfp._setFocus();\n\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tmfp.wrap.addClass(READY_CLASS);\n\t\t\t\t\t}, 16);\n\n\t\t\t\t\tmfp.updateStatus('ready');\n\n\t\t\t\t\t_mfpTrigger('AjaxContentAdded');\n\t\t\t\t},\n\t\t\t\terror: function() {\n\t\t\t\t\t_removeAjaxCursor();\n\t\t\t\t\titem.finished = item.loadError = true;\n\t\t\t\t\tmfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));\n\t\t\t\t}\n\t\t\t}, mfp.st.ajax.settings);\n\n\t\t\tmfp.req = $.ajax(opts);\n\n\t\t\treturn '';\n\t\t}\n\t}\n});\n\n/*>>ajax*/\n\n/*>>image*/\nvar _imgInterval,\n\t_getTitle = function(item) {\n\t\tif(item.data && item.data.title !== undefined)\n\t\t\treturn item.data.title;\n\n\t\tvar src = mfp.st.image.titleSrc;\n\n\t\tif(src) {\n\t\t\tif($.isFunction(src)) {\n\t\t\t\treturn src.call(mfp, item);\n\t\t\t} else if(item.el) {\n\t\t\t\treturn item.el.attr(src) || '';\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t};\n\n$.magnificPopup.registerModule('image', {\n\n\toptions: {\n\t\tmarkup: '
'+\n\t\t\t\t\t'
'+\n\t\t\t\t\t'
'+\n\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\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'
'+\n\t\t\t\t\t\t'
'+\n\t\t\t\t\t'
'+\n\t\t\t\t'
',\n\t\tcursor: 'mfp-zoom-out-cur',\n\t\ttitleSrc: 'title',\n\t\tverticalFit: true,\n\t\ttError: 'The image could not be loaded.'\n\t},\n\n\tproto: {\n\t\tinitImage: function() {\n\t\t\tvar imgSt = mfp.st.image,\n\t\t\t\tns = '.image';\n\n\t\t\tmfp.types.push('image');\n\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\n\t\t\t\tif(mfp.currItem.type === 'image' && imgSt.cursor) {\n\t\t\t\t\t$(document.body).addClass(imgSt.cursor);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\tif(imgSt.cursor) {\n\t\t\t\t\t$(document.body).removeClass(imgSt.cursor);\n\t\t\t\t}\n\t\t\t\t_window.off('resize' + EVENT_NS);\n\t\t\t});\n\n\t\t\t_mfpOn('Resize'+ns, mfp.resizeImage);\n\t\t\tif(mfp.isLowIE) {\n\t\t\t\t_mfpOn('AfterChange', mfp.resizeImage);\n\t\t\t}\n\t\t},\n\t\tresizeImage: function() {\n\t\t\tvar item = mfp.currItem;\n\t\t\tif(!item || !item.img) return;\n\n\t\t\tif(mfp.st.image.verticalFit) {\n\t\t\t\tvar decr = 0;\n\t\t\t\t// fix box-sizing in ie7/8\n\t\t\t\tif(mfp.isLowIE) {\n\t\t\t\t\tdecr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);\n\t\t\t\t}\n\t\t\t\titem.img.css('max-height', mfp.wH-decr);\n\t\t\t}\n\t\t},\n\t\t_onImageHasSize: function(item) {\n\t\t\tif(item.img) {\n\n\t\t\t\titem.hasSize = true;\n\n\t\t\t\tif(_imgInterval) {\n\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t}\n\n\t\t\t\titem.isCheckingImgSize = false;\n\n\t\t\t\t_mfpTrigger('ImageHasSize', item);\n\n\t\t\t\tif(item.imgHidden) {\n\t\t\t\t\tif(mfp.content)\n\t\t\t\t\t\tmfp.content.removeClass('mfp-loading');\n\n\t\t\t\t\titem.imgHidden = false;\n\t\t\t\t}\n\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Function that loops until the image has size to display elements that rely on it asap\n\t\t */\n\t\tfindImageSize: function(item) {\n\n\t\t\tvar counter = 0,\n\t\t\t\timg = item.img[0],\n\t\t\t\tmfpSetInterval = function(delay) {\n\n\t\t\t\t\tif(_imgInterval) {\n\t\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t\t}\n\t\t\t\t\t// decelerating interval that checks for size of an image\n\t\t\t\t\t_imgInterval = setInterval(function() {\n\t\t\t\t\t\tif(img.naturalWidth > 0) {\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(counter > 200) {\n\t\t\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tif(counter === 3) {\n\t\t\t\t\t\t\tmfpSetInterval(10);\n\t\t\t\t\t\t} else if(counter === 40) {\n\t\t\t\t\t\t\tmfpSetInterval(50);\n\t\t\t\t\t\t} else if(counter === 100) {\n\t\t\t\t\t\t\tmfpSetInterval(500);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, delay);\n\t\t\t\t};\n\n\t\t\tmfpSetInterval(1);\n\t\t},\n\n\t\tgetImage: function(item, template) {\n\n\t\t\tvar guard = 0,\n\n\t\t\t\t// image load complete handler\n\t\t\t\tonLoadComplete = function() {\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\tif (item.img[0].complete) {\n\t\t\t\t\t\t\titem.img.off('.mfploader');\n\n\t\t\t\t\t\t\tif(item === mfp.currItem){\n\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\n\t\t\t\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\t\t\titem.loaded = true;\n\n\t\t\t\t\t\t\t_mfpTrigger('ImageLoadComplete');\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// if image complete check fails 200 times (20 sec), we assume that there was an error.\n\t\t\t\t\t\t\tguard++;\n\t\t\t\t\t\t\tif(guard < 200) {\n\t\t\t\t\t\t\t\tsetTimeout(onLoadComplete,100);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tonLoadError();\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},\n\n\t\t\t\t// image error handler\n\t\t\t\tonLoadError = function() {\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\titem.img.off('.mfploader');\n\t\t\t\t\t\tif(item === mfp.currItem){\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\t\t\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\t\titem.loaded = true;\n\t\t\t\t\t\titem.loadError = true;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\timgSt = mfp.st.image;\n\n\n\t\t\tvar el = template.find('.mfp-img');\n\t\t\tif(el.length) {\n\t\t\t\tvar img = document.createElement('img');\n\t\t\t\timg.className = 'mfp-img';\n\t\t\t\tif(item.el && item.el.find('img').length) {\n\t\t\t\t\timg.alt = item.el.find('img').attr('alt');\n\t\t\t\t}\n\t\t\t\titem.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);\n\t\t\t\timg.src = item.src;\n\n\t\t\t\t// without clone() \"error\" event is not firing when IMG is replaced by new IMG\n\t\t\t\t// TODO: find a way to avoid such cloning\n\t\t\t\tif(el.is('img')) {\n\t\t\t\t\titem.img = item.img.clone();\n\t\t\t\t}\n\n\t\t\t\timg = item.img[0];\n\t\t\t\tif(img.naturalWidth > 0) {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t} else if(!img.width) {\n\t\t\t\t\titem.hasSize = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmfp._parseMarkup(template, {\n\t\t\t\ttitle: _getTitle(item),\n\t\t\t\timg_replaceWith: item.img\n\t\t\t}, item);\n\n\t\t\tmfp.resizeImage();\n\n\t\t\tif(item.hasSize) {\n\t\t\t\tif(_imgInterval) clearInterval(_imgInterval);\n\n\t\t\t\tif(item.loadError) {\n\t\t\t\t\ttemplate.addClass('mfp-loading');\n\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\n\t\t\t\t} else {\n\t\t\t\t\ttemplate.removeClass('mfp-loading');\n\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t}\n\t\t\t\treturn template;\n\t\t\t}\n\n\t\t\tmfp.updateStatus('loading');\n\t\t\titem.loading = true;\n\n\t\t\tif(!item.hasSize) {\n\t\t\t\titem.imgHidden = true;\n\t\t\t\ttemplate.addClass('mfp-loading');\n\t\t\t\tmfp.findImageSize(item);\n\t\t\t}\n\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n/*>>image*/\n\n/*>>zoom*/\nvar hasMozTransform,\n\tgetHasMozTransform = function() {\n\t\tif(hasMozTransform === undefined) {\n\t\t\thasMozTransform = document.createElement('p').style.MozTransform !== undefined;\n\t\t}\n\t\treturn hasMozTransform;\n\t};\n\n$.magnificPopup.registerModule('zoom', {\n\n\toptions: {\n\t\tenabled: false,\n\t\teasing: 'ease-in-out',\n\t\tduration: 300,\n\t\topener: function(element) {\n\t\t\treturn element.is('img') ? element : element.find('img');\n\t\t}\n\t},\n\n\tproto: {\n\n\t\tinitZoom: function() {\n\t\t\tvar zoomSt = mfp.st.zoom,\n\t\t\t\tns = '.zoom',\n\t\t\t\timage;\n\n\t\t\tif(!zoomSt.enabled || !mfp.supportsTransition) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar duration = zoomSt.duration,\n\t\t\t\tgetElToAnimate = function(image) {\n\t\t\t\t\tvar newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),\n\t\t\t\t\t\ttransition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,\n\t\t\t\t\t\tcssObj = {\n\t\t\t\t\t\t\tposition: 'fixed',\n\t\t\t\t\t\t\tzIndex: 9999,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t'-webkit-backface-visibility': 'hidden'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tt = 'transition';\n\n\t\t\t\t\tcssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;\n\n\t\t\t\t\tnewImg.css(cssObj);\n\t\t\t\t\treturn newImg;\n\t\t\t\t},\n\t\t\t\tshowMainContent = function() {\n\t\t\t\t\tmfp.content.css('visibility', 'visible');\n\t\t\t\t},\n\t\t\t\topenTimeout,\n\t\t\t\tanimatedImg;\n\n\t\t\t_mfpOn('BuildControls'+ns, function() {\n\t\t\t\tif(mfp._allowZoom()) {\n\n\t\t\t\t\tclearTimeout(openTimeout);\n\t\t\t\t\tmfp.content.css('visibility', 'hidden');\n\n\t\t\t\t\t// Basically, all code below does is clones existing image, puts in on top of the current one and animated it\n\n\t\t\t\t\timage = mfp._getItemToZoom();\n\n\t\t\t\t\tif(!image) {\n\t\t\t\t\t\tshowMainContent();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tanimatedImg = getElToAnimate(image);\n\n\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\n\n\t\t\t\t\tmfp.wrap.append(animatedImg);\n\n\t\t\t\t\topenTimeout = setTimeout(function() {\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset( true ) );\n\t\t\t\t\t\topenTimeout = setTimeout(function() {\n\n\t\t\t\t\t\t\tshowMainContent();\n\n\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\tanimatedImg.remove();\n\t\t\t\t\t\t\t\timage = animatedImg = null;\n\t\t\t\t\t\t\t\t_mfpTrigger('ZoomAnimationEnded');\n\t\t\t\t\t\t\t}, 16); // avoid blink when switching images\n\n\t\t\t\t\t\t}, duration); // this timeout equals animation duration\n\n\t\t\t\t\t}, 16); // by adding this timeout we avoid short glitch at the beginning of animation\n\n\n\t\t\t\t\t// Lots of timeouts...\n\t\t\t\t}\n\t\t\t});\n\t\t\t_mfpOn(BEFORE_CLOSE_EVENT+ns, function() {\n\t\t\t\tif(mfp._allowZoom()) {\n\n\t\t\t\t\tclearTimeout(openTimeout);\n\n\t\t\t\t\tmfp.st.removalDelay = duration;\n\n\t\t\t\t\tif(!image) {\n\t\t\t\t\t\timage = mfp._getItemToZoom();\n\t\t\t\t\t\tif(!image) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimatedImg = getElToAnimate(image);\n\t\t\t\t\t}\n\n\t\t\t\t\tanimatedImg.css( mfp._getOffset(true) );\n\t\t\t\t\tmfp.wrap.append(animatedImg);\n\t\t\t\t\tmfp.content.css('visibility', 'hidden');\n\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\n\t\t\t\t\t}, 16);\n\t\t\t\t}\n\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\tif(mfp._allowZoom()) {\n\t\t\t\t\tshowMainContent();\n\t\t\t\t\tif(animatedImg) {\n\t\t\t\t\t\tanimatedImg.remove();\n\t\t\t\t\t}\n\t\t\t\t\timage = null;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t_allowZoom: function() {\n\t\t\treturn mfp.currItem.type === 'image';\n\t\t},\n\n\t\t_getItemToZoom: function() {\n\t\t\tif(mfp.currItem.hasSize) {\n\t\t\t\treturn mfp.currItem.img;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t// Get element postion relative to viewport\n\t\t_getOffset: function(isLarge) {\n\t\t\tvar el;\n\t\t\tif(isLarge) {\n\t\t\t\tel = mfp.currItem.img;\n\t\t\t} else {\n\t\t\t\tel = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);\n\t\t\t}\n\n\t\t\tvar offset = el.offset();\n\t\t\tvar paddingTop = parseInt(el.css('padding-top'),10);\n\t\t\tvar paddingBottom = parseInt(el.css('padding-bottom'),10);\n\t\t\toffset.top -= ( $(window).scrollTop() - paddingTop );\n\n\n\t\t\t/*\n\n\t\t\tAnimating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.\n\n\t\t\t */\n\t\t\tvar obj = {\n\t\t\t\twidth: el.width(),\n\t\t\t\t// fix Zepto height+padding issue\n\t\t\t\theight: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop\n\t\t\t};\n\n\t\t\t// I hate to do this, but there is no another option\n\t\t\tif( getHasMozTransform() ) {\n\t\t\t\tobj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';\n\t\t\t} else {\n\t\t\t\tobj.left = offset.left;\n\t\t\t\tobj.top = offset.top;\n\t\t\t}\n\t\t\treturn obj;\n\t\t}\n\n\t}\n});\n\n\n\n/*>>zoom*/\n\n/*>>iframe*/\n\nvar IFRAME_NS = 'iframe',\n\t_emptyPage = '//about:blank',\n\n\t_fixIframeBugs = function(isShowing) {\n\t\tif(mfp.currTemplate[IFRAME_NS]) {\n\t\t\tvar el = mfp.currTemplate[IFRAME_NS].find('iframe');\n\t\t\tif(el.length) {\n\t\t\t\t// reset src after the popup is closed to avoid \"video keeps playing after popup is closed\" bug\n\t\t\t\tif(!isShowing) {\n\t\t\t\t\tel[0].src = _emptyPage;\n\t\t\t\t}\n\n\t\t\t\t// IE8 black screen bug fix\n\t\t\t\tif(mfp.isIE8) {\n\t\t\t\t\tel.css('display', isShowing ? 'block' : 'none');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n$.magnificPopup.registerModule(IFRAME_NS, {\n\n\toptions: {\n\t\tmarkup: '
'+\n\t\t\t\t\t'
'+\n\t\t\t\t\t''+\n\t\t\t\t'
',\n\n\t\tsrcAction: 'iframe_src',\n\n\t\t// we don't care and support only one default type of URL by default\n\t\tpatterns: {\n\t\t\tyoutube: {\n\t\t\t\tindex: 'youtube.com',\n\t\t\t\tid: 'v=',\n\t\t\t\tsrc: '//www.youtube.com/embed/%id%?autoplay=1'\n\t\t\t},\n\t\t\tvimeo: {\n\t\t\t\tindex: 'vimeo.com/',\n\t\t\t\tid: '/',\n\t\t\t\tsrc: '//player.vimeo.com/video/%id%?autoplay=1'\n\t\t\t},\n\t\t\tgmaps: {\n\t\t\t\tindex: '//maps.google.',\n\t\t\t\tsrc: '%id%&output=embed'\n\t\t\t}\n\t\t}\n\t},\n\n\tproto: {\n\t\tinitIframe: function() {\n\t\t\tmfp.types.push(IFRAME_NS);\n\n\t\t\t_mfpOn('BeforeChange', function(e, prevType, newType) {\n\t\t\t\tif(prevType !== newType) {\n\t\t\t\t\tif(prevType === IFRAME_NS) {\n\t\t\t\t\t\t_fixIframeBugs(); // iframe if removed\n\t\t\t\t\t} else if(newType === IFRAME_NS) {\n\t\t\t\t\t\t_fixIframeBugs(true); // iframe is showing\n\t\t\t\t\t}\n\t\t\t\t}// else {\n\t\t\t\t\t// iframe source is switched, don't do anything\n\t\t\t\t//}\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {\n\t\t\t\t_fixIframeBugs();\n\t\t\t});\n\t\t},\n\n\t\tgetIframe: function(item, template) {\n\t\t\tvar embedSrc = item.src;\n\t\t\tvar iframeSt = mfp.st.iframe;\n\n\t\t\t$.each(iframeSt.patterns, function() {\n\t\t\t\tif(embedSrc.indexOf( this.index ) > -1) {\n\t\t\t\t\tif(this.id) {\n\t\t\t\t\t\tif(typeof this.id === 'string') {\n\t\t\t\t\t\t\tembedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tembedSrc = this.id.call( this, embedSrc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tembedSrc = this.src.replace('%id%', embedSrc );\n\t\t\t\t\treturn false; // break;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar dataObj = {};\n\t\t\tif(iframeSt.srcAction) {\n\t\t\t\tdataObj[iframeSt.srcAction] = embedSrc;\n\t\t\t}\n\t\t\tmfp._parseMarkup(template, dataObj, item);\n\n\t\t\tmfp.updateStatus('ready');\n\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n\n\n/*>>iframe*/\n\n/*>>gallery*/\n/**\n * Get looped index depending on number of slides\n */\nvar _getLoopedId = function(index) {\n\t\tvar numSlides = mfp.items.length;\n\t\tif(index > numSlides - 1) {\n\t\t\treturn index - numSlides;\n\t\t} else if(index < 0) {\n\t\t\treturn numSlides + index;\n\t\t}\n\t\treturn index;\n\t},\n\t_replaceCurrTotal = function(text, curr, total) {\n\t\treturn text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);\n\t};\n\n$.magnificPopup.registerModule('gallery', {\n\n\toptions: {\n\t\tenabled: false,\n\t\tarrowMarkup: '',\n\t\tpreload: [0,2],\n\t\tnavigateByImgClick: true,\n\t\tarrows: true,\n\n\t\ttPrev: 'Previous (Left arrow key)',\n\t\ttNext: 'Next (Right arrow key)',\n\t\ttCounter: '%curr% of %total%'\n\t},\n\n\tproto: {\n\t\tinitGallery: function() {\n\n\t\t\tvar gSt = mfp.st.gallery,\n\t\t\t\tns = '.mfp-gallery';\n\n\t\t\tmfp.direction = true; // true - next, false - prev\n\n\t\t\tif(!gSt || !gSt.enabled ) return false;\n\n\t\t\t_wrapClasses += ' mfp-gallery';\n\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\n\n\t\t\t\tif(gSt.navigateByImgClick) {\n\t\t\t\t\tmfp.wrap.on('click'+ns, '.mfp-img', function() {\n\t\t\t\t\t\tif(mfp.items.length > 1) {\n\t\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t_document.on('keydown'+ns, function(e) {\n\t\t\t\t\tif (e.keyCode === 37) {\n\t\t\t\t\t\tmfp.prev();\n\t\t\t\t\t} else if (e.keyCode === 39) {\n\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t_mfpOn('UpdateStatus'+ns, function(e, data) {\n\t\t\t\tif(data.text) {\n\t\t\t\t\tdata.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {\n\t\t\t\tvar l = mfp.items.length;\n\t\t\t\tvalues.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';\n\t\t\t});\n\n\t\t\t_mfpOn('BuildControls' + ns, function() {\n\t\t\t\tif(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {\n\t\t\t\t\tvar markup = gSt.arrowMarkup,\n\t\t\t\t\t\tarrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),\n\t\t\t\t\t\tarrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);\n\n\t\t\t\t\tarrowLeft.click(function() {\n\t\t\t\t\t\tmfp.prev();\n\t\t\t\t\t});\n\t\t\t\t\tarrowRight.click(function() {\n\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t});\n\n\t\t\t\t\tmfp.container.append(arrowLeft.add(arrowRight));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(CHANGE_EVENT+ns, function() {\n\t\t\t\tif(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);\n\n\t\t\t\tmfp._preloadTimeout = setTimeout(function() {\n\t\t\t\t\tmfp.preloadNearbyImages();\n\t\t\t\t\tmfp._preloadTimeout = null;\n\t\t\t\t}, 16);\n\t\t\t});\n\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\t_document.off(ns);\n\t\t\t\tmfp.wrap.off('click'+ns);\n\t\t\t\tmfp.arrowRight = mfp.arrowLeft = null;\n\t\t\t});\n\n\t\t},\n\t\tnext: function() {\n\t\t\tmfp.direction = true;\n\t\t\tmfp.index = _getLoopedId(mfp.index + 1);\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tprev: function() {\n\t\t\tmfp.direction = false;\n\t\t\tmfp.index = _getLoopedId(mfp.index - 1);\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tgoTo: function(newIndex) {\n\t\t\tmfp.direction = (newIndex >= mfp.index);\n\t\t\tmfp.index = newIndex;\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tpreloadNearbyImages: function() {\n\t\t\tvar p = mfp.st.gallery.preload,\n\t\t\t\tpreloadBefore = Math.min(p[0], mfp.items.length),\n\t\t\t\tpreloadAfter = Math.min(p[1], mfp.items.length),\n\t\t\t\ti;\n\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {\n\t\t\t\tmfp._preloadItem(mfp.index+i);\n\t\t\t}\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {\n\t\t\t\tmfp._preloadItem(mfp.index-i);\n\t\t\t}\n\t\t},\n\t\t_preloadItem: function(index) {\n\t\t\tindex = _getLoopedId(index);\n\n\t\t\tif(mfp.items[index].preloaded) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar item = mfp.items[index];\n\t\t\tif(!item.parsed) {\n\t\t\t\titem = mfp.parseEl( index );\n\t\t\t}\n\n\t\t\t_mfpTrigger('LazyLoad', item);\n\n\t\t\tif(item.type === 'image') {\n\t\t\t\titem.img = $('').on('load.mfploader', function() {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t}).on('error.mfploader', function() {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\titem.loadError = true;\n\t\t\t\t\t_mfpTrigger('LazyLoadError', item);\n\t\t\t\t}).attr('src', item.src);\n\t\t\t}\n\n\n\t\t\titem.preloaded = true;\n\t\t}\n\t}\n});\n\n/*>>gallery*/\n\n/*>>retina*/\n\nvar RETINA_NS = 'retina';\n\n$.magnificPopup.registerModule(RETINA_NS, {\n\toptions: {\n\t\treplaceSrc: function(item) {\n\t\t\treturn item.src.replace(/\\.\\w+$/, function(m) { return '@2x' + m; });\n\t\t},\n\t\tratio: 1 // Function or number. Set to 1 to disable.\n\t},\n\tproto: {\n\t\tinitRetina: function() {\n\t\t\tif(window.devicePixelRatio > 1) {\n\n\t\t\t\tvar st = mfp.st.retina,\n\t\t\t\t\tratio = st.ratio;\n\n\t\t\t\tratio = !isNaN(ratio) ? ratio : ratio();\n\n\t\t\t\tif(ratio > 1) {\n\t\t\t\t\t_mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {\n\t\t\t\t\t\titem.img.css({\n\t\t\t\t\t\t\t'max-width': item.img[0].naturalWidth / ratio,\n\t\t\t\t\t\t\t'width': '100%'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\t_mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {\n\t\t\t\t\t\titem.src = st.replaceSrc(item, ratio);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n});\n\n/*>>retina*/\n _checkInstance(); }));","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(src) {\n\tfunction log(error) {\n\t\t(typeof console !== \"undefined\")\n\t\t&& (console.error || console.log)(\"[Script Loader]\", error);\n\t}\n\n\t// Check for IE =< 8\n\tfunction isIE() {\n\t\treturn typeof attachEvent !== \"undefined\" && typeof addEventListener === \"undefined\";\n\t}\n\n\ttry {\n\t\tif (typeof execScript !== \"undefined\" && isIE()) {\n\t\t\texecScript(src);\n\t\t} else if (typeof eval !== \"undefined\") {\n\t\t\teval.call(null, src);\n\t\t} else {\n\t\t\tlog(\"EvalError: No eval function available\");\n\t\t}\n\t} catch (error) {\n\t\tlog(error);\n\t}\n}\n"],"names":["setup","$","fn","_fadeIn","fadeIn","noOp","noop","msie","test","navigator","userAgent","ie6","setExpr","document","documentMode","isFunction","createElement","style","setExpression","blockUI","opts","install","window","unblockUI","remove","growlUI","title","message","timeout","onClose","$m","append","undefined","callBlock","fadeOut","centerY","showOverlay","onUnblock","css","defaults","growlCSS","mouseover","displayBlock","stop","fadeTo","mouseout","block","this","fullOpts","extend","each","$el","ignoreIfBlocked","data","unblock","position","zoom","version","draggable","theme","padding","margin","width","top","left","textAlign","color","border","backgroundColor","cursor","themedCSS","overlayCSS","opacity","cursorReset","right","iframeSrc","location","href","forceIframe","baseZ","centerX","allowBodyStretch","bindEvents","constrainTabKey","focusInput","focusableElements","onBlock","onOverlayClick","quirksmodeOffsetHack","blockMsgClass","pageBlock","pageBlockEls","el","full","msg","parentNode","jquery","node","parent","display","removeChild","lyr1","lyr2","lyr3","s","z","addClass","layers","$par","appendTo","handle","cancel","expr","support","boxModel","length","t","sz","l","fixT","fixL","i","o","marginTop","expression","parseInt","find","nodeType","show","cb","cb1","cb2","bind","setTimeout","focus","x","y","p","offsetWidth","offsetHeight","center","to","count","els","clearTimeout","removeData","children","filter","add","reset","appendChild","body","w","cssW","b","events","handler","unbind","e","type","keyCode","fwd","shiftKey","target","back","hasClass","parents","jQuery","mfp","_prevStatus","_document","_prevContentType","_wrapClasses","_currPopupType","CLOSE_EVENT","BEFORE_CLOSE_EVENT","MARKUP_PARSE_EVENT","OPEN_EVENT","CHANGE_EVENT","NS","EVENT_NS","READY_CLASS","REMOVING_CLASS","PREVENT_CLOSE_CLASS","MagnificPopup","_isJQ","_window","_mfpOn","name","f","ev","on","_getEl","className","html","raw","innerHTML","_mfpTrigger","triggerHandler","st","callbacks","charAt","toLowerCase","slice","apply","isArray","_getCloseBtn","currTemplate","closeBtn","closeMarkup","replace","tClose","_checkInstance","magnificPopup","instance","init","prototype","constructor","appVersion","isLowIE","isIE8","all","addEventListener","isAndroid","isIOS","supportsTransition","v","pop","supportsTransitions","probablyMobile","popupsCache","open","isObj","items","toArray","index","item","parsed","isOpen","types","mainEl","eq","key","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","close","wrap","attr","_checkIfClose","container","contentContainer","preloader","tLoading","modules","n","toUpperCase","call","closeBtnInside","template","values","close_replaceWith","alignTop","overflow","overflowY","overflowX","scrollTop","fixedBgPos","height","updateSize","windowHeight","wH","windowStyles","_hasScrollBar","_getScrollbarSize","marginRight","isIE7","classesToadd","mainClass","_addClassToMFP","updateItemHTML","prependTo","_lastFocusedEl","activeElement","content","_setFocus","_onFocusIn","removalDelay","_close","classesToRemove","detach","empty","_removeClassFromMFP","off","removeAttr","currItem","autoFocusLast","prevHeight","winHeight","zoomLevel","documentElement","clientWidth","innerWidth","innerHeight","parseEl","markup","removeClass","newContent","appendContent","preloaded","prepend","tagName","src","addGroup","options","eHandler","mfpEl","_openClick","eName","delegate","midClick","which","ctrlKey","metaKey","altKey","disableOn","preventDefault","stopPropagation","updateStatus","status","text","stopImmediatePropagation","closeOnContent","closeOnBg","contains","cName","scrollHeight","_parseMarkup","arr","value","split","replaceWith","is","scrollbarSize","scrollDiv","cssText","proto","registerModule","module","push","jqEl","itemOpts","arguments","Array","_hiddenClass","_inlinePlaceholder","_lastInlineElement","INLINE_NS","_putInlineElementsBack","after","hiddenClass","tNotFound","initInline","getInline","inlineSt","inline","inlineElement","_ajaxCur","AJAX_NS","_removeAjaxCursor","_destroyAjaxRequest","req","abort","settings","tError","initAjax","ajax","getAjax","url","success","textStatus","jqXHR","temp","xhr","finished","error","loadError","_imgInterval","hasMozTransform","_getTitle","image","titleSrc","verticalFit","initImage","imgSt","ns","resizeImage","img","decr","_onImageHasSize","hasSize","clearInterval","isCheckingImgSize","imgHidden","findImageSize","counter","mfpSetInterval","delay","setInterval","naturalWidth","getImage","guard","onLoadComplete","complete","loaded","onLoadError","alt","clone","img_replaceWith","loading","enabled","easing","duration","opener","element","initZoom","zoomSt","openTimeout","animatedImg","getElToAnimate","newImg","transition","cssObj","zIndex","showMainContent","_allowZoom","_getItemToZoom","_getOffset","isLarge","offset","paddingTop","paddingBottom","obj","MozTransform","IFRAME_NS","_fixIframeBugs","isShowing","srcAction","patterns","youtube","id","vimeo","gmaps","initIframe","prevType","newType","getIframe","embedSrc","iframeSt","iframe","indexOf","substr","lastIndexOf","dataObj","_getLoopedId","numSlides","_replaceCurrTotal","curr","total","arrowMarkup","preload","navigateByImgClick","arrows","tPrev","tNext","tCounter","initGallery","gSt","gallery","direction","next","prev","arrowLeft","arrowRight","click","_preloadTimeout","preloadNearbyImages","goTo","newIndex","preloadBefore","Math","min","preloadAfter","_preloadItem","RETINA_NS","replaceSrc","m","ratio","initRetina","devicePixelRatio","retina","isNaN","exports","log","console","execScript","attachEvent","eval"],"sourceRoot":""}