{"version":3,"sources":["../ui/video/load.js","../../lib/jquery.magnific-popup.js","../../lib/terabyte/jquery.equalHeaders.js","detail.js"],"names":["define","$","LazyLoad","VideoLoad","init","this","initLazyFunction","elems","callback","$thisPlaylist","require","VideoPlaylist","_initVideoEvent","on","_loadVideo","event","preventDefault","thisVid","VideoCommon","YouTube","mfp","_prevStatus","_body","_document","_prevContentType","_wrapClasses","_currPopupType","CLOSE_EVENT","BEFORE_CLOSE_EVENT","AFTER_CLOSE_EVENT","BEFORE_APPEND_EVENT","MARKUP_PARSE_EVENT","OPEN_EVENT","CHANGE_EVENT","NS","EVENT_NS","READY_CLASS","REMOVING_CLASS","PREVENT_CLOSE_CLASS","MagnificPopup","_isJQ","window","_window","_mfpOn","name","f","ev","_getEl","className","appendTo","html","raw","el","document","createElement","innerHTML","appendChild","_mfpTrigger","e","data","triggerHandler","st","callbacks","charAt","toLowerCase","slice","apply","isArray","_getCloseBtn","type","currTemplate","closeBtn","closeMarkup","replace","tClose","_checkInstance","magnificPopup","instance","supportsTransitions","s","style","v","undefined","length","pop","prototype","constructor","appVersion","navigator","isIE7","indexOf","isIE8","isLowIE","isAndroid","test","isIOS","supportsTransition","probablyMobile","userAgent","popupsCache","open","body","i","isObj","items","toArray","index","item","parsed","isOpen","updateItemHTML","types","mainEl","eq","key","extend","defaults","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","close","wrap","attr","_checkIfClose","target","container","contentContainer","preloader","tLoading","modules","n","toUpperCase","call","closeBtnInside","template","values","close_replaceWith","append","alignTop","css","overflow","overflowY","overflowX","top","scrollTop","position","fixedBgPos","height","keyCode","updateSize","addClass","windowHeight","wH","windowStyles","_hasScrollBar","_getScrollbarSize","marginRight","classesToadd","mainClass","_addClassToMFP","add","prependTo","_lastFocusedEl","activeElement","setTimeout","content","_setFocus","_onFocusIn","removalDelay","_close","classesToRemove","detach","empty","_removeClassFromMFP","off","removeAttr","currItem","focus","prevHeight","winHeight","zoomLevel","documentElement","clientWidth","innerWidth","innerHeight","parseEl","markup","removeClass","newContent","appendContent","preloaded","prepend","find","tagName","src","hasClass","addGroup","options","eHandler","mfpEl","_openClick","eName","delegate","midClick","which","ctrlKey","metaKey","disableOn","isFunction","width","stopPropagation","updateStatus","status","text","stopImmediatePropagation","closeOnContent","closeOnBg","contains","cName","scrollHeight","_parseMarkup","arr","each","value","split","replaceWith","is","scrollbarSize","scrollDiv","id","cssText","offsetWidth","removeChild","proto","registerModule","module","push","fn","jqEl","itemOpts","parseInt","arguments","Array","_hiddenClass","_inlinePlaceholder","_lastInlineElement","INLINE_NS","_putInlineElementsBack","after","hiddenClass","tNotFound","initInline","getInline","inlineSt","inline","parent","parentNode","inlineElement","_ajaxCur","AJAX_NS","_removeAjaxCursor","_destroyAjaxRequest","req","abort","settings","cursor","tError","initAjax","ajax","getAjax","opts","url","success","textStatus","jqXHR","temp","xhr","finished","error","loadError","_imgInterval","_getTitle","title","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","clone","img_replaceWith","loading","hasMozTransform","getHasMozTransform","MozTransform","enabled","easing","duration","opener","element","initZoom","zoomSt","zoom","openTimeout","animatedImg","getElToAnimate","newImg","transition","cssObj","zIndex","left","-webkit-backface-visibility","t","showMainContent","_allowZoom","clearTimeout","_getItemToZoom","_getOffset","remove","isLarge","offset","paddingTop","paddingBottom","obj","offsetHeight","IFRAME_NS","_emptyPage","_fixIframeBugs","isShowing","srcAction","patterns","youtube","vimeo","gmaps","initIframe","prevType","newType","getIframe","embedSrc","iframeSt","iframe","substr","lastIndexOf","dataObj","_getLoopedId","numSlides","_replaceCurrTotal","curr","total","arrowMarkup","preload","navigateByImgClick","arrows","tPrev","tNext","tCounter","initGallery","gSt","gallery","supportsFastClick","Boolean","mfpFastClick","direction","next","prev","l","arrowLeft","arrowRight","_preloadTimeout","preloadNearbyImages","destroyMfpFastClick","goTo","newIndex","p","preloadBefore","Math","min","preloadAfter","_preloadItem","RETINA_NS","replaceSrc","m","ratio","initRetina","devicePixelRatio","retina","isNaN","max-width","ghostClickDelay","supportsTouch","unbindTouchMove","lock","elem","timeout","startX","startY","pointerMoved","point","numPointers","originalEvent","touches","clientX","clientY","abs","jQuery","Zepto","global","ret","Plugin","pluginName","$element","_defaults","headerClass","_conformHeaders","_initEvents","plugin","throttle","_conformHeadersOnResize","_setConformingHeight","header","newHeight","_getOriginalHeight","$headers","currentTallest","currentRowStart","rowHeaders","$el","topPosition","currentHeader","SocialShare","$tables","filter","tableScroll","$relatedCourses","equalHeaders"],"mappings":"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GAD,EAAAC,MAGA,IAAAkc,GAAArc,EAAA,UAAAmM,KAAA,SAAAmQ,OAAA,WAGAD,GAAAnX,QACAmX,EAAAE,cAIAvc,EAAA,uBAAA2E,eACAkI,SAAA,qBACAzI,KAAA,UAGApE,EAAA,wBAAAiO,KAAA,WACAjO,EAAAI,MAAAuE,eACAkI,SAAA,qBACAzI,KAAA,QACAyT,SACA/D,SAAA,EACAwD,oBAAA,EACAD,SAAA,EAAA,OAKA,IAAAmF,GAAAxc,EAAA,qBACAwc,GAAAtX,QAEAsX,EAAAC,cACAtB,YAAA;AHhDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/CA,ADgDA;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,ACvgEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app/page/detail.js","sourcesContent":["/* app/ui/video/load */\r\n\r\ndefine(\r\n\t'app/ui/video/load',[\r\n\t\t'jquery',\r\n\t\t'util/lazyload',\r\n\t\t'pubsub'\r\n\t],\r\n\tfunction($, LazyLoad) {\r\n\r\n\t\tvar VideoLoad;\r\n\r\n\t\treturn {\r\n\t\t\tinit: function() {\r\n\t\t\t\tVideoLoad = this;\r\n\r\n\t\t\t\t// Run callback function after scrolling to playlist element triggers lazyScroll plugin\r\n\t\t\t\t// This will ensure the YouTube API and supporting files are only loaded when necessary\r\n\t\t\t\t// Will only run once - js hook removed once the playlist has been loaded\r\n\t\t\t\tLazyLoad.initLazyFunction({\r\n\t\t\t\t\telems: $('.js-load-playlist'),\r\n\t\t\t\t\tcallback: function() {\r\n\t\t\t\t\t\tvar $thisPlaylist = $(this);\r\n\r\n\t\t\t\t\t\trequire(['app/ui/video/playlist'], function(VideoPlaylist) {\r\n\t\t\t\t\t\t\tVideoPlaylist.init($thisPlaylist);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tVideoLoad._initVideoEvent();\r\n\t\t\t},\r\n\r\n\t\t\t_initVideoEvent: function() {\r\n\t\t\t\t$('.js-video-player').on('click', '.js-video', VideoLoad._loadVideo);\r\n\t\t\t},\r\n\r\n\t\t\t_loadVideo: function(event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tvar thisVid = this;\r\n\r\n\t\t\t\trequire(['app/ui/video/common', 'app/ui/video/youtube'], function(VideoCommon, YouTube) {\r\n\t\t\t\t\tVideoCommon.init(thisVid);\r\n\t\t\t\t\tYouTube.init(thisVid);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n);\n","/*! Magnific Popup - v0.9.9 - 2013-12-27\r\n* http://dimsemenov.com/plugins/magnific-popup/\r\n* Copyright (c) 2013 Dmitry Semenov; */\r\n;(function($) {\r\n\r\n/*>>core*/\r\n/**\r\n * \r\n * Magnific Popup Core JS file\r\n * \r\n */\r\n\r\n\r\n/**\r\n * Private static constants\r\n */\r\nvar CLOSE_EVENT = 'Close',\r\n\tBEFORE_CLOSE_EVENT = 'BeforeClose',\r\n\tAFTER_CLOSE_EVENT = 'AfterClose',\r\n\tBEFORE_APPEND_EVENT = 'BeforeAppend',\r\n\tMARKUP_PARSE_EVENT = 'MarkupParse',\r\n\tOPEN_EVENT = 'Open',\r\n\tCHANGE_EVENT = 'Change',\r\n\tNS = 'mfp',\r\n\tEVENT_NS = '.' + NS,\r\n\tREADY_CLASS = 'mfp-ready',\r\n\tREMOVING_CLASS = 'mfp-removing',\r\n\tPREVENT_CLOSE_CLASS = 'mfp-prevent-close';\r\n\r\n\r\n/**\r\n * Private vars \r\n */\r\nvar mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'\r\n\tMagnificPopup = function(){},\r\n\t_isJQ = !!(window.jQuery),\r\n\t_prevStatus,\r\n\t_window = $(window),\r\n\t_body,\r\n\t_document,\r\n\t_prevContentType,\r\n\t_wrapClasses,\r\n\t_currPopupType;\r\n\r\n\r\n/**\r\n * Private functions\r\n */\r\nvar _mfpOn = function(name, f) {\r\n\t\tmfp.ev.on(NS + name + EVENT_NS, f);\r\n\t},\r\n\t_getEl = function(className, appendTo, html, raw) {\r\n\t\tvar el = document.createElement('div');\r\n\t\tel.className = 'mfp-'+className;\r\n\t\tif(html) {\r\n\t\t\tel.innerHTML = html;\r\n\t\t}\r\n\t\tif(!raw) {\r\n\t\t\tel = $(el);\r\n\t\t\tif(appendTo) {\r\n\t\t\t\tel.appendTo(appendTo);\r\n\t\t\t}\r\n\t\t} else if(appendTo) {\r\n\t\t\tappendTo.appendChild(el);\r\n\t\t}\r\n\t\treturn el;\r\n\t},\r\n\t_mfpTrigger = function(e, data) {\r\n\t\tmfp.ev.triggerHandler(NS + e, data);\r\n\r\n\t\tif(mfp.st.callbacks) {\r\n\t\t\t// converts \"mfpEventName\" to \"eventName\" callback and triggers it if it's present\r\n\t\t\te = e.charAt(0).toLowerCase() + e.slice(1);\r\n\t\t\tif(mfp.st.callbacks[e]) {\r\n\t\t\t\tmfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t_getCloseBtn = function(type) {\r\n\t\tif(type !== _currPopupType || !mfp.currTemplate.closeBtn) {\r\n\t\t\tmfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );\r\n\t\t\t_currPopupType = type;\r\n\t\t}\r\n\t\treturn mfp.currTemplate.closeBtn;\r\n\t},\r\n\t// Initialize Magnific Popup only when called at least once\r\n\t_checkInstance = function() {\r\n\t\tif(!$.magnificPopup.instance) {\r\n\t\t\tmfp = new MagnificPopup();\r\n\t\t\tmfp.init();\r\n\t\t\t$.magnificPopup.instance = mfp;\r\n\t\t}\r\n\t},\r\n\t// CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr\r\n\tsupportsTransitions = function() {\r\n\t\tvar s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist\r\n\t\t\tv = ['ms','O','Moz','Webkit']; // 'v' for vendor\r\n\r\n\t\tif( s['transition'] !== undefined ) {\r\n\t\t\treturn true; \r\n\t\t}\r\n\t\t\t\r\n\t\twhile( v.length ) {\r\n\t\t\tif( v.pop() + 'Transition' in s ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t\t\r\n\t\treturn false;\r\n\t};\r\n\r\n\r\n\r\n/**\r\n * Public functions\r\n */\r\nMagnificPopup.prototype = {\r\n\r\n\tconstructor: MagnificPopup,\r\n\r\n\t/**\r\n\t * Initializes Magnific Popup plugin. \r\n\t * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed\r\n\t */\r\n\tinit: function() {\r\n\t\tvar appVersion = navigator.appVersion;\r\n\t\tmfp.isIE7 = appVersion.indexOf(\"MSIE 7.\") !== -1; \r\n\t\tmfp.isIE8 = appVersion.indexOf(\"MSIE 8.\") !== -1;\r\n\t\tmfp.isLowIE = mfp.isIE7 || mfp.isIE8;\r\n\t\tmfp.isAndroid = (/android/gi).test(appVersion);\r\n\t\tmfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);\r\n\t\tmfp.supportsTransition = supportsTransitions();\r\n\r\n\t\t// We disable fixed positioned lightbox on devices that don't handle it nicely.\r\n\t\t// If you know a better way of detecting this - let me know.\r\n\t\tmfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );\r\n\t\t_document = $(document);\r\n\r\n\t\tmfp.popupsCache = {};\r\n\t},\r\n\r\n\t/**\r\n\t * Opens popup\r\n\t * @param data [description]\r\n\t */\r\n\topen: function(data) {\r\n\r\n\t\tif(!_body) {\r\n\t\t\t_body = $(document.body);\r\n\t\t}\r\n\r\n\t\tvar i;\r\n\r\n\t\tif(data.isObj === false) { \r\n\t\t\t// convert jQuery collection to array to avoid conflicts later\r\n\t\t\tmfp.items = data.items.toArray();\r\n\r\n\t\t\tmfp.index = 0;\r\n\t\t\tvar items = data.items,\r\n\t\t\t\titem;\r\n\t\t\tfor(i = 0; i < items.length; i++) {\r\n\t\t\t\titem = items[i];\r\n\t\t\t\tif(item.parsed) {\r\n\t\t\t\t\titem = item.el[0];\r\n\t\t\t\t}\r\n\t\t\t\tif(item === data.el[0]) {\r\n\t\t\t\t\tmfp.index = i;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmfp.items = $.isArray(data.items) ? data.items : [data.items];\r\n\t\t\tmfp.index = data.index || 0;\r\n\t\t}\r\n\r\n\t\t// if popup is already opened - we just update the content\r\n\t\tif(mfp.isOpen) {\r\n\t\t\tmfp.updateItemHTML();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tmfp.types = []; \r\n\t\t_wrapClasses = '';\r\n\t\tif(data.mainEl && data.mainEl.length) {\r\n\t\t\tmfp.ev = data.mainEl.eq(0);\r\n\t\t} else {\r\n\t\t\tmfp.ev = _document;\r\n\t\t}\r\n\r\n\t\tif(data.key) {\r\n\t\t\tif(!mfp.popupsCache[data.key]) {\r\n\t\t\t\tmfp.popupsCache[data.key] = {};\r\n\t\t\t}\r\n\t\t\tmfp.currTemplate = mfp.popupsCache[data.key];\r\n\t\t} else {\r\n\t\t\tmfp.currTemplate = {};\r\n\t\t}\r\n\r\n\r\n\r\n\t\tmfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); \r\n\t\tmfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;\r\n\r\n\t\tif(mfp.st.modal) {\r\n\t\t\tmfp.st.closeOnContentClick = false;\r\n\t\t\tmfp.st.closeOnBgClick = false;\r\n\t\t\tmfp.st.showCloseBtn = false;\r\n\t\t\tmfp.st.enableEscapeKey = false;\r\n\t\t}\r\n\t\t\r\n\r\n\t\t// Building markup\r\n\t\t// main containers are created only once\r\n\t\tif(!mfp.bgOverlay) {\r\n\r\n\t\t\t// Dark overlay\r\n\t\t\tmfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {\r\n\t\t\t\tmfp.close();\r\n\t\t\t});\r\n\r\n\t\t\tmfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {\r\n\t\t\t\tif(mfp._checkIfClose(e.target)) {\r\n\t\t\t\t\tmfp.close();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tmfp.container = _getEl('container', mfp.wrap);\r\n\t\t}\r\n\r\n\t\tmfp.contentContainer = _getEl('content');\r\n\t\tif(mfp.st.preloader) {\r\n\t\t\tmfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);\r\n\t\t}\r\n\r\n\r\n\t\t// Initializing modules\r\n\t\tvar modules = $.magnificPopup.modules;\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar n = modules[i];\r\n\t\t\tn = n.charAt(0).toUpperCase() + n.slice(1);\r\n\t\t\tmfp['init'+n].call(mfp);\r\n\t\t}\r\n\t\t_mfpTrigger('BeforeOpen');\r\n\r\n\r\n\t\tif(mfp.st.showCloseBtn) {\r\n\t\t\t// Close button\r\n\t\t\tif(!mfp.st.closeBtnInside) {\r\n\t\t\t\tmfp.wrap.append( _getCloseBtn() );\r\n\t\t\t} else {\r\n\t\t\t\t_mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {\r\n\t\t\t\t\tvalues.close_replaceWith = _getCloseBtn(item.type);\r\n\t\t\t\t});\r\n\t\t\t\t_wrapClasses += ' mfp-close-btn-in';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(mfp.st.alignTop) {\r\n\t\t\t_wrapClasses += ' mfp-align-top';\r\n\t\t}\r\n\r\n\t\r\n\r\n\t\tif(mfp.fixedContentPos) {\r\n\t\t\tmfp.wrap.css({\r\n\t\t\t\toverflow: mfp.st.overflowY,\r\n\t\t\t\toverflowX: 'hidden',\r\n\t\t\t\toverflowY: mfp.st.overflowY\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tmfp.wrap.css({ \r\n\t\t\t\ttop: _window.scrollTop(),\r\n\t\t\t\tposition: 'absolute'\r\n\t\t\t});\r\n\t\t}\r\n\t\tif( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {\r\n\t\t\tmfp.bgOverlay.css({\r\n\t\t\t\theight: _document.height(),\r\n\t\t\t\tposition: 'absolute'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\tif(mfp.st.enableEscapeKey) {\r\n\t\t\t// Close on ESC key\r\n\t\t\t_document.on('keyup' + EVENT_NS, function(e) {\r\n\t\t\t\tif(e.keyCode === 27) {\r\n\t\t\t\t\tmfp.close();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t_window.on('resize' + EVENT_NS, function() {\r\n\t\t\tmfp.updateSize();\r\n\t\t});\r\n\r\n\r\n\t\tif(!mfp.st.closeOnContentClick) {\r\n\t\t\t_wrapClasses += ' mfp-auto-cursor';\r\n\t\t}\r\n\t\t\r\n\t\tif(_wrapClasses)\r\n\t\t\tmfp.wrap.addClass(_wrapClasses);\r\n\r\n\r\n\t\t// this triggers recalculation of layout, so we get it once to not to trigger twice\r\n\t\tvar windowHeight = mfp.wH = _window.height();\r\n\r\n\t\t\r\n\t\tvar windowStyles = {};\r\n\r\n\t\tif( mfp.fixedContentPos ) {\r\n if(mfp._hasScrollBar(windowHeight)){\r\n var s = mfp._getScrollbarSize();\r\n if(s) {\r\n windowStyles.marginRight = s;\r\n }\r\n }\r\n }\r\n\r\n\t\tif(mfp.fixedContentPos) {\r\n\t\t\tif(!mfp.isIE7) {\r\n\t\t\t\twindowStyles.overflow = 'hidden';\r\n\t\t\t} else {\r\n\t\t\t\t// ie7 double-scroll bug\r\n\t\t\t\t$('body, html').css('overflow', 'hidden');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\t\t\r\n\t\tvar classesToadd = mfp.st.mainClass;\r\n\t\tif(mfp.isIE7) {\r\n\t\t\tclassesToadd += ' mfp-ie7';\r\n\t\t}\r\n\t\tif(classesToadd) {\r\n\t\t\tmfp._addClassToMFP( classesToadd );\r\n\t\t}\r\n\r\n\t\t// add content\r\n\t\tmfp.updateItemHTML();\r\n\r\n\t\t_mfpTrigger('BuildControls');\r\n\r\n\t\t// remove scrollbar, add margin e.t.c\r\n\t\t$('html').css(windowStyles);\r\n\t\t\r\n\t\t// add everything to DOM\r\n\t\tmfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || _body );\r\n\r\n\t\t// Save last focused element\r\n\t\tmfp._lastFocusedEl = document.activeElement;\r\n\t\t\r\n\t\t// Wait for next cycle to allow CSS transition\r\n\t\tsetTimeout(function() {\r\n\t\t\t\r\n\t\t\tif(mfp.content) {\r\n\t\t\t\tmfp._addClassToMFP(READY_CLASS);\r\n\t\t\t\tmfp._setFocus();\r\n\t\t\t} else {\r\n\t\t\t\t// if content is not defined (not loaded e.t.c) we add class only for BG\r\n\t\t\t\tmfp.bgOverlay.addClass(READY_CLASS);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t// Trap the focus in popup\r\n\t\t\t_document.on('focusin' + EVENT_NS, mfp._onFocusIn);\r\n\r\n\t\t}, 16);\r\n\r\n\t\tmfp.isOpen = true;\r\n\t\tmfp.updateSize(windowHeight);\r\n\t\t_mfpTrigger(OPEN_EVENT);\r\n\r\n\t\treturn data;\r\n\t},\r\n\r\n\t/**\r\n\t * Closes the popup\r\n\t */\r\n\tclose: function() {\r\n\t\tif(!mfp.isOpen) return;\r\n\t\t_mfpTrigger(BEFORE_CLOSE_EVENT);\r\n\r\n\t\tmfp.isOpen = false;\r\n\t\t// for CSS3 animation\r\n\t\tif(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) {\r\n\t\t\tmfp._addClassToMFP(REMOVING_CLASS);\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tmfp._close();\r\n\t\t\t}, mfp.st.removalDelay);\r\n\t\t} else {\r\n\t\t\tmfp._close();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Helper for close() function\r\n\t */\r\n\t_close: function() {\r\n\t\t_mfpTrigger(CLOSE_EVENT);\r\n\r\n\t\tvar classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';\r\n\r\n\t\tmfp.bgOverlay.detach();\r\n\t\tmfp.wrap.detach();\r\n\t\tmfp.container.empty();\r\n\r\n\t\tif(mfp.st.mainClass) {\r\n\t\t\tclassesToRemove += mfp.st.mainClass + ' ';\r\n\t\t}\r\n\r\n\t\tmfp._removeClassFromMFP(classesToRemove);\r\n\r\n\t\tif(mfp.fixedContentPos) {\r\n\t\t\tvar windowStyles = {marginRight: ''};\r\n\t\t\tif(mfp.isIE7) {\r\n\t\t\t\t$('body, html').css('overflow', '');\r\n\t\t\t} else {\r\n\t\t\t\twindowStyles.overflow = '';\r\n\t\t\t}\r\n\t\t\t$('html').css(windowStyles);\r\n\t\t}\r\n\t\t\r\n\t\t_document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);\r\n\t\tmfp.ev.off(EVENT_NS);\r\n\r\n\t\t// clean up DOM elements that aren't removed\r\n\t\tmfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');\r\n\t\tmfp.bgOverlay.attr('class', 'mfp-bg');\r\n\t\tmfp.container.attr('class', 'mfp-container');\r\n\r\n\t\t// remove close button from target element\r\n\t\tif(mfp.st.showCloseBtn &&\r\n\t\t(!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {\r\n\t\t\tif(mfp.currTemplate.closeBtn)\r\n\t\t\t\tmfp.currTemplate.closeBtn.detach();\r\n\t\t}\r\n\r\n\r\n\t\tif(mfp._lastFocusedEl) {\r\n\t\t\t$(mfp._lastFocusedEl).focus(); // put tab focus back\r\n\t\t}\r\n\t\tmfp.currItem = null;\t\r\n\t\tmfp.content = null;\r\n\t\tmfp.currTemplate = null;\r\n\t\tmfp.prevHeight = 0;\r\n\r\n\t\t_mfpTrigger(AFTER_CLOSE_EVENT);\r\n\t},\r\n\t\r\n\tupdateSize: function(winHeight) {\r\n\r\n\t\tif(mfp.isIOS) {\r\n\t\t\t// fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2\r\n\t\t\tvar zoomLevel = document.documentElement.clientWidth / window.innerWidth;\r\n\t\t\tvar height = window.innerHeight * zoomLevel;\r\n\t\t\tmfp.wrap.css('height', height);\r\n\t\t\tmfp.wH = height;\r\n\t\t} else {\r\n\t\t\tmfp.wH = winHeight || _window.height();\r\n\t\t}\r\n\t\t// Fixes #84: popup incorrectly positioned with position:relative on body\r\n\t\tif(!mfp.fixedContentPos) {\r\n\t\t\tmfp.wrap.css('height', mfp.wH);\r\n\t\t}\r\n\r\n\t\t_mfpTrigger('Resize');\r\n\r\n\t},\r\n\r\n\t/**\r\n\t * Set content of popup based on current index\r\n\t */\r\n\tupdateItemHTML: function() {\r\n\t\tvar item = mfp.items[mfp.index];\r\n\r\n\t\t// Detach and perform modifications\r\n\t\tmfp.contentContainer.detach();\r\n\r\n\t\tif(mfp.content)\r\n\t\t\tmfp.content.detach();\r\n\r\n\t\tif(!item.parsed) {\r\n\t\t\titem = mfp.parseEl( mfp.index );\r\n\t\t}\r\n\r\n\t\tvar type = item.type;\t\r\n\r\n\t\t_mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);\r\n\t\t// BeforeChange event works like so:\r\n\t\t// _mfpOn('BeforeChange', function(e, prevType, newType) { });\r\n\t\t\r\n\t\tmfp.currItem = item;\r\n\r\n\t\t\r\n\r\n\t\t\r\n\r\n\t\tif(!mfp.currTemplate[type]) {\r\n\t\t\tvar markup = mfp.st[type] ? mfp.st[type].markup : false;\r\n\r\n\t\t\t// allows to modify markup\r\n\t\t\t_mfpTrigger('FirstMarkupParse', markup);\r\n\r\n\t\t\tif(markup) {\r\n\t\t\t\tmfp.currTemplate[type] = $(markup);\r\n\t\t\t} else {\r\n\t\t\t\t// if there is no markup found we just define that template is parsed\r\n\t\t\t\tmfp.currTemplate[type] = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(_prevContentType && _prevContentType !== item.type) {\r\n\t\t\tmfp.container.removeClass('mfp-'+_prevContentType+'-holder');\r\n\t\t}\r\n\t\t\r\n\t\tvar newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);\r\n\t\tmfp.appendContent(newContent, type);\r\n\r\n\t\titem.preloaded = true;\r\n\r\n\t\t_mfpTrigger(CHANGE_EVENT, item);\r\n\t\t_prevContentType = item.type;\r\n\t\t\r\n\t\t// Append container back after its content changed\r\n\t\tmfp.container.prepend(mfp.contentContainer);\r\n\r\n\t\t_mfpTrigger('AfterChange');\r\n\t},\r\n\r\n\r\n\t/**\r\n\t * Set HTML content of popup\r\n\t */\r\n\tappendContent: function(newContent, type) {\r\n\t\tmfp.content = newContent;\r\n\t\t\r\n\t\tif(newContent) {\r\n\t\t\tif(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&\r\n\t\t\t\tmfp.currTemplate[type] === true) {\r\n\t\t\t\t// if there is no markup, we just append close button element inside\r\n\t\t\t\tif(!mfp.content.find('.mfp-close').length) {\r\n\t\t\t\t\tmfp.content.append(_getCloseBtn());\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmfp.content = newContent;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmfp.content = '';\r\n\t\t}\r\n\r\n\t\t_mfpTrigger(BEFORE_APPEND_EVENT);\r\n\t\tmfp.container.addClass('mfp-'+type+'-holder');\r\n\r\n\t\tmfp.contentContainer.append(mfp.content);\r\n\t},\r\n\r\n\r\n\r\n\t\r\n\t/**\r\n\t * Creates Magnific Popup data object based on given data\r\n\t * @param {int} index Index of item to parse\r\n\t */\r\n\tparseEl: function(index) {\r\n\t\tvar item = mfp.items[index],\r\n\t\t\ttype;\r\n\r\n\t\tif(item.tagName) {\r\n\t\t\titem = { el: $(item) };\r\n\t\t} else {\r\n\t\t\ttype = item.type;\r\n\t\t\titem = { data: item, src: item.src };\r\n\t\t}\r\n\r\n\t\tif(item.el) {\r\n\t\t\tvar types = mfp.types;\r\n\r\n\t\t\t// check for 'mfp-TYPE' class\r\n\t\t\tfor(var i = 0; i < types.length; i++) {\r\n\t\t\t\tif( item.el.hasClass('mfp-'+types[i]) ) {\r\n\t\t\t\t\ttype = types[i];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\titem.src = item.el.attr('data-mfp-src');\r\n\t\t\tif(!item.src) {\r\n\t\t\t\titem.src = item.el.attr('href');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\titem.type = type || mfp.st.type || 'inline';\r\n\t\titem.index = index;\r\n\t\titem.parsed = true;\r\n\t\tmfp.items[index] = item;\r\n\t\t_mfpTrigger('ElementParse', item);\r\n\r\n\t\treturn mfp.items[index];\r\n\t},\r\n\r\n\r\n\t/**\r\n\t * Initializes single popup or a group of popups\r\n\t */\r\n\taddGroup: function(el, options) {\r\n\t\tvar eHandler = function(e) {\r\n\t\t\te.mfpEl = this;\r\n\t\t\tmfp._openClick(e, el, options);\r\n\t\t};\r\n\r\n\t\tif(!options) {\r\n\t\t\toptions = {};\r\n\t\t} \r\n\r\n\t\tvar eName = 'click.magnificPopup';\r\n\t\toptions.mainEl = el;\r\n\t\t\r\n\t\tif(options.items) {\r\n\t\t\toptions.isObj = true;\r\n\t\t\tel.off(eName).on(eName, eHandler);\r\n\t\t} else {\r\n\t\t\toptions.isObj = false;\r\n\t\t\tif(options.delegate) {\r\n\t\t\t\tel.off(eName).on(eName, options.delegate , eHandler);\r\n\t\t\t} else {\r\n\t\t\t\toptions.items = el;\r\n\t\t\t\tel.off(eName).on(eName, eHandler);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t_openClick: function(e, el, options) {\r\n\t\tvar midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;\r\n\r\n\r\n\t\tif(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;\r\n\r\n\t\tif(disableOn) {\r\n\t\t\tif($.isFunction(disableOn)) {\r\n\t\t\t\tif( !disableOn.call(mfp) ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t} else { // else it's number\r\n\t\t\t\tif( _window.width() < disableOn ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tif(e.type) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\t// This will prevent popup from closing if element is inside and popup is already opened\r\n\t\t\tif(mfp.isOpen) {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t\r\n\r\n\t\toptions.el = $(e.mfpEl);\r\n\t\tif(options.delegate) {\r\n\t\t\toptions.items = el.find(options.delegate);\r\n\t\t}\r\n\t\tmfp.open(options);\r\n\t},\r\n\r\n\r\n\t/**\r\n\t * Updates text on preloader\r\n\t */\r\n\tupdateStatus: function(status, text) {\r\n\r\n\t\tif(mfp.preloader) {\r\n\t\t\tif(_prevStatus !== status) {\r\n\t\t\t\tmfp.container.removeClass('mfp-s-'+_prevStatus);\r\n\t\t\t}\r\n\r\n\t\t\tif(!text && status === 'loading') {\r\n\t\t\t\ttext = mfp.st.tLoading;\r\n\t\t\t}\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\tstatus: status,\r\n\t\t\t\ttext: text\r\n\t\t\t};\r\n\t\t\t// allows to modify status\r\n\t\t\t_mfpTrigger('UpdateStatus', data);\r\n\r\n\t\t\tstatus = data.status;\r\n\t\t\ttext = data.text;\r\n\r\n\t\t\tmfp.preloader.html(text);\r\n\r\n\t\t\tmfp.preloader.find('a').on('click', function(e) {\r\n\t\t\t\te.stopImmediatePropagation();\r\n\t\t\t});\r\n\r\n\t\t\tmfp.container.addClass('mfp-s-'+status);\r\n\t\t\t_prevStatus = status;\r\n\t\t}\r\n\t},\r\n\r\n\r\n\t/*\r\n\t\t\"Private\" helpers that aren't private at all\r\n\t */\r\n\t// Check to close popup or not\r\n\t// \"target\" is an element that was clicked\r\n\t_checkIfClose: function(target) {\r\n\t\tif($(target).hasClass(PREVENT_CLOSE_CLASS)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar closeOnContent = mfp.st.closeOnContentClick;\r\n\t\tvar closeOnBg = mfp.st.closeOnBgClick;\r\n\r\n\t\tif(closeOnContent && closeOnBg) {\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\r\n\t\t\t// We close the popup if click is on close button or on preloader. Or if there is no content.\r\n\t\t\tif(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\t// if click is outside the content\r\n\t\t\tif( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) {\r\n\t\t\t\tif(closeOnBg) {\r\n\t\t\t\t\t// last check, if the clicked element is in DOM, (in case it's removed onclick)\r\n\t\t\t\t\tif( $.contains(document, target) ) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if(closeOnContent) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\t_addClassToMFP: function(cName) {\r\n\t\tmfp.bgOverlay.addClass(cName);\r\n\t\tmfp.wrap.addClass(cName);\r\n\t},\r\n\t_removeClassFromMFP: function(cName) {\r\n\t\tthis.bgOverlay.removeClass(cName);\r\n\t\tmfp.wrap.removeClass(cName);\r\n\t},\r\n\t_hasScrollBar: function(winHeight) {\r\n\t\treturn ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );\r\n\t},\r\n\t_setFocus: function() {\r\n\t\t(mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();\r\n\t},\r\n\t_onFocusIn: function(e) {\r\n\t\tif( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {\r\n\t\t\tmfp._setFocus();\r\n\t\t\treturn false;\r\n\t\t}\r\n\t},\r\n\t_parseMarkup: function(template, values, item) {\r\n\t\tvar arr;\r\n\t\tif(item.data) {\r\n\t\t\tvalues = $.extend(item.data, values);\r\n\t\t}\r\n\t\t_mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );\r\n\r\n\t\t$.each(values, function(key, value) {\r\n\t\t\tif(value === undefined || value === false) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\tarr = key.split('_');\r\n\t\t\tif(arr.length > 1) {\r\n\t\t\t\tvar el = template.find(EVENT_NS + '-'+arr[0]);\r\n\r\n\t\t\t\tif(el.length > 0) {\r\n\t\t\t\t\tvar attr = arr[1];\r\n\t\t\t\t\tif(attr === 'replaceWith') {\r\n\t\t\t\t\t\tif(el[0] !== value[0]) {\r\n\t\t\t\t\t\t\tel.replaceWith(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if(attr === 'img') {\r\n\t\t\t\t\t\tif(el.is('img')) {\r\n\t\t\t\t\t\t\tel.attr('src', value);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tel.replaceWith( '' );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tel.attr(arr[1], value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\t\t\t\ttemplate.find(EVENT_NS + '-'+key).html(value);\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_getScrollbarSize: function() {\r\n\t\t// thx David\r\n\t\tif(mfp.scrollbarSize === undefined) {\r\n\t\t\tvar scrollDiv = document.createElement(\"div\");\r\n\t\t\tscrollDiv.id = \"mfp-sbm\";\r\n\t\t\tscrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';\r\n\t\t\tdocument.body.appendChild(scrollDiv);\r\n\t\t\tmfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n\t\t\tdocument.body.removeChild(scrollDiv);\r\n\t\t}\r\n\t\treturn mfp.scrollbarSize;\r\n\t}\r\n\r\n}; /* MagnificPopup core prototype end */\r\n\r\n\r\n\r\n\r\n/**\r\n * Public static functions\r\n */\r\n$.magnificPopup = {\r\n\tinstance: null,\r\n\tproto: MagnificPopup.prototype,\r\n\tmodules: [],\r\n\r\n\topen: function(options, index) {\r\n\t\t_checkInstance();\t\r\n\r\n\t\tif(!options) {\r\n\t\t\toptions = {};\r\n\t\t} else {\r\n\t\t\toptions = $.extend(true, {}, options);\r\n\t\t}\r\n\t\t\t\r\n\r\n\t\toptions.isObj = true;\r\n\t\toptions.index = index || 0;\r\n\t\treturn this.instance.open(options);\r\n\t},\r\n\r\n\tclose: function() {\r\n\t\treturn $.magnificPopup.instance && $.magnificPopup.instance.close();\r\n\t},\r\n\r\n\tregisterModule: function(name, module) {\r\n\t\tif(module.options) {\r\n\t\t\t$.magnificPopup.defaults[name] = module.options;\r\n\t\t}\r\n\t\t$.extend(this.proto, module.proto);\t\t\t\r\n\t\tthis.modules.push(name);\r\n\t},\r\n\r\n\tdefaults: { \r\n\r\n\t\t// Info about options is in docs:\r\n\t\t// http://dimsemenov.com/plugins/magnific-popup/documentation.html#options\r\n\t\t\r\n\t\tdisableOn: 0,\t\r\n\r\n\t\tkey: null,\r\n\r\n\t\tmidClick: false,\r\n\r\n\t\tmainClass: '',\r\n\r\n\t\tpreloader: true,\r\n\r\n\t\tfocus: '', // CSS selector of input to focus after popup is opened\r\n\t\t\r\n\t\tcloseOnContentClick: false,\r\n\r\n\t\tcloseOnBgClick: true,\r\n\r\n\t\tcloseBtnInside: true, \r\n\r\n\t\tshowCloseBtn: true,\r\n\r\n\t\tenableEscapeKey: true,\r\n\r\n\t\tmodal: false,\r\n\r\n\t\talignTop: false,\r\n\t\r\n\t\tremovalDelay: 0,\r\n\r\n\t\tprependTo: null,\r\n\t\t\r\n\t\tfixedContentPos: 'auto', \r\n\t\r\n\t\tfixedBgPos: 'auto',\r\n\r\n\t\toverflowY: 'auto',\r\n\r\n\t\tcloseMarkup: '',\r\n\r\n\t\ttClose: 'Close (Esc)',\r\n\r\n\t\ttLoading: 'Loading...'\r\n\r\n\t}\r\n};\r\n\r\n\r\n\r\n$.fn.magnificPopup = function(options) {\r\n\t_checkInstance();\r\n\r\n\tvar jqEl = $(this);\r\n\r\n\t// We call some API method of first param is a string\r\n\tif (typeof options === \"string\" ) {\r\n\r\n\t\tif(options === 'open') {\r\n\t\t\tvar items,\r\n\t\t\t\titemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,\r\n\t\t\t\tindex = parseInt(arguments[1], 10) || 0;\r\n\r\n\t\t\tif(itemOpts.items) {\r\n\t\t\t\titems = itemOpts.items[index];\r\n\t\t\t} else {\r\n\t\t\t\titems = jqEl;\r\n\t\t\t\tif(itemOpts.delegate) {\r\n\t\t\t\t\titems = items.find(itemOpts.delegate);\r\n\t\t\t\t}\r\n\t\t\t\titems = items.eq( index );\r\n\t\t\t}\r\n\t\t\tmfp._openClick({mfpEl:items}, jqEl, itemOpts);\r\n\t\t} else {\r\n\t\t\tif(mfp.isOpen)\r\n\t\t\t\tmfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));\r\n\t\t}\r\n\r\n\t} else {\r\n\t\t// clone options obj\r\n\t\toptions = $.extend(true, {}, options);\r\n\t\t\r\n\t\t/*\r\n\t\t * As Zepto doesn't support .data() method for objects \r\n\t\t * and it works only in normal browsers\r\n\t\t * we assign \"options\" object directly to the DOM element. FTW!\r\n\t\t */\r\n\t\tif(_isJQ) {\r\n\t\t\tjqEl.data('magnificPopup', options);\r\n\t\t} else {\r\n\t\t\tjqEl[0].magnificPopup = options;\r\n\t\t}\r\n\r\n\t\tmfp.addGroup(jqEl, options);\r\n\r\n\t}\r\n\treturn jqEl;\r\n};\r\n\r\n\r\n//Quick benchmark\r\n/*\r\nvar start = performance.now(),\r\n\ti,\r\n\trounds = 1000;\r\n\r\nfor(i = 0; i < rounds; i++) {\r\n\r\n}\r\nconsole.log('Test #1:', performance.now() - start);\r\n\r\nstart = performance.now();\r\nfor(i = 0; i < rounds; i++) {\r\n\r\n}\r\nconsole.log('Test #2:', performance.now() - start);\r\n*/\r\n\r\n\r\n/*>>core*/\r\n\r\n/*>>inline*/\r\n\r\nvar INLINE_NS = 'inline',\r\n\t_hiddenClass,\r\n\t_inlinePlaceholder, \r\n\t_lastInlineElement,\r\n\t_putInlineElementsBack = function() {\r\n\t\tif(_lastInlineElement) {\r\n\t\t\t_inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();\r\n\t\t\t_lastInlineElement = null;\r\n\t\t}\r\n\t};\r\n\r\n$.magnificPopup.registerModule(INLINE_NS, {\r\n\toptions: {\r\n\t\thiddenClass: 'hide', // will be appended with `mfp-` prefix\r\n\t\tmarkup: '',\r\n\t\ttNotFound: 'Content not found'\r\n\t},\r\n\tproto: {\r\n\r\n\t\tinitInline: function() {\r\n\t\t\tmfp.types.push(INLINE_NS);\r\n\r\n\t\t\t_mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {\r\n\t\t\t\t_putInlineElementsBack();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tgetInline: function(item, template) {\r\n\r\n\t\t\t_putInlineElementsBack();\r\n\r\n\t\t\tif(item.src) {\r\n\t\t\t\tvar inlineSt = mfp.st.inline,\r\n\t\t\t\t\tel = $(item.src);\r\n\r\n\t\t\t\tif(el.length) {\r\n\r\n\t\t\t\t\t// If target element has parent - we replace it with placeholder and put it back after popup is closed\r\n\t\t\t\t\tvar parent = el[0].parentNode;\r\n\t\t\t\t\tif(parent && parent.tagName) {\r\n\t\t\t\t\t\tif(!_inlinePlaceholder) {\r\n\t\t\t\t\t\t\t_hiddenClass = inlineSt.hiddenClass;\r\n\t\t\t\t\t\t\t_inlinePlaceholder = _getEl(_hiddenClass);\r\n\t\t\t\t\t\t\t_hiddenClass = 'mfp-'+_hiddenClass;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// replace target inline element with placeholder\r\n\t\t\t\t\t\t_lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmfp.updateStatus('error', inlineSt.tNotFound);\r\n\t\t\t\t\tel = $('
');\r\n\t\t\t\t}\r\n\r\n\t\t\t\titem.inlineElement = el;\r\n\t\t\t\treturn el;\r\n\t\t\t}\r\n\r\n\t\t\tmfp.updateStatus('ready');\r\n\t\t\tmfp._parseMarkup(template, {}, item);\r\n\t\t\treturn template;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/*>>inline*/\r\n\r\n/*>>ajax*/\r\nvar AJAX_NS = 'ajax',\r\n\t_ajaxCur,\r\n\t_removeAjaxCursor = function() {\r\n\t\tif(_ajaxCur) {\r\n\t\t\t_body.removeClass(_ajaxCur);\r\n\t\t}\r\n\t},\r\n\t_destroyAjaxRequest = function() {\r\n\t\t_removeAjaxCursor();\r\n\t\tif(mfp.req) {\r\n\t\t\tmfp.req.abort();\r\n\t\t}\r\n\t};\r\n\r\n$.magnificPopup.registerModule(AJAX_NS, {\r\n\r\n\toptions: {\r\n\t\tsettings: null,\r\n\t\tcursor: 'mfp-ajax-cur',\r\n\t\ttError: 'The content could not be loaded.'\r\n\t},\r\n\r\n\tproto: {\r\n\t\tinitAjax: function() {\r\n\t\t\tmfp.types.push(AJAX_NS);\r\n\t\t\t_ajaxCur = mfp.st.ajax.cursor;\r\n\r\n\t\t\t_mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);\r\n\t\t\t_mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);\r\n\t\t},\r\n\t\tgetAjax: function(item) {\r\n\r\n\t\t\tif(_ajaxCur)\r\n\t\t\t\t_body.addClass(_ajaxCur);\r\n\r\n\t\t\tmfp.updateStatus('loading');\r\n\r\n\t\t\tvar opts = $.extend({\r\n\t\t\t\turl: item.src,\r\n\t\t\t\tsuccess: function(data, textStatus, jqXHR) {\r\n\t\t\t\t\tvar temp = {\r\n\t\t\t\t\t\tdata:data,\r\n\t\t\t\t\t\txhr:jqXHR\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\t_mfpTrigger('ParseAjax', temp);\r\n\r\n\t\t\t\t\tmfp.appendContent( $(temp.data), AJAX_NS );\r\n\r\n\t\t\t\t\titem.finished = true;\r\n\r\n\t\t\t\t\t_removeAjaxCursor();\r\n\r\n\t\t\t\t\tmfp._setFocus();\r\n\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tmfp.wrap.addClass(READY_CLASS);\r\n\t\t\t\t\t}, 16);\r\n\r\n\t\t\t\t\tmfp.updateStatus('ready');\r\n\r\n\t\t\t\t\t_mfpTrigger('AjaxContentAdded');\r\n\t\t\t\t},\r\n\t\t\t\terror: function() {\r\n\t\t\t\t\t_removeAjaxCursor();\r\n\t\t\t\t\titem.finished = item.loadError = true;\r\n\t\t\t\t\tmfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));\r\n\t\t\t\t}\r\n\t\t\t}, mfp.st.ajax.settings);\r\n\r\n\t\t\tmfp.req = $.ajax(opts);\r\n\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\t\r\n\r\n/*>>ajax*/\r\n\r\n/*>>image*/\r\nvar _imgInterval,\r\n\t_getTitle = function(item) {\r\n\t\tif(item.data && item.data.title !== undefined) \r\n\t\t\treturn item.data.title;\r\n\r\n\t\tvar src = mfp.st.image.titleSrc;\r\n\r\n\t\tif(src) {\r\n\t\t\tif($.isFunction(src)) {\r\n\t\t\t\treturn src.call(mfp, item);\r\n\t\t\t} else if(item.el) {\r\n\t\t\t\treturn item.el.attr(src) || '';\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '';\r\n\t};\r\n\r\n$.magnificPopup.registerModule('image', {\r\n\r\n\toptions: {\r\n\t\tmarkup: '
'+\r\n\t\t\t\t\t'
'+\r\n\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t'
'+\r\n\t\t\t\t'
',\r\n\t\tcursor: 'mfp-zoom-out-cur',\r\n\t\ttitleSrc: 'title', \r\n\t\tverticalFit: true,\r\n\t\ttError: 'The image could not be loaded.'\r\n\t},\r\n\r\n\tproto: {\r\n\t\tinitImage: function() {\r\n\t\t\tvar imgSt = mfp.st.image,\r\n\t\t\t\tns = '.image';\r\n\r\n\t\t\tmfp.types.push('image');\r\n\r\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\r\n\t\t\t\tif(mfp.currItem.type === 'image' && imgSt.cursor) {\r\n\t\t\t\t\t_body.addClass(imgSt.cursor);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\r\n\t\t\t\tif(imgSt.cursor) {\r\n\t\t\t\t\t_body.removeClass(imgSt.cursor);\r\n\t\t\t\t}\r\n\t\t\t\t_window.off('resize' + EVENT_NS);\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn('Resize'+ns, mfp.resizeImage);\r\n\t\t\tif(mfp.isLowIE) {\r\n\t\t\t\t_mfpOn('AfterChange', mfp.resizeImage);\r\n\t\t\t}\r\n\t\t},\r\n\t\tresizeImage: function() {\r\n\t\t\tvar item = mfp.currItem;\r\n\t\t\tif(!item || !item.img) return;\r\n\r\n\t\t\tif(mfp.st.image.verticalFit) {\r\n\t\t\t\tvar decr = 0;\r\n\t\t\t\t// fix box-sizing in ie7/8\r\n\t\t\t\tif(mfp.isLowIE) {\r\n\t\t\t\t\tdecr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);\r\n\t\t\t\t}\r\n\t\t\t\titem.img.css('max-height', mfp.wH-decr);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_onImageHasSize: function(item) {\r\n\t\t\tif(item.img) {\r\n\t\t\t\t\r\n\t\t\t\titem.hasSize = true;\r\n\r\n\t\t\t\tif(_imgInterval) {\r\n\t\t\t\t\tclearInterval(_imgInterval);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\titem.isCheckingImgSize = false;\r\n\r\n\t\t\t\t_mfpTrigger('ImageHasSize', item);\r\n\r\n\t\t\t\tif(item.imgHidden) {\r\n\t\t\t\t\tif(mfp.content)\r\n\t\t\t\t\t\tmfp.content.removeClass('mfp-loading');\r\n\t\t\t\t\t\r\n\t\t\t\t\titem.imgHidden = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Function that loops until the image has size to display elements that rely on it asap\r\n\t\t */\r\n\t\tfindImageSize: function(item) {\r\n\r\n\t\t\tvar counter = 0,\r\n\t\t\t\timg = item.img[0],\r\n\t\t\t\tmfpSetInterval = function(delay) {\r\n\r\n\t\t\t\t\tif(_imgInterval) {\r\n\t\t\t\t\t\tclearInterval(_imgInterval);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// decelerating interval that checks for size of an image\r\n\t\t\t\t\t_imgInterval = setInterval(function() {\r\n\t\t\t\t\t\tif(img.naturalWidth > 0) {\r\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(counter > 200) {\r\n\t\t\t\t\t\t\tclearInterval(_imgInterval);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tcounter++;\r\n\t\t\t\t\t\tif(counter === 3) {\r\n\t\t\t\t\t\t\tmfpSetInterval(10);\r\n\t\t\t\t\t\t} else if(counter === 40) {\r\n\t\t\t\t\t\t\tmfpSetInterval(50);\r\n\t\t\t\t\t\t} else if(counter === 100) {\r\n\t\t\t\t\t\t\tmfpSetInterval(500);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, delay);\r\n\t\t\t\t};\r\n\r\n\t\t\tmfpSetInterval(1);\r\n\t\t},\r\n\r\n\t\tgetImage: function(item, template) {\r\n\r\n\t\t\tvar guard = 0,\r\n\r\n\t\t\t\t// image load complete handler\r\n\t\t\t\tonLoadComplete = function() {\r\n\t\t\t\t\tif(item) {\r\n\t\t\t\t\t\tif (item.img[0].complete) {\r\n\t\t\t\t\t\t\titem.img.off('.mfploader');\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tif(item === mfp.currItem){\r\n\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\r\n\r\n\t\t\t\t\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t\t\titem.loaded = true;\r\n\r\n\t\t\t\t\t\t\t_mfpTrigger('ImageLoadComplete');\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t// if image complete check fails 200 times (20 sec), we assume that there was an error.\r\n\t\t\t\t\t\t\tguard++;\r\n\t\t\t\t\t\t\tif(guard < 200) {\r\n\t\t\t\t\t\t\t\tsetTimeout(onLoadComplete,100);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tonLoadError();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// image error handler\r\n\t\t\t\tonLoadError = function() {\r\n\t\t\t\t\tif(item) {\r\n\t\t\t\t\t\titem.img.off('.mfploader');\r\n\t\t\t\t\t\tif(item === mfp.currItem){\r\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\r\n\t\t\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\t\titem.loaded = true;\r\n\t\t\t\t\t\titem.loadError = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\timgSt = mfp.st.image;\r\n\r\n\r\n\t\t\tvar el = template.find('.mfp-img');\r\n\t\t\tif(el.length) {\r\n\t\t\t\tvar img = document.createElement('img');\r\n\t\t\t\timg.className = 'mfp-img';\r\n\t\t\t\titem.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);\r\n\t\t\t\timg.src = item.src;\r\n\r\n\t\t\t\t// without clone() \"error\" event is not firing when IMG is replaced by new IMG\r\n\t\t\t\t// TODO: find a way to avoid such cloning\r\n\t\t\t\tif(el.is('img')) {\r\n\t\t\t\t\titem.img = item.img.clone();\r\n\t\t\t\t}\r\n\r\n\t\t\t\timg = item.img[0];\r\n\t\t\t\tif(img.naturalWidth > 0) {\r\n\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t} else if(!img.width) {\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\titem.hasSize = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tmfp._parseMarkup(template, {\r\n\t\t\t\ttitle: _getTitle(item),\r\n\t\t\t\timg_replaceWith: item.img\r\n\t\t\t}, item);\r\n\r\n\t\t\tmfp.resizeImage();\r\n\r\n\t\t\tif(item.hasSize) {\r\n\t\t\t\tif(_imgInterval) clearInterval(_imgInterval);\r\n\r\n\t\t\t\tif(item.loadError) {\r\n\t\t\t\t\ttemplate.addClass('mfp-loading');\r\n\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttemplate.removeClass('mfp-loading');\r\n\t\t\t\t\tmfp.updateStatus('ready');\r\n\t\t\t\t}\r\n\t\t\t\treturn template;\r\n\t\t\t}\r\n\r\n\t\t\tmfp.updateStatus('loading');\r\n\t\t\titem.loading = true;\r\n\r\n\t\t\tif(!item.hasSize) {\r\n\t\t\t\titem.imgHidden = true;\r\n\t\t\t\ttemplate.addClass('mfp-loading');\r\n\t\t\t\tmfp.findImageSize(item);\r\n\t\t\t} \r\n\r\n\t\t\treturn template;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\n\r\n/*>>image*/\r\n\r\n/*>>zoom*/\r\nvar hasMozTransform,\r\n\tgetHasMozTransform = function() {\r\n\t\tif(hasMozTransform === undefined) {\r\n\t\t\thasMozTransform = document.createElement('p').style.MozTransform !== undefined;\r\n\t\t}\r\n\t\treturn hasMozTransform;\t\t\r\n\t};\r\n\r\n$.magnificPopup.registerModule('zoom', {\r\n\r\n\toptions: {\r\n\t\tenabled: false,\r\n\t\teasing: 'ease-in-out',\r\n\t\tduration: 300,\r\n\t\topener: function(element) {\r\n\t\t\treturn element.is('img') ? element : element.find('img');\r\n\t\t}\r\n\t},\r\n\r\n\tproto: {\r\n\r\n\t\tinitZoom: function() {\r\n\t\t\tvar zoomSt = mfp.st.zoom,\r\n\t\t\t\tns = '.zoom',\r\n\t\t\t\timage;\r\n\t\t\t\t\r\n\t\t\tif(!zoomSt.enabled || !mfp.supportsTransition) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar duration = zoomSt.duration,\r\n\t\t\t\tgetElToAnimate = function(image) {\r\n\t\t\t\t\tvar newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),\r\n\t\t\t\t\t\ttransition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,\r\n\t\t\t\t\t\tcssObj = {\r\n\t\t\t\t\t\t\tposition: 'fixed',\r\n\t\t\t\t\t\t\tzIndex: 9999,\r\n\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\t\t'-webkit-backface-visibility': 'hidden'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tt = 'transition';\r\n\r\n\t\t\t\t\tcssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;\r\n\r\n\t\t\t\t\tnewImg.css(cssObj);\r\n\t\t\t\t\treturn newImg;\r\n\t\t\t\t},\r\n\t\t\t\tshowMainContent = function() {\r\n\t\t\t\t\tmfp.content.css('visibility', 'visible');\r\n\t\t\t\t},\r\n\t\t\t\topenTimeout,\r\n\t\t\t\tanimatedImg;\r\n\r\n\t\t\t_mfpOn('BuildControls'+ns, function() {\r\n\t\t\t\tif(mfp._allowZoom()) {\r\n\r\n\t\t\t\t\tclearTimeout(openTimeout);\r\n\t\t\t\t\tmfp.content.css('visibility', 'hidden');\r\n\r\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\r\n\t\t\t\t\t\r\n\t\t\t\t\timage = mfp._getItemToZoom();\r\n\r\n\t\t\t\t\tif(!image) {\r\n\t\t\t\t\t\tshowMainContent();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tanimatedImg = getElToAnimate(image); \r\n\t\t\t\t\t\r\n\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\r\n\r\n\t\t\t\t\tmfp.wrap.append(animatedImg);\r\n\r\n\t\t\t\t\topenTimeout = setTimeout(function() {\r\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset( true ) );\r\n\t\t\t\t\t\topenTimeout = setTimeout(function() {\r\n\r\n\t\t\t\t\t\t\tshowMainContent();\r\n\r\n\t\t\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\t\t\tanimatedImg.remove();\r\n\t\t\t\t\t\t\t\timage = animatedImg = null;\r\n\t\t\t\t\t\t\t\t_mfpTrigger('ZoomAnimationEnded');\r\n\t\t\t\t\t\t\t}, 16); // avoid blink when switching images \r\n\r\n\t\t\t\t\t\t}, duration); // this timeout equals animation duration\r\n\r\n\t\t\t\t\t}, 16); // by adding this timeout we avoid short glitch at the beginning of animation\r\n\r\n\r\n\t\t\t\t\t// Lots of timeouts...\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t_mfpOn(BEFORE_CLOSE_EVENT+ns, function() {\r\n\t\t\t\tif(mfp._allowZoom()) {\r\n\r\n\t\t\t\t\tclearTimeout(openTimeout);\r\n\r\n\t\t\t\t\tmfp.st.removalDelay = duration;\r\n\r\n\t\t\t\t\tif(!image) {\r\n\t\t\t\t\t\timage = mfp._getItemToZoom();\r\n\t\t\t\t\t\tif(!image) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tanimatedImg = getElToAnimate(image);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tanimatedImg.css( mfp._getOffset(true) );\r\n\t\t\t\t\tmfp.wrap.append(animatedImg);\r\n\t\t\t\t\tmfp.content.css('visibility', 'hidden');\r\n\t\t\t\t\t\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\r\n\t\t\t\t\t}, 16);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\r\n\t\t\t\tif(mfp._allowZoom()) {\r\n\t\t\t\t\tshowMainContent();\r\n\t\t\t\t\tif(animatedImg) {\r\n\t\t\t\t\t\tanimatedImg.remove();\r\n\t\t\t\t\t}\r\n\t\t\t\t\timage = null;\r\n\t\t\t\t}\t\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\t_allowZoom: function() {\r\n\t\t\treturn mfp.currItem.type === 'image';\r\n\t\t},\r\n\r\n\t\t_getItemToZoom: function() {\r\n\t\t\tif(mfp.currItem.hasSize) {\r\n\t\t\t\treturn mfp.currItem.img;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// Get element postion relative to viewport\r\n\t\t_getOffset: function(isLarge) {\r\n\t\t\tvar el;\r\n\t\t\tif(isLarge) {\r\n\t\t\t\tel = mfp.currItem.img;\r\n\t\t\t} else {\r\n\t\t\t\tel = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);\r\n\t\t\t}\r\n\r\n\t\t\tvar offset = el.offset();\r\n\t\t\tvar paddingTop = parseInt(el.css('padding-top'),10);\r\n\t\t\tvar paddingBottom = parseInt(el.css('padding-bottom'),10);\r\n\t\t\toffset.top -= ( $(window).scrollTop() - paddingTop );\r\n\r\n\r\n\t\t\t/*\r\n\t\t\t\r\n\t\t\tAnimating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.\r\n\r\n\t\t\t */\r\n\t\t\tvar obj = {\r\n\t\t\t\twidth: el.width(),\r\n\t\t\t\t// fix Zepto height+padding issue\r\n\t\t\t\theight: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop\r\n\t\t\t};\r\n\r\n\t\t\t// I hate to do this, but there is no another option\r\n\t\t\tif( getHasMozTransform() ) {\r\n\t\t\t\tobj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';\r\n\t\t\t} else {\r\n\t\t\t\tobj.left = offset.left;\r\n\t\t\t\tobj.top = offset.top;\r\n\t\t\t}\r\n\t\t\treturn obj;\r\n\t\t}\r\n\r\n\t}\r\n});\r\n\r\n\r\n\r\n/*>>zoom*/\r\n\r\n/*>>iframe*/\r\n\r\nvar IFRAME_NS = 'iframe',\r\n\t_emptyPage = '//about:blank',\r\n\t\r\n\t_fixIframeBugs = function(isShowing) {\r\n\t\tif(mfp.currTemplate[IFRAME_NS]) {\r\n\t\t\tvar el = mfp.currTemplate[IFRAME_NS].find('iframe');\r\n\t\t\tif(el.length) { \r\n\t\t\t\t// reset src after the popup is closed to avoid \"video keeps playing after popup is closed\" bug\r\n\t\t\t\tif(!isShowing) {\r\n\t\t\t\t\tel[0].src = _emptyPage;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// IE8 black screen bug fix\r\n\t\t\t\tif(mfp.isIE8) {\r\n\t\t\t\t\tel.css('display', isShowing ? 'block' : 'none');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n$.magnificPopup.registerModule(IFRAME_NS, {\r\n\r\n\toptions: {\r\n\t\tmarkup: '
'+\r\n\t\t\t\t\t'
'+\r\n\t\t\t\t\t''+\r\n\t\t\t\t'
',\r\n\r\n\t\tsrcAction: 'iframe_src',\r\n\r\n\t\t// we don't care and support only one default type of URL by default\r\n\t\tpatterns: {\r\n\t\t\tyoutube: {\r\n\t\t\t\tindex: 'youtube.com', \r\n\t\t\t\tid: 'v=', \r\n\t\t\t\tsrc: '//www.youtube.com/embed/%id%?autoplay=1'\r\n\t\t\t},\r\n\t\t\tvimeo: {\r\n\t\t\t\tindex: 'vimeo.com/',\r\n\t\t\t\tid: '/',\r\n\t\t\t\tsrc: '//player.vimeo.com/video/%id%?autoplay=1'\r\n\t\t\t},\r\n\t\t\tgmaps: {\r\n\t\t\t\tindex: '//maps.google.',\r\n\t\t\t\tsrc: '%id%&output=embed'\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tproto: {\r\n\t\tinitIframe: function() {\r\n\t\t\tmfp.types.push(IFRAME_NS);\r\n\r\n\t\t\t_mfpOn('BeforeChange', function(e, prevType, newType) {\r\n\t\t\t\tif(prevType !== newType) {\r\n\t\t\t\t\tif(prevType === IFRAME_NS) {\r\n\t\t\t\t\t\t_fixIframeBugs(); // iframe if removed\r\n\t\t\t\t\t} else if(newType === IFRAME_NS) {\r\n\t\t\t\t\t\t_fixIframeBugs(true); // iframe is showing\r\n\t\t\t\t\t} \r\n\t\t\t\t}// else {\r\n\t\t\t\t\t// iframe source is switched, don't do anything\r\n\t\t\t\t//}\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {\r\n\t\t\t\t_fixIframeBugs();\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tgetIframe: function(item, template) {\r\n\t\t\tvar embedSrc = item.src;\r\n\t\t\tvar iframeSt = mfp.st.iframe;\r\n\t\t\t\t\r\n\t\t\t$.each(iframeSt.patterns, function() {\r\n\t\t\t\tif(embedSrc.indexOf( this.index ) > -1) {\r\n\t\t\t\t\tif(this.id) {\r\n\t\t\t\t\t\tif(typeof this.id === 'string') {\r\n\t\t\t\t\t\t\tembedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tembedSrc = this.id.call( this, embedSrc );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tembedSrc = this.src.replace('%id%', embedSrc );\r\n\t\t\t\t\treturn false; // break;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tvar dataObj = {};\r\n\t\t\tif(iframeSt.srcAction) {\r\n\t\t\t\tdataObj[iframeSt.srcAction] = embedSrc;\r\n\t\t\t}\r\n\t\t\tmfp._parseMarkup(template, dataObj, item);\r\n\r\n\t\t\tmfp.updateStatus('ready');\r\n\r\n\t\t\treturn template;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\n\r\n/*>>iframe*/\r\n\r\n/*>>gallery*/\r\n/**\r\n * Get looped index depending on number of slides\r\n */\r\nvar _getLoopedId = function(index) {\r\n\t\tvar numSlides = mfp.items.length;\r\n\t\tif(index > numSlides - 1) {\r\n\t\t\treturn index - numSlides;\r\n\t\t} else if(index < 0) {\r\n\t\t\treturn numSlides + index;\r\n\t\t}\r\n\t\treturn index;\r\n\t},\r\n\t_replaceCurrTotal = function(text, curr, total) {\r\n\t\treturn text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);\r\n\t};\r\n\r\n$.magnificPopup.registerModule('gallery', {\r\n\r\n\toptions: {\r\n\t\tenabled: false,\r\n\t\tarrowMarkup: '',\r\n\t\tpreload: [0,2],\r\n\t\tnavigateByImgClick: true,\r\n\t\tarrows: true,\r\n\r\n\t\ttPrev: 'Previous (Left arrow key)',\r\n\t\ttNext: 'Next (Right arrow key)',\r\n\t\ttCounter: '%curr% of %total%'\r\n\t},\r\n\r\n\tproto: {\r\n\t\tinitGallery: function() {\r\n\r\n\t\t\tvar gSt = mfp.st.gallery,\r\n\t\t\t\tns = '.mfp-gallery',\r\n\t\t\t\tsupportsFastClick = Boolean($.fn.mfpFastClick);\r\n\r\n\t\t\tmfp.direction = true; // true - next, false - prev\r\n\t\t\t\r\n\t\t\tif(!gSt || !gSt.enabled ) return false;\r\n\r\n\t\t\t_wrapClasses += ' mfp-gallery';\r\n\r\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\r\n\r\n\t\t\t\tif(gSt.navigateByImgClick) {\r\n\t\t\t\t\tmfp.wrap.on('click'+ns, '.mfp-img', function() {\r\n\t\t\t\t\t\tif(mfp.items.length > 1) {\r\n\t\t\t\t\t\t\tmfp.next();\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_document.on('keydown'+ns, function(e) {\r\n\t\t\t\t\tif (e.keyCode === 37) {\r\n\t\t\t\t\t\tmfp.prev();\r\n\t\t\t\t\t} else if (e.keyCode === 39) {\r\n\t\t\t\t\t\tmfp.next();\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_mfpOn('UpdateStatus'+ns, function(e, data) {\r\n\t\t\t\tif(data.text) {\r\n\t\t\t\t\tdata.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {\r\n\t\t\t\tvar l = mfp.items.length;\r\n\t\t\t\tvalues.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn('BuildControls' + ns, function() {\r\n\t\t\t\tif(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {\r\n\t\t\t\t\tvar markup = gSt.arrowMarkup,\r\n\t\t\t\t\t\tarrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),\t\t\t\r\n\t\t\t\t\t\tarrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);\r\n\r\n\t\t\t\t\tvar eName = supportsFastClick ? 'mfpFastClick' : 'click';\r\n\t\t\t\t\tarrowLeft[eName](function() {\r\n\t\t\t\t\t\tmfp.prev();\r\n\t\t\t\t\t});\t\t\t\r\n\t\t\t\t\tarrowRight[eName](function() {\r\n\t\t\t\t\t\tmfp.next();\r\n\t\t\t\t\t});\t\r\n\r\n\t\t\t\t\t// Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b)\r\n\t\t\t\t\tif(mfp.isIE7) {\r\n\t\t\t\t\t\t_getEl('b', arrowLeft[0], false, true);\r\n\t\t\t\t\t\t_getEl('a', arrowLeft[0], false, true);\r\n\t\t\t\t\t\t_getEl('b', arrowRight[0], false, true);\r\n\t\t\t\t\t\t_getEl('a', arrowRight[0], false, true);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmfp.container.append(arrowLeft.add(arrowRight));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t_mfpOn(CHANGE_EVENT+ns, function() {\r\n\t\t\t\tif(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);\r\n\r\n\t\t\t\tmfp._preloadTimeout = setTimeout(function() {\r\n\t\t\t\t\tmfp.preloadNearbyImages();\r\n\t\t\t\t\tmfp._preloadTimeout = null;\r\n\t\t\t\t}, 16);\t\t\r\n\t\t\t});\r\n\r\n\r\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\r\n\t\t\t\t_document.off(ns);\r\n\t\t\t\tmfp.wrap.off('click'+ns);\r\n\t\t\t\r\n\t\t\t\tif(mfp.arrowLeft && supportsFastClick) {\r\n\t\t\t\t\tmfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();\r\n\t\t\t\t}\r\n\t\t\t\tmfp.arrowRight = mfp.arrowLeft = null;\r\n\t\t\t});\r\n\r\n\t\t}, \r\n\t\tnext: function() {\r\n\t\t\tmfp.direction = true;\r\n\t\t\tmfp.index = _getLoopedId(mfp.index + 1);\r\n\t\t\tmfp.updateItemHTML();\r\n\t\t},\r\n\t\tprev: function() {\r\n\t\t\tmfp.direction = false;\r\n\t\t\tmfp.index = _getLoopedId(mfp.index - 1);\r\n\t\t\tmfp.updateItemHTML();\r\n\t\t},\r\n\t\tgoTo: function(newIndex) {\r\n\t\t\tmfp.direction = (newIndex >= mfp.index);\r\n\t\t\tmfp.index = newIndex;\r\n\t\t\tmfp.updateItemHTML();\r\n\t\t},\r\n\t\tpreloadNearbyImages: function() {\r\n\t\t\tvar p = mfp.st.gallery.preload,\r\n\t\t\t\tpreloadBefore = Math.min(p[0], mfp.items.length),\r\n\t\t\t\tpreloadAfter = Math.min(p[1], mfp.items.length),\r\n\t\t\t\ti;\r\n\r\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {\r\n\t\t\t\tmfp._preloadItem(mfp.index+i);\r\n\t\t\t}\r\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {\r\n\t\t\t\tmfp._preloadItem(mfp.index-i);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_preloadItem: function(index) {\r\n\t\t\tindex = _getLoopedId(index);\r\n\r\n\t\t\tif(mfp.items[index].preloaded) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar item = mfp.items[index];\r\n\t\t\tif(!item.parsed) {\r\n\t\t\t\titem = mfp.parseEl( index );\r\n\t\t\t}\r\n\r\n\t\t\t_mfpTrigger('LazyLoad', item);\r\n\r\n\t\t\tif(item.type === 'image') {\r\n\t\t\t\titem.img = $('').on('load.mfploader', function() {\r\n\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t}).on('error.mfploader', function() {\r\n\t\t\t\t\titem.hasSize = true;\r\n\t\t\t\t\titem.loadError = true;\r\n\t\t\t\t\t_mfpTrigger('LazyLoadError', item);\r\n\t\t\t\t}).attr('src', item.src);\r\n\t\t\t}\r\n\r\n\r\n\t\t\titem.preloaded = true;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/*\r\nTouch Support that might be implemented some day\r\n\r\naddSwipeGesture: function() {\r\n\tvar startX,\r\n\t\tmoved,\r\n\t\tmultipleTouches;\r\n\r\n\t\treturn;\r\n\r\n\tvar namespace = '.mfp',\r\n\t\taddEventNames = function(pref, down, move, up, cancel) {\r\n\t\t\tmfp._tStart = pref + down + namespace;\r\n\t\t\tmfp._tMove = pref + move + namespace;\r\n\t\t\tmfp._tEnd = pref + up + namespace;\r\n\t\t\tmfp._tCancel = pref + cancel + namespace;\r\n\t\t};\r\n\r\n\tif(window.navigator.msPointerEnabled) {\r\n\t\taddEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel');\r\n\t} else if('ontouchstart' in window) {\r\n\t\taddEventNames('touch', 'start', 'move', 'end', 'cancel');\r\n\t} else {\r\n\t\treturn;\r\n\t}\r\n\t_window.on(mfp._tStart, function(e) {\r\n\t\tvar oE = e.originalEvent;\r\n\t\tmultipleTouches = moved = false;\r\n\t\tstartX = oE.pageX || oE.changedTouches[0].pageX;\r\n\t}).on(mfp._tMove, function(e) {\r\n\t\tif(e.originalEvent.touches.length > 1) {\r\n\t\t\tmultipleTouches = e.originalEvent.touches.length;\r\n\t\t} else {\r\n\t\t\t//e.preventDefault();\r\n\t\t\tmoved = true;\r\n\t\t}\r\n\t}).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) {\r\n\t\tif(moved && !multipleTouches) {\r\n\t\t\tvar oE = e.originalEvent,\r\n\t\t\t\tdiff = startX - (oE.pageX || oE.changedTouches[0].pageX);\r\n\r\n\t\t\tif(diff > 20) {\r\n\t\t\t\tmfp.next();\r\n\t\t\t} else if(diff < -20) {\r\n\t\t\t\tmfp.prev();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n},\r\n*/\r\n\r\n\r\n/*>>gallery*/\r\n\r\n/*>>retina*/\r\n\r\nvar RETINA_NS = 'retina';\r\n\r\n$.magnificPopup.registerModule(RETINA_NS, {\r\n\toptions: {\r\n\t\treplaceSrc: function(item) {\r\n\t\t\treturn item.src.replace(/\\.\\w+$/, function(m) { return '@2x' + m; });\r\n\t\t},\r\n\t\tratio: 1 // Function or number. Set to 1 to disable.\r\n\t},\r\n\tproto: {\r\n\t\tinitRetina: function() {\r\n\t\t\tif(window.devicePixelRatio > 1) {\r\n\r\n\t\t\t\tvar st = mfp.st.retina,\r\n\t\t\t\t\tratio = st.ratio;\r\n\r\n\t\t\t\tratio = !isNaN(ratio) ? ratio : ratio();\r\n\r\n\t\t\t\tif(ratio > 1) {\r\n\t\t\t\t\t_mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {\r\n\t\t\t\t\t\titem.img.css({\r\n\t\t\t\t\t\t\t'max-width': item.img[0].naturalWidth / ratio,\r\n\t\t\t\t\t\t\t'width': '100%'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\t_mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {\r\n\t\t\t\t\t\titem.src = st.replaceSrc(item, ratio);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/*>>retina*/\r\n\r\n/*>>fastclick*/\r\n/**\r\n * FastClick event implementation. (removes 300ms delay on touch devices)\r\n * Based on https://developers.google.com/mobile/articles/fast_buttons\r\n *\r\n * You may use it outside the Magnific Popup by calling just:\r\n *\r\n * $('.your-el').mfpFastClick(function() {\r\n * console.log('Clicked!');\r\n * });\r\n *\r\n * To unbind:\r\n * $('.your-el').destroyMfpFastClick();\r\n * \r\n * \r\n * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound.\r\n * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick\r\n * \r\n */\r\n\r\n(function() {\r\n\tvar ghostClickDelay = 1000,\r\n\t\tsupportsTouch = 'ontouchstart' in window,\r\n\t\tunbindTouchMove = function() {\r\n\t\t\t_window.off('touchmove'+ns+' touchend'+ns);\r\n\t\t},\r\n\t\teName = 'mfpFastClick',\r\n\t\tns = '.'+eName;\r\n\r\n\r\n\t// As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way\r\n\t$.fn.mfpFastClick = function(callback) {\r\n\r\n\t\treturn $(this).each(function() {\r\n\r\n\t\t\tvar elem = $(this),\r\n\t\t\t\tlock;\r\n\r\n\t\t\tif( supportsTouch ) {\r\n\r\n\t\t\t\tvar timeout,\r\n\t\t\t\t\tstartX,\r\n\t\t\t\t\tstartY,\r\n\t\t\t\t\tpointerMoved,\r\n\t\t\t\t\tpoint,\r\n\t\t\t\t\tnumPointers;\r\n\r\n\t\t\t\telem.on('touchstart' + ns, function(e) {\r\n\t\t\t\t\tpointerMoved = false;\r\n\t\t\t\t\tnumPointers = 1;\r\n\r\n\t\t\t\t\tpoint = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0];\r\n\t\t\t\t\tstartX = point.clientX;\r\n\t\t\t\t\tstartY = point.clientY;\r\n\r\n\t\t\t\t\t_window.on('touchmove'+ns, function(e) {\r\n\t\t\t\t\t\tpoint = e.originalEvent ? e.originalEvent.touches : e.touches;\r\n\t\t\t\t\t\tnumPointers = point.length;\r\n\t\t\t\t\t\tpoint = point[0];\r\n\t\t\t\t\t\tif (Math.abs(point.clientX - startX) > 10 ||\r\n\t\t\t\t\t\t\tMath.abs(point.clientY - startY) > 10) {\r\n\t\t\t\t\t\t\tpointerMoved = true;\r\n\t\t\t\t\t\t\tunbindTouchMove();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).on('touchend'+ns, function(e) {\r\n\t\t\t\t\t\tunbindTouchMove();\r\n\t\t\t\t\t\tif(pointerMoved || numPointers > 1) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlock = true;\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tclearTimeout(timeout);\r\n\t\t\t\t\t\ttimeout = setTimeout(function() {\r\n\t\t\t\t\t\t\tlock = false;\r\n\t\t\t\t\t\t}, ghostClickDelay);\r\n\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\r\n\t\t\telem.on('click' + ns, function() {\r\n\t\t\t\tif(!lock) {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\t$.fn.destroyMfpFastClick = function() {\r\n\t\t$(this).off('touchstart' + ns + ' click' + ns);\r\n\t\tif(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns);\r\n\t};\r\n})();\r\n\r\n/*>>fastclick*/\r\n _checkInstance(); })(window.jQuery || window.Zepto);\ndefine(\"magnificPopup\", [\"jquery\"], (function (global) {\n return function () {\n var ret, fn;\n return ret || global.jQuery;\n };\n}(this)));\n\n",";\r\n(function($, window, document, undefined) {\r\n\r\n\t'use strict';\r\n\r\n\t// Create the defaults once\r\n\tvar pluginName = 'equalHeaders',\r\n\t\tdefaults = {\r\n\t\t\theaderClass: '.c-header'\r\n\t\t};\r\n\r\n\t// The actual plugin constructor\r\n\tfunction Plugin(element, options) {\r\n\t\tthis.pluginName = pluginName;\r\n\t\tthis.element = element;\r\n\t\tthis.$element = $(element);\r\n\r\n\t\tthis.options = $.extend({}, defaults, options);\r\n\t\tthis._defaults = defaults;\r\n\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tPlugin.prototype.init = function () {\t\t\r\n\t\tthis._conformHeaders();\r\n\t\tthis._initEvents();\r\n\t};\r\n\r\n\tPlugin.prototype._initEvents = function() {\r\n\t\t$(window).on('resize', { plugin: this }, $.throttle(250, this._conformHeadersOnResize));\r\n\t};\r\n\r\n\tPlugin.prototype._setConformingHeight = function (header, newHeight) {\r\n\t\t// set the height to something new, but remember the original height in case things change\r\n\t\theader.data(\"originalHeight\", (header.data(\"originalHeight\") == undefined) ? (header.height()) : (header.data(\"originalHeight\")));\r\n\t\theader.height(newHeight);\r\n\t};\r\n\r\n\tPlugin.prototype._getOriginalHeight = function (header) {\r\n\t\t// if the height has changed, send the originalHeight\r\n\t\treturn (header.data(\"originalHeight\") == undefined) ? (header.height()) : (header.data(\"originalHeight\"));\r\n\t};\r\n\r\n\tPlugin.prototype._conformHeadersOnResize = function (e) {\r\n\t\tif (!e || !e.data || !e.data.plugin) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar plugin = e.data.plugin;\t\t\r\n\t\tplugin._conformHeaders();\r\n\t}\r\n\r\n\tPlugin.prototype._conformHeaders = function() {\r\n\t\tvar plugin = this;\r\n\t\tvar $headers = this.$element.find(this.options.headerClass);\r\n\t\tif ($headers.length < 2) { return; }\r\n\r\n\t\tvar currentTallest = 0,\r\n\t\t\tcurrentRowStart = 0,\r\n\t\t\trowHeaders = new Array();\r\n\r\n\t\t$headers.each(function () {\r\n\t\t\t// \"caching\"\r\n\t\t\tvar $el = $(this);\r\n\t\t\tvar topPosition = $el.position().top;\r\n\r\n\t\t\tif (currentRowStart != topPosition) {\r\n\t\t\t\t// we just came to a new row. Set all the heights on the completed row\r\n\t\t\t\tfor (var currentHeader = 0; currentHeader < rowHeaders.length; currentHeader++) {\r\n\t\t\t\t\tplugin._setConformingHeight(rowHeaders[currentHeader], currentTallest);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// set the variables for the new row\r\n\t\t\t\trowHeaders.length = 0; // empty the array\r\n\t\t\t\tcurrentRowStart = topPosition;\r\n\t\t\t\tcurrentTallest = plugin._getOriginalHeight($el);\r\n\t\t\t\trowHeaders.push($el);\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\t// another header on the current row. Add it to the list and check if it's taller\r\n\t\t\t\trowHeaders.push($el);\r\n\t\t\t\tcurrentTallest = (currentTallest < plugin._getOriginalHeight($el)) ? (plugin._getOriginalHeight($el)) : (currentTallest);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// do the last row\r\n\t\tfor (var currentHeader = 0; currentHeader < rowHeaders.length; currentHeader++) {\r\n\t\t\tplugin._setConformingHeight(rowHeaders[currentHeader], currentTallest);\r\n\t\t}\r\n\t};\t\r\n\r\n\t$.fn[pluginName] = function(options) {\r\n\t\treturn this.each(function() {\r\n\t\t\tif (!$.data(this, pluginName)) {\r\n\t\t\t\t$.data(this, pluginName,\r\n\t\t\t\t\tnew Plugin(this, options));\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n})(jQuery, window, document);\ndefine(\"equalHeaders\", [\"jquery\"], (function (global) {\n return function () {\n var ret, fn;\n return ret || global.jQuery;\n };\n}(this)));\n\n","/* app/page/detail */\r\n\r\ndefine(\r\n\t'app/page/detail',[\r\n\t\t'jquery',\r\n\t\t'app/ui/video/load',\r\n\t\t'app/ui/social/share',\r\n\t\t'tablescroll',\r\n\t\t'magnificPopup',\r\n\t\t'equalHeaders'\r\n\t],\r\n\tfunction($, VideoLoad, SocialShare) {\r\n\r\n\t\t// Share Icons\r\n\t\tSocialShare.init();\r\n\r\n\t\t// Video Macros\r\n\t\tVideoLoad.init();\r\n\r\n\t\t// Check DOM for elements requiring JS\r\n\t\tvar $tables = $('.c-rte').find('table').filter(':visible');\r\n\r\n\t\t// Table Scroll\r\n\t\tif ($tables.length) {\r\n\t\t\t$tables.tableScroll();\r\n\t\t}\r\n\r\n\t\t// Single and Multi Image Lightbox\r\n\t\t$('.js-lightbox-single').magnificPopup({\r\n\t\t\tdelegate: '.js-lightbox-image',\r\n\t\t\ttype: 'image'\r\n\t\t});\r\n\r\n\t\t$('.js-lightbox-gallery').each(function() {\r\n\t\t\t$(this).magnificPopup({\r\n\t\t\t\tdelegate: '.js-lightbox-image',\r\n\t\t\t\ttype: 'image',\r\n\t\t\t\tgallery: {\r\n\t\t\t\t\tenabled: true,\r\n\t\t\t\t\tnavigateByImgClick: true,\r\n\t\t\t\t\tpreload: [0, 1] // Will preload 0 - before current, and 1 after the current image\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tvar $relatedCourses = $('.c-related-courses');\r\n\t\tif ($relatedCourses.length) \r\n\t\t{\r\n\t\t\t$relatedCourses.equalHeaders({\r\n\t\t\t\theaderClass: '.c-event-item__heading'\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n);\n"]}