{"version":3,"sources":["webpack:///1.1.js","webpack:///./modules ^\\.\\/.*$","webpack:///./modules/accordion.js","webpack:///./modules/carousel.js","webpack:///D:/Repositories/Resero-FurnwareCMS/FrontEnd/~/hammerjs/hammer.min.js","webpack:///./modules/confirm.js","webpack:///./modules/contact-form.js","webpack:///./components/input-validator.js","webpack:///./modules/contact-form-BE.js","webpack:///./modules/contact-form-BE-v2.js","webpack:///./modules/contact-form-v2.js","webpack:///./components/input-validator-v2.js","webpack:///./modules/filter.js","webpack:///./modules/modal.js","webpack:///./modules/tabs.js","webpack:///./modules/two-col-vertically-stacked-tiles.js","webpack:///./modules/video-tile.js"],"names":["webpackJsonp","module","exports","__webpack_require__","webpackContext","req","webpackContextResolve","map","Error","./accordion","./accordion.js","./carousel","./carousel.js","./confirm","./confirm.js","./contact-form","./contact-form-BE","./contact-form-BE-v2","./contact-form-BE-v2.js","./contact-form-BE.js","./contact-form-v2","./contact-form-v2.js","./contact-form.js","./filter","./filter.js","./modal","./modal.js","./tabs","./tabs.js","./two-col-vertically-stacked-tiles","./two-col-vertically-stacked-tiles.js","./video-tile","./video-tile.js","keys","Object","resolve","id","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","Constructor","TypeError","_inherits","subClass","superClass","prototype","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","defineProperty","_createClass","defineProperties","target","props","i","length","descriptor","key","protoProps","staticProps","_get","_x","_x2","_x3","_again","object","property","receiver","Function","desc","getOwnPropertyDescriptor","undefined","getter","get","call","parent","getPrototypeOf","_systemAbstract","_systemAbstract2","Module_Accordion","_Abstract2","el","options","this","$","extend","initModule","$accordianItems","$el","find","$accordianLinks","on","$accordianItem","closest","not","removeClass","hasClass","addClass","Module_Carousel","$imageSliderContainer","m_bIsTextUnderneathCarousel","checkSpacingForCTAs","swipedBeforeClick","$imageSliderUL","initialiseImageReverseIfDefined","initialiseNavigationDots","$carouselCircleContainer","$carouselCircles","getTotalSlides","remove","activateCarouselIndex","initialiseHammer","initListeners","onWindowResize","console","log","Hammer","Manager","hammerOptions","touchAction","hammer","hammerSwipe","Swipe","add","_this","e","onCircleContainerClicked","onNavigateBackClicked","onNavigateNextClicked","onSwipeLeft","onSwipeRight","window","resize","onLiTileClicked","tapThroughURL","currentTarget","data","location","numCTAs","carouselCircleHTML","getCarouselCircleHTML","append","reverseCarouselItems","children","each","prepend","html","numCarouselItems","classes","rePositionSliderButtonsIfNeeded","reAlignSlides","desktopBreakpointSize","width","bDesktop","outerWidth","$tiles","removeAttr","currentTileHeight","height","css","ulHeight","marginTop","parseInt","top","cTileHeight","position","onSlideCarouselLeft","onSlideCarouselRight","_mouseEvent","$currentTarget","carouselButtonIndex","index","animateRealignment","getCurrentCarouselIndex","totalSlides","carouselIndex","activeCarouselIndex","goToIndex","_index","_animateAlignment","eq","$carouselSliderLiItems","$activeCarouselItem","offsetWidth","left","stop","cssOffsetObject","animate","__WEBPACK_AMD_DEFINE_RESULT__","a","b","c","d","setTimeout","j","f","Array","isArray","g","forEach","hasOwnProperty","h","stack","replace","warn","apply","arguments","_super","la","k","oa","l","m","q","addEventListener","n","removeEventListener","o","parentNode","p","indexOf","trim","split","r","s","slice","t","push","sort","u","toUpperCase","ma","v","ua","w","ownerDocument","defaultView","parentWindow","x","manager","callback","element","inputTarget","domHandler","enable","handler","init","y","inputClass","xa","M","ya","P","wa","R","L","z","pointers","changedPointers","Ea","Ga","Ha","isFirst","isFinal","session","eventType","A","emit","recognize","prevInput","firstInput","D","firstMultiple","center","E","timeStamp","ra","deltaTime","angle","I","distance","H","B","offsetDirection","G","deltaX","deltaY","F","overallVelocityX","overallVelocityY","overallVelocity","qa","scale","K","rotation","J","maxPointers","C","srcEvent","offsetDelta","prevDelta","lastInterval","Da","velocity","velocityX","velocityY","direction","clientX","pa","clientY","Ia","Ja","Ka","La","Ma","Qa","Math","sqrt","atan2","PI","Ra","evEl","Ta","evWin","Ua","pressed","Xa","Ya","store","pointerEvents","N","evTarget","$a","_a","started","O","touches","changedTouches","concat","bb","targetIds","Q","Fa","identifier","filter","touch","mouse","primaryTouch","lastTouches","S","T","splice","cb","U","abs","db","V","set","W","jb","kb","lb","ib","hb","X","fb","CSS","supports","Y","defaults","state","nb","simultaneous","requireFail","Z","sb","qb","pb","ob","_","aa","ba","pX","pY","ca","da","_timer","_input","ea","fa","ga","pTime","pCenter","count","ha","recognizers","preset","ia","handlers","oldCssProps","input","ja","recognizeWith","requireFailure","style","cssProps","ka","createEvent","initEvent","gesture","dispatchEvent","na","createElement","round","Date","now","assign","sa","ta","va","test","navigator","userAgent","za","Aa","Ba","Ca","Na","Oa","Pa","destroy","Sa","mousedown","mousemove","mouseup","type","button","which","pointerType","Va","pointerdown","pointermove","pointerup","pointercancel","pointerout","Wa","2","3","4","5","MSPointerEvent","PointerEvent","toLowerCase","pointerId","Za","touchstart","touchmove","touchend","touchcancel","ab","sourceCapabilities","firesTouchEvents","eb","gb","mb","compute","actions","update","getTouchAction","join","preventDefaults","prevented","preventDefault","preventSrc","rb","tb","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","event","additionalEvent","tryEmit","canEmit","process","reset","attrTest","threshold","directionTest","time","clearTimeout","taps","interval","posThreshold","failTimeout","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","ub","vb","stopped","curRecognizer","off","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","Input","TouchAction","TouchInput","MouseInput","PointerEventInput","TouchMouseInput","SingleTouchInput","Recognizer","AttrRecognizer","Tap","Pan","Pinch","Rotate","Press","merge","inherit","bindFn","prefixed","wb","self","document","Module_Confirm","onCancelPopup","hide","onAcceptPopup","bForcedEvent","$clickedElement","click","instanceContext","ignore","text","originalEvent","show","_componentsInputValidator","_componentsInputValidator2","Module_ContactForm","$ctaInputForm","submit_button_selector","initialise","onCustomTickListItemClicked","onSendFormButtonClicked","_event","$li","bAtleastOneIsTicked","$this","_this2","tickedOptions","getOptionsPageValues","formData","HelpOption","htmlLoader","after","attr","val","contactID","alert","postURL","hostname","onFormResponse","JSON","stringify","ajax","url","dataType","headers","Authorization","error","onFormErrorOccurred","success","trigger","offsetTopY","scrollTop","offset","tickListOptions","Component_InputValidator","EMAIL_REGULAR_EXPRESSION","bindEvents","blur","onInputBlurred","keyup","onInputKeyUp","onSubmitButtonClicked","$input","validateElement","forceCharacterLimits","$element","characterLimit","elementValue","inputType","bValidInput","matchSelector","$elementToMatch","context","bAllValidated","stopImmediatePropagation","_modulesContactForm","_modulesContactForm2","Module_ContactFormBE","_Module_ContactForm","clearInputFormFields","nextStepUrl","$nextBtn","$signMeUpCheckbox","signMeUpChecked","is","href","thankYouLocation","tickedOption","prop","_modulesContactFormV2","_modulesContactFormV22","Module_ContactFormBEv2","getElementById","$signMeUp","unbind","submit","selectric","_componentsInputValidatorV2","_componentsInputValidatorV22","Component_InputValidatorv2","disableOnMobile","nativeOnMobile","onChange","onTextareBlurred","onTextareKeyUp","setCookie","grecaptcha","onErrorScrollTop","getResponse","response","formValidation","dropdownValidated","textareaValidated","validateTextarea","recaptchaValidation","Module_Filter","FADE_OUT_DURATION","FADE_IN_DURATION","m_bIsOurPeopleFilter","$mList","$mListColumns","$mContainerList","$elItemBtn","$elItemSelect","initListener","triggers","setBorders","onItemClicked","onSelectBoxChanged","onReadBioClicked","hash","hashRemoved","encodeURI","encodedDataName","goToListItemDetail","onBackButtonClicked","onAccordianItemClicked","_$listItem","fadeTo","_scrollToDetail","copyListItemDetailsToDetailItem","fadeOut","fadeIn","duration","scrollToTopOfProfileElement","_bAnimateTo","$listItem","_$item","classesTextToCopy","classesHTMLToCopy","selector","copySelectorTextFromListToDetail","copySelectorHTMLFromListToDetail","copySocialMediaOptionsFromListItemToDetail","htmlBioData","dataResponsiveImageAttr","$profileAvatarElement","$profileBioElement","$responsiveImageTargets","$listItemTwitterElement","$listItemLinkedinElement","$profileContainerElement","$profileContainerTwitterElement","$profileContainerLinkedinElement","_$selector","profileSelector","changeStatus","$parent","filterList","option","activateAccordion","Module_Modal","getCookie","popupDelayTime","Module_Tabs","onTabsItemClicked","$tabElements","Module_TwoColVerticallyStackedTiles","orderedType","cacheElements","setOrderNumbersOnElements","initialiseListeners","reorderElements","$tileContent","$firstContentContainer","$secondContentCotainer","onWindowResized","onReorderElementsEventTriggered","_forceReorder","windowOuterWidth","bDesktopSizeAndNewColumnType","bMobileSizeAndNewColumnType","detach","setTileContentInOriginalOrder","$tileItems","$dataResponsiveImages","$nonHiddenItems","$smallestTileContainer","getSmallestHeightTileContainer","bAscendingOrder","$detachedItems","getAttribute","appendTo","getHeightOfTilesInContainer","_$container","getFirstContainerTileHeight","getSecondContainerTileHeight","Module_VideoTile","bIsIOSDevice","match","bIsYoutubeVideo","youtubeID","HIDE_VIDEO_CONTROLS_TIME_MILLISECONDS","VIDEO_DURATION_UPDATE_TIME","initClassVariables","$video","video","$youtubeVideoIframe","youtubePlayerInstance","youtubePlayerState","onDocumentBoundMouseMoveHandler","onDocumentMouseMoveHandler","bind","initialiseVideoControls","initialiseHTML5Video","initialiseYoutubeImage","initialiseYoutubeVideo","isScrubbing","hideControlsTimer","scrubBarTimer","youtubeCountdownTimer","$videoContainer","$videoControlsContainer","$videoControlsPlayButton","$videoControlsPauseButton","$videoControlsScrubBarContainer","$videoControlsScrubBarDuration","$videoControlsTime","$videoControlsFullScreen","$videoControlsExitFullScreen","load","youtubeEmbedURL","bYoutubeAPILoaded","onYoutubeAPILoaded","onYoutubeloadedCallbacks","YT","Player","events","onReady","onYoutubePlayerInstanceReady","onStateChange","onYoutubePlayerInstanceStateChange","_this3","PlayerState","ENDED","PAUSED","onVideoPaused","updateCountDownTimer","clearInterval","BUFFERING","PLAYING","CUED","onVideoPlaying","setInterval","_this4","onFullScreenChange","onFullScreenClicked","onExitFullScreenClicked","onVideoContainerClicked","onMouseMoveOnVideoContainer","mouseleave","setCurrentTimeBasedOffScrubBarPosition","onHTML5VideoContainerMouseDown","onVideoTimeUpdate","toggleVideoPlayState","returnValue","cancelBubble","stopPropagation","isCurrentlyFullscreen","showCancelFullScreenButtonHideGoFullScreenButton","showGoFullScreenButtonHideCancelFullScreenButton","bIsFullScreen","fullScreen","mozFullScreen","webkitIsFullScreen","msFullscreenElement","showPauseButtonHidePlayButton","setHideControlsTimer","setScrubBarTimer","showPlayButtonHidePauseButton","showVideoControls","clearScrubBarTimer","mouseEvent","mouseY","pageY","heightOfContainer","percentageOfPosition","percentageX","getMousePercentageOnContainerFromEvent","setPercentageOfScrubBar","scrubDecimalFraction","currentTime","isHTML5VideoAndClickedWithinScrubber","isVideoPaused","onScrubBarTick","widthOfContainer","mouseX","pageX","heightOfScrubber","clickedWithinScrubBar","play","pause","playVideo","pauseVideo","videoContainer","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","webkitEnterFullscreen","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","videoDuration","getDuration","videoCurrentTime","getCurrentTime","totalSecondsRemaining","minutesRemaining","floor","secondsRemaining","timeText","paused","_this5","clearHideControlsTimer","onHideControlsTimerExpired","hideVideoControls","_this6","percentageDuration"],"mappings":"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","file":"1.1.js","sourcesContent":["webpackJsonp([1,4],[\n/* 0 */,\n/* 1 */,\n/* 2 */,\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar map = {\n\t\t\"./accordion\": 4,\n\t\t\"./accordion.js\": 4,\n\t\t\"./carousel\": 6,\n\t\t\"./carousel.js\": 6,\n\t\t\"./confirm\": 8,\n\t\t\"./confirm.js\": 8,\n\t\t\"./contact-form\": 9,\n\t\t\"./contact-form-BE\": 11,\n\t\t\"./contact-form-BE-v2\": 12,\n\t\t\"./contact-form-BE-v2.js\": 12,\n\t\t\"./contact-form-BE.js\": 11,\n\t\t\"./contact-form-v2\": 13,\n\t\t\"./contact-form-v2.js\": 13,\n\t\t\"./contact-form.js\": 9,\n\t\t\"./filter\": 15,\n\t\t\"./filter.js\": 15,\n\t\t\"./modal\": 16,\n\t\t\"./modal.js\": 16,\n\t\t\"./tabs\": 17,\n\t\t\"./tabs.js\": 17,\n\t\t\"./two-col-vertically-stacked-tiles\": 18,\n\t\t\"./two-col-vertically-stacked-tiles.js\": 18,\n\t\t\"./video-tile\": 19,\n\t\t\"./video-tile.js\": 19\n\t};\n\tfunction webpackContext(req) {\n\t\treturn __webpack_require__(webpackContextResolve(req));\n\t};\n\tfunction webpackContextResolve(req) {\n\t\treturn map[req] || (function() { throw new Error(\"Cannot find module '\" + req + \"'.\") }());\n\t};\n\twebpackContext.keys = function webpackContextKeys() {\n\t\treturn Object.keys(map);\n\t};\n\twebpackContext.resolve = webpackContextResolve;\n\tmodule.exports = webpackContext;\n\twebpackContext.id = 3;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Module_Accordion = (function (_Abstract2) {\n\t _inherits(Module_Accordion, _Abstract2);\n\t\n\t function Module_Accordion(el, options) {\n\t _classCallCheck(this, Module_Accordion);\n\t\n\t _get(Object.getPrototypeOf(Module_Accordion.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t this.initModule();\n\t }\n\t\n\t _createClass(Module_Accordion, [{\n\t key: \"initModule\",\n\t value: function initModule() {\n\t var $accordianItems = this.$el.find(\".m-accordion__item\");\n\t var $accordianLinks = this.$el.find(\".m-accordion__title\");\n\t var $accordianContent;\n\t\n\t $accordianLinks.on(\"click\", function () {\n\t var $accordianItem = $(this).closest(\".m-accordion__item\");\n\t $accordianItems.not($accordianItem).removeClass(\"is-open\");\n\t if ($accordianItem.hasClass(\"is-open\")) {\n\t $accordianItem.removeClass(\"is-open\");\n\t } else {\n\t $accordianItem.addClass(\"is-open\");\n\t }\n\t });\n\t }\n\t }]);\n\t\n\t return Module_Accordion;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_Accordion;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 5 */,\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t\tvalue: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar HammerJS = __webpack_require__(7);\n\t\n\tvar Module_Carousel = (function (_Abstract2) {\n\t\t_inherits(Module_Carousel, _Abstract2);\n\t\n\t\tfunction Module_Carousel(el, options) {\n\t\t\t_classCallCheck(this, Module_Carousel);\n\t\n\t\t\t_get(Object.getPrototypeOf(Module_Carousel.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\t\tthis.initModule();\n\t\t}\n\t\n\t\t/********* Initialising ***************/\n\t\n\t\t_createClass(Module_Carousel, [{\n\t\t\tkey: \"initModule\",\n\t\t\tvalue: function initModule() {\n\t\t\t\tif (this.$el.hasClass(\"-with-description-block\")) {\n\t\t\t\t\t// this.$el.wrap(\"\");\n\t\t\t\t\tthis.$el.addClass(\"-one-col-right-offset\");\n\t\t\t\t}\n\t\t\t\t// m-carousel -with-description-block\n\t\n\t\t\t\tthis.$imageSliderContainer = this.$el.find(\".c-image-slider\");\n\t\t\t\tif (!this.$imageSliderContainer.length) {\n\t\t\t\t\tconsole.log(\"No instances of image Slider Container Found\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tthis.m_bIsTextUnderneathCarousel = this.$el.hasClass(\"-with-description-underneath-block\");\n\t\t\t\tthis.checkSpacingForCTAs();\n\t\t\t\tthis.swipedBeforeClick = false;\n\t\t\t\tthis.$imageSliderUL = this.$imageSliderContainer.find(\"ul\");\n\t\t\t\tthis.$imageSliderUL.find(\"> li\").removeClass(\"-hide\");\n\t\n\t\t\t\tif (!this.$imageSliderUL.find(\"> li\").length) {\n\t\t\t\t\tconsole.log(\"No Items able to be used for carousel\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tthis.initialiseImageReverseIfDefined();\n\t\t\t\tthis.initialiseNavigationDots();\n\t\t\t\tthis.$carouselCircleContainer = this.$el.find(\".c-carousel-circle-ctn\");\n\t\t\t\tthis.$carouselCircles = this.$carouselCircleContainer.find(\".c-carousel-circle\");\n\t\n\t\t\t\tif (this.getTotalSlides() === 1) {\n\t\t\t\t\tthis.$el.find(\".c-image-slider-navigate-btn\").remove();\n\t\t\t\t\tthis.$carouselCircleContainer.remove();\n\t\t\t\t\tthis.$el.addClass(\"-no-slide\");\n\t\t\t\t} else {\n\t\t\t\t\tif (this.$el.hasClass(\"-reverse\")) {\n\t\t\t\t\t\tthis.activateCarouselIndex(this.getTotalSlides() - 1, false); //Just to make sure everything has the right class etc\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.activateCarouselIndex(0, false); //Just to make sure everything has the right class etc\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\tthis.initialiseHammer();\n\t\t\t\t\tthis.initListeners();\n\t\t\t\t\t// this.rePositionSliderButtonsIfNeeded();\n\t\t\t\t}\n\t\n\t\t\t\tthis.onWindowResize();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initialiseHammer\",\n\t\t\tvalue: function initialiseHammer() {\n\t\t\t\tif (typeof Hammer === \"undefined\" || typeof Hammer.Manager !== \"function\") {\n\t\t\t\t\tconsole.log(\"Failed to initialise Carousel Module with Swipe detection due to no Hammer.js, please make sure you have this installed to support swipe gestures\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tvar hammerOptions = {\n\t\t\t\t\ttouchAction: 'auto' //Enables vertical scrolling, as sometimes the carousel fills the whole screen, and the user cant scroll down the page!\n\t\t\t\t};\n\t\n\t\t\t\tthis.hammer = new Hammer.Manager(this.$imageSliderContainer[0], hammerOptions);\n\t\t\t\tvar hammerSwipe = new Hammer.Swipe();\n\t\t\t\tthis.hammer.add(hammerSwipe);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initListeners\",\n\t\t\tvalue: function initListeners() {\n\t\t\t\tvar _this = this;\n\t\n\t\t\t\tthis.$el.find(\".c-carousel-circle-ctn\").on(\"click\", \"li\", function (e) {\n\t\t\t\t\treturn _this.onCircleContainerClicked(e);\n\t\t\t\t});\n\t\n\t\t\t\tthis.$el.on(\"click\", \".c-image-slider-navigate-btn-ctn .c-image-slider-navigate-btn.-back\", function (e) {\n\t\t\t\t\treturn _this.onNavigateBackClicked();\n\t\t\t\t});\n\t\t\t\tthis.$el.on(\"click\", \".c-image-slider-navigate-btn-ctn .c-image-slider-navigate-btn.-next\", function (e) {\n\t\t\t\t\treturn _this.onNavigateNextClicked();\n\t\t\t\t});\n\t\n\t\t\t\tthis.hammer.on('swipeleft', function () {\n\t\t\t\t\treturn _this.onSwipeLeft();\n\t\t\t\t});\n\t\t\t\tthis.hammer.on('swiperight', function () {\n\t\t\t\t\treturn _this.onSwipeRight();\n\t\t\t\t});\n\t\n\t\t\t\t$(window).resize(function () {\n\t\t\t\t\treturn _this.onWindowResize();\n\t\t\t\t});\n\t\t\t\tthis.$el.find(\".c-image-slider\").on(\"click\", \"> ul > li [data-tap-through-url]\", function (e) {\n\t\t\t\t\treturn _this.onLiTileClicked(e);\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onLiTileClicked\",\n\t\t\tvalue: function onLiTileClicked(e) {\n\t\t\t\tif (this.swipedBeforeClick) {\n\t\t\t\t\tthis.swipedBeforeClick = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\t//Internet explorer has issues with an a tag around a carousel item (and using hammer js)\n\t\t\t\t//So we'll just use a data tag to decide where to navigate to\n\t\t\t\tvar tapThroughURL = $(e.currentTarget).data(\"tap-through-url\");\n\t\n\t\t\t\tif (!tapThroughURL) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\twindow.location = tapThroughURL;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"checkSpacingForCTAs\",\n\t\t\tvalue: function checkSpacingForCTAs() {\n\t\t\t\tvar numCTAs = this.$el.find(\".c-image-slider-cta\").length;\n\t\t\t\tif (numCTAs) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tthis.$el.addClass(\"no-ctas\");\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initialiseNavigationDots\",\n\t\t\tvalue: function initialiseNavigationDots() {\n\t\t\t\tif (this.$el.find(\".c-carousel-circle-ctn\").length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tvar carouselCircleHTML = this.getCarouselCircleHTML();\n\t\n\t\t\t\tthis.$el.append(carouselCircleHTML);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initialiseImageReverseIfDefined\",\n\t\t\tvalue: function initialiseImageReverseIfDefined() {\n\t\t\t\tif (!this.$el.hasClass(\"-reverse\")) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tthis.reverseCarouselItems();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"reverseCarouselItems\",\n\t\t\tvalue: function reverseCarouselItems() {\n\t\t\t\tvar $imageSliderUL = this.$imageSliderUL;\n\t\t\t\t$imageSliderUL.children().each(function () {\n\t\t\t\t\t$imageSliderUL.prepend(this);\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"getCarouselCircleHTML\",\n\t\t\tvalue: function getCarouselCircleHTML() {\n\t\t\t\tvar html = \"\";\n\t\t\t\thtml += '
';\n\t\t\t\thtml += '\t';\n\t\t\t\thtml += '
';\n\t\n\t\t\t\treturn html;\n\t\t\t}\n\t\n\t\t\t/********* Responding to Events ***************/\n\t\n\t\t}, {\n\t\t\tkey: \"onWindowResize\",\n\t\t\tvalue: function onWindowResize() {\n\t\n\t\t\t\tthis.rePositionSliderButtonsIfNeeded();\n\t\t\t\tthis.reAlignSlides();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"rePositionSliderButtonsIfNeeded\",\n\t\t\tvalue: function rePositionSliderButtonsIfNeeded() {\n\t\t\t\tif (!this.m_bIsTextUnderneathCarousel) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\t// if()\n\t\n\t\t\t\tvar desktopBreakpointSize = $(\"#bp-desktop\").width();\n\t\t\t\tvar bDesktop = $(window).outerWidth() >= desktopBreakpointSize;\n\t\t\t\tvar $tiles = this.$el.find(\".c-image-slider > ul .c-tile\");\n\t\t\t\t$tiles.removeAttr(\"style\");\n\t\t\t\tif (bDesktop) {\n\t\n\t\t\t\t\tvar currentTileHeight = $tiles.height();\n\t\t\t\t\tvar width = currentTileHeight * 1.54;\n\t\t\t\t\t$tiles.css({ width: width });\n\t\t\t\t\tthis.$el.find(\".c-image-slider > ul > li\").css({ width: width });\n\t\n\t\t\t\t\tvar ulHeight = $(\".-with-description-underneath-block .c-image-slider .c-tile \").height();\n\t\t\t\t\tvar marginTop = parseInt($(\".-underneath-carousel-block\").css(\"margin-top\"));\n\t\t\t\t\tthis.$carouselCircleContainer.css({ top: ulHeight + marginTop + \"px\" });\n\t\t\t\t} else {\n\t\t\t\t\tthis.$el.find(\".c-image-slider > ul > li\").removeAttr(\"style\");\n\t\t\t\t\tthis.$carouselCircleContainer.removeAttr(\"style\");\n\t\n\t\t\t\t\tvar cTileHeight = this.$el.find(\".c-tile\").height();\n\t\n\t\t\t\t\tthis.$carouselCircleContainer.css({ top: cTileHeight + \"px\", position: \"absolute\" });\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onNavigateBackClicked\",\n\t\t\tvalue: function onNavigateBackClicked() {\n\t\t\t\tthis.onSlideCarouselLeft();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onNavigateNextClicked\",\n\t\t\tvalue: function onNavigateNextClicked() {\n\t\t\t\tthis.onSlideCarouselRight();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onSwipeLeft\",\n\t\t\tvalue: function onSwipeLeft() {\n\t\t\t\tthis.swipedBeforeClick = true;\n\t\t\t\tconsole.log(\"swipe left\");\n\t\t\t\tthis.onSlideCarouselRight();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onSwipeRight\",\n\t\t\tvalue: function onSwipeRight() {\n\t\t\t\tthis.swipedBeforeClick = true;\n\t\t\t\tconsole.log(\"swipe right\");\n\t\t\t\tthis.onSlideCarouselLeft();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onCircleContainerClicked\",\n\t\t\tvalue: function onCircleContainerClicked(_mouseEvent) {\n\t\n\t\t\t\tvar $currentTarget = $(_mouseEvent.currentTarget);\n\t\t\t\tvar carouselButtonIndex = $currentTarget.index();\n\t\t\t\tthis.activateCarouselIndex(carouselButtonIndex);\n\t\t\t}\n\t\n\t\t\t/********* Changing or reading carousel state ***************/\n\t\n\t\t}, {\n\t\t\tkey: \"reAlignSlides\",\n\t\t\tvalue: function reAlignSlides() {\n\t\t\t\tvar animateRealignment = false;\n\t\t\t\tthis.activateCarouselIndex(this.getCurrentCarouselIndex(), animateRealignment);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"getTotalSlides\",\n\t\t\tvalue: function getTotalSlides() {\n\t\t\t\t// var totalSlides = this.$carouselCircles.length;\n\t\t\t\tvar totalSlides = this.$imageSliderUL.find(\"> li:not(.-faker)\").length;\n\t\t\t\treturn totalSlides;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"getCurrentCarouselIndex\",\n\t\t\tvalue: function getCurrentCarouselIndex() {\n\t\t\t\t// var carouselIndex = this.$el.find(\".c-carousel-circle.-active\").parent().index();\n\t\t\t\tvar carouselIndex = -1;\n\t\t\t\tvar activeCarouselIndex = -1;\n\t\t\t\tthis.$imageSliderUL.find(\"> li\").each(function () {\n\t\t\t\t\tif ($(this).hasClass(\"-faker\")) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t++carouselIndex;\n\t\n\t\t\t\t\tif ($(this).hasClass(\"-active\")) {\n\t\t\t\t\t\tactiveCarouselIndex = carouselIndex;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\n\t\t\t\t// var carouselIndex = this.$imageSliderUL.find(\"> li.-active\").index();\n\t\t\t\treturn activeCarouselIndex;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onSlideCarouselRight\",\n\t\t\tvalue: function onSlideCarouselRight() {\n\t\t\t\tvar goToIndex = this.getCurrentCarouselIndex() + 1;\n\t\t\t\tif (goToIndex >= this.getTotalSlides()) {\n\t\t\t\t\tgoToIndex = 0;\n\t\t\t\t}\n\t\n\t\t\t\tthis.activateCarouselIndex(goToIndex);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onSlideCarouselLeft\",\n\t\t\tvalue: function onSlideCarouselLeft() {\n\t\t\t\tvar goToIndex = this.getCurrentCarouselIndex() - 1;\n\t\t\t\tif (goToIndex < 0) {\n\t\t\t\t\tgoToIndex = this.getTotalSlides() - 1;\n\t\t\t\t}\n\t\n\t\t\t\tthis.activateCarouselIndex(goToIndex);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"activateCarouselIndex\",\n\t\t\tvalue: function activateCarouselIndex(_index, _animateAlignment) {\n\t\t\t\tif (typeof _animateAlignment === \"undefined\") {\n\t\t\t\t\t_animateAlignment = true;\n\t\t\t\t}\n\t\n\t\t\t\tthis.$carouselCircles.removeClass(\"-active\");\n\t\t\t\tthis.$carouselCircles.eq(_index).addClass(\"-active\");\n\t\n\t\t\t\tvar $carouselSliderLiItems = this.$imageSliderUL.find(\"> li:not(.-faker)\");\n\t\t\t\tvar $activeCarouselItem = $carouselSliderLiItems.eq(_index);\n\t\n\t\t\t\tif (!$activeCarouselItem.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\t$carouselSliderLiItems.removeClass(\"-active\");\n\t\t\t\t$activeCarouselItem.addClass(\"-active\");\n\t\n\t\t\t\tvar carouselWidth = this.$el.width();\n\t\t\t\t// var offsetWidthOriginal = carouselWidth*_index;\n\t\t\t\tvar offsetWidth = $activeCarouselItem.position().left;\n\t\t\t\tthis.$imageSliderUL.stop(true);\n\t\n\t\t\t\tvar cssOffsetObject = { left: -offsetWidth + \"px\" };\n\t\t\t\tif (_animateAlignment) {\n\t\t\t\t\tthis.$imageSliderUL.animate(cssOffsetObject);\n\t\t\t\t} else {\n\t\t\t\t\tthis.$imageSliderUL.css(cssOffsetObject);\n\t\t\t\t}\n\t\t\t}\n\t\t}]);\n\t\n\t\treturn Module_Carousel;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_Carousel;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.7 - 2016-04-22\n\t * http://hammerjs.github.io/\n\t *\n\t * Copyright (c) 2016 Jorik Tangelder;\n\t * Licensed under the MIT license */\n\t!function(a,b,c,d){\"use strict\";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;dc[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;ce;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),\"identifier\",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach(function(d){b[d]=c?a.CSS.supports(\"touch-action\",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?\"cancel\":a&qb?\"end\":a&pb?\"move\":a&ob?\"start\":\"\"}function $(a){return a==Ma?\"down\":a==La?\"up\":a==Ja?\"left\":a==Ka?\"right\":\"\"}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||\"\"}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent(\"Event\");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],na=b.createElement(\"div\"),oa=\"function\",pa=Math.round,qa=Math.abs,ra=Date.now;la=\"function\"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError(\"Cannot convert undefined or null to object\");for(var b=Object(a),c=1;ch&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a=\"touchstart\",_a=\"touchstart touchmove touchend touchcancel\";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb=\"touchstart touchmove touchend touchcancel\";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,\"touchAction\"),fb=eb!==d,gb=\"compute\",hb=\"auto\",ib=\"manipulation\",jb=\"none\",kb=\"pan-x\",lb=\"pan-y\",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(\" \"))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,\"recognizeWith\",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,\"dropRecognizeWith\",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,\"requireFailure\",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,\"dropRequireFailure\",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;af?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?\"in\":\"out\";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distanceb.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+\"up\",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance= 0;\n\t var $li = $(_event.currentTarget);\n\t // if(bOneAtATime)\n\t // {\n\t //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\n\t $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\n\t // }\n\t\n\t if ($li.hasClass(\"-ticked\")) {\n\t $li.removeClass(\"-ticked\");\n\t } else {\n\t $li.addClass(\"-ticked\");\n\t }\n\t\n\t var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\n\t if (bAtleastOneIsTicked) {\n\t $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\n\t } else {\n\t $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\n\t }\n\t\n\t //Now hide / show elements that are specific to the selected element\n\t\n\t $(\".cta-input-form--inputs-ctn > .c-label-input-ctn\").removeClass(\"-hide\");\n\t\n\t if ($li.hasClass(\"-send-email\")) {\n\t //dont hide anything\n\t\n\t $(\".thanks-page .cta-page--hero-text\").html(\"Great to hear from you.
We’ll be in touch shortly.\");\n\t } else if ($li.hasClass(\"-sign-up-for-email\")) {\n\t\n\t $(\".thanks-page .cta-page--hero-text\").html(\"Thanks for signing up to
our e-newsletter.

We’re always in the classroom learning
and can’t wait to share our insights with you.\");\n\t //Hide location and comments\n\t $(\".cta-input-form--inputs-ctn [name='Location'], .cta-input-form--inputs-ctn [name='Comments']\").each(function () {\n\t\n\t var $this = $(this);\n\t\n\t $this.closest(\".c-label-input-ctn\").addClass(\"-hide\");\n\t });\n\t }\n\t }\n\t }, {\n\t key: \"onSendFormButtonClicked\",\n\t value: function onSendFormButtonClicked() {\n\t var _this2 = this;\n\t\n\t // data-component=\"click-behaviour\"\n\t //data-component-options='{\"type\":\"hide-element-show-element\",\"hide_target\":\".cta-input-form\",\"show_target\":\".thanks-page\"}'\n\t\n\t console.log(\"onSendFormButtonClicked\");\n\t var tickedOptions = this.getOptionsPageValues();\n\t var formData = { \"HelpOption\": tickedOptions };\n\t\n\t var htmlLoader = \"
\";\n\t $(\".cta-input-form--send-btn\").after(htmlLoader);\n\t\n\t //Popuplate the 'form data' we're sending off with the inputs / textareas\n\t $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__input-wrapper > input\").each(function () {\n\t formData[$(this).attr(\"name\")] = $(this).val();\n\t });\n\t\n\t $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__textarea-wrapper > textarea\").each(function () {\n\t formData[$(this).attr(\"name\")] = $(this).val();\n\t });\n\t\n\t var contactID = this.$el.find(\"input[name='ContactID']\").val();\n\t if (!contactID) {\n\t alert(\"Error: No Contact ID Found\");\n\t return;\n\t }\n\t\n\t formData[\"Contact\"] = contactID;\n\t\n\t console.log(formData);\n\t var postURL = $(\".m-contact-cta\").data(\"send-to-url\");\n\t if (!postURL) {\n\t alert(\"Error: No URL to send form data to\");\n\t return;\n\t }\n\t\n\t if (window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\") {\n\t this.onFormResponse();\n\t return;\n\t }\n\t\n\t formData = JSON.stringify(formData);\n\t $.ajax({\n\t type: \"POST\",\n\t url: postURL,\n\t dataType: 'json',\n\t headers: {\n\t \"Authorization\": \"Basic cmVzdGFwaTpZcFhCSXlCRGJuTzBrNllwUnJJaQ==\"\n\t },\n\t data: formData,\n\t error: function error(e) {\n\t return _this2.onFormErrorOccurred(e);\n\t },\n\t success: function success(e) {\n\t return _this2.onFormResponse(e);\n\t }\n\t });\n\t\n\t // if(postURL.indexOf(\"contact-response.json\") !== -1)\n\t // {\n\t // $.get(postURL,formData,(e)=>this.onFormResponse(e));\n\t // }\n\t // else\n\t // {\n\t // $.post(postURL,formData,(e)=>this.onFormResponse(e));\n\t // }\n\t }\n\t }, {\n\t key: \"onFormErrorOccurred\",\n\t value: function onFormErrorOccurred(e) {\n\t alert(\"An error occurred submitting the form, please try again\");\n\t }\n\t }, {\n\t key: \"onFormResponse\",\n\t value: function onFormResponse(e) {\n\t $(\".cta-input-form\").addClass(\"-hide\");\n\t $(\".thanks-page\").removeClass(\"-hide\");\n\t $(\"body\").trigger(\"responsive-image-check\", {});\n\t\n\t var currentScrollTop = $(window).scrollTop();\n\t var offsetTopY = $(\".thanks-page\").offset().top;\n\t $(\"window,body\").stop().animate({ scrollTop: offsetTopY });\n\t }\n\t }, {\n\t key: \"getOptionsPageValues\",\n\t value: function getOptionsPageValues() {\n\t var tickListOptions = \"\";\n\t\n\t $(\".cta-options-page--tick-list-next-btn-ctn li.-ticked\").each(function () {\n\t if (tickListOptions !== \"\") {\n\t tickListOptions += \";\";\n\t }\n\t\n\t tickListOptions += $(this).find(\"input[type='hidden']\").attr(\"value\");\n\t });\n\t\n\t return tickListOptions;\n\t }\n\t }]);\n\t\n\t return Module_ContactForm;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_ContactForm;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Component_InputValidator = (function (_Abstract2) {\n\t _inherits(Component_InputValidator, _Abstract2);\n\t\n\t function Component_InputValidator(el, options) {\n\t _classCallCheck(this, Component_InputValidator);\n\t\n\t _get(Object.getPrototypeOf(Component_InputValidator.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'component');\n\t console.log(\"INPUT VALIDATOR\");\n\t this.EMAIL_REGULAR_EXPRESSION = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\t\n\t this.bindEvents();\n\t }\n\t\n\t _createClass(Component_InputValidator, [{\n\t key: \"bindEvents\",\n\t value: function bindEvents() {\n\t var _this = this;\n\t\n\t this.$el.find(\"input\").blur(function (e) {\n\t return _this.onInputBlurred(e);\n\t });\n\t this.$el.find(\"input\").keyup(function (e) {\n\t return _this.onInputKeyUp(e);\n\t });\n\t // this.$el.find(\" input\").keydown((e) => this.onInputKeyDown(e));\n\t\n\t if (typeof this.options.submit_button_selector !== \"undefined\") {\n\t this.$el.find(this.options.submit_button_selector).click(function (e) {\n\t return _this.onSubmitButtonClicked(e);\n\t });\n\t }\n\t }\n\t }, {\n\t key: \"onInputBlurred\",\n\t value: function onInputBlurred(e) {\n\t var $input = $(e.currentTarget);\n\t this.validateElement($input);\n\t }\n\t }, {\n\t key: \"onInputKeyDown\",\n\t value: function onInputKeyDown(e) {\n\t var $input = $(e.currentTarget);\n\t return this.forceCharacterLimits($input);\n\t }\n\t }, {\n\t key: \"onInputKeyUp\",\n\t value: function onInputKeyUp(e) {\n\t var $input = $(e.currentTarget);\n\t this.validateElement($input);\n\t }\n\t }, {\n\t key: \"forceCharacterLimits\",\n\t value: function forceCharacterLimits($element) {\n\t var characterLimit = $element.data(\"character-limit\");\n\t if (!characterLimit) {\n\t return true;\n\t }\n\t\n\t var elementValue = $element.val();\n\t if (elementValue.length > characterLimit) {\n\t return false;\n\t }\n\t return true;\n\t }\n\t }, {\n\t key: \"validateElement\",\n\t value: function validateElement($element) {\n\t\n\t if (!$element.closest(\".c-label-input-ctn\").hasClass(\"required\")) {\n\t return;\n\t }\n\t\n\t var inputType = $element.attr(\"type\");\n\t var bValidInput = $element.val();\n\t if (inputType.toLowerCase() === \"email\") {\n\t bValidInput = this.EMAIL_REGULAR_EXPRESSION.test($element.val());\n\t }\n\t\n\t if ($element.data(\"match\")) {\n\t var matchSelector = $element.data(\"match\");\n\t var $elementToMatch = $(matchSelector);\n\t if ($elementToMatch.length) {\n\t if ($element.val() !== $elementToMatch.val()) {\n\t bValidInput = false;\n\t }\n\t } else {\n\t console.log(\"input-validator: Failed to find matching element to compare data!\");\n\t }\n\t }\n\t\n\t if (bValidInput) {\n\t $element.removeClass(\"invalid-input\");\n\t $element.closest(\".c-label-input-ctn\").removeClass(\"invalid-input\");\n\t return true;\n\t } else {\n\t $element.addClass(\"invalid-input\");\n\t $element.closest(\".c-label-input-ctn\").addClass(\"invalid-input\");\n\t return false;\n\t }\n\t }\n\t }, {\n\t key: \"onSubmitButtonClicked\",\n\t value: function onSubmitButtonClicked(e) {\n\t var context = this;\n\t var bAllValidated = true;\n\t this.$el.find(\".required input\").each(function () {\n\t var $input = $(this);\n\t if (!context.validateElement($input)) {\n\t bAllValidated = false;\n\t }\n\t });\n\t\n\t if (bAllValidated) {\n\t this.$el.find(\".form-is-valid\").removeClass('-hide');\n\t this.$el.find(\".form-is-invalid\").addClass('-hide');\n\t } else {\n\t this.$el.find(\".form-is-valid\").addClass('-hide');\n\t this.$el.find(\".form-is-invalid\").removeClass('-hide');\n\t e.preventDefault();\n\t e.stopImmediatePropagation();\n\t }\n\t }\n\t }]);\n\t\n\t return Component_InputValidator;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Component_InputValidator;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar _modulesContactForm = __webpack_require__(9);\n\t\n\tvar _modulesContactForm2 = _interopRequireDefault(_modulesContactForm);\n\t\n\tvar Module_ContactFormBE = (function (_Module_ContactForm) {\n\t _inherits(Module_ContactFormBE, _Module_ContactForm);\n\t\n\t function Module_ContactFormBE(el, options) {\n\t _classCallCheck(this, Module_ContactFormBE);\n\t\n\t _get(Object.getPrototypeOf(Module_ContactFormBE.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\n\t // var $ctaInputForm = this.$el.find(\".cta-input-form\");\n\t // if($ctaInputForm.length)\n\t // {\n\t // new InputValidator($ctaInputForm[0], {\"submit_button_selector\":\".cta-input-form--send-btn\"});\n\t // }\n\t\n\t // this.initialise();\n\t console.log(\"contact form BE\");\n\t this.clearInputFormFields();\n\t }\n\t\n\t // initialise()\n\t // {\n\t // this.$el.find(\"[data-responsive-image]\").addClass(\"-no-colour-loading-bg\")\n\t\n\t // console.log(\"Contact Form Initialise\");\n\t // this.initListeners();\n\t // }\n\t\n\t // initListeners()\n\t // {\n\t // $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list\").on(\"click\",\"li\", (e) => this.onCustomTickListItemClicked(e));\n\t // $(\".cta-input-form--send-btn\").click((e) => this.onSendFormButtonClicked(e));\n\t // }\n\t\n\t _createClass(Module_ContactFormBE, [{\n\t key: \"onCustomTickListItemClicked\",\n\t value: function onCustomTickListItemClicked(_event) {\n\t\n\t console.log(\"tick\");\n\t // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\n\t var $li = $(_event.currentTarget);\n\t // if(bOneAtATime)\n\t // {\n\t //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\n\t $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\n\t // }\n\t\n\t var nextStepUrl = $li.attr('data-next-url');\n\t\n\t var $nextBtn = this.$el.find('.cta-page--next-page-btn');\n\t\n\t if ($li.hasClass(\"-ticked\")) {\n\t $li.removeClass(\"-ticked\");\n\t } else {\n\t $li.addClass(\"-ticked\");\n\t }\n\t\n\t var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\n\t if (bAtleastOneIsTicked) {\n\t $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\n\t } else {\n\t $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\n\t }\n\t\n\t $nextBtn.attr('href', nextStepUrl);\n\t }\n\t }, {\n\t key: \"onSendFormButtonClicked\",\n\t value: function onSendFormButtonClicked() {\n\t var _this = this;\n\t\n\t // data-component=\"click-behaviour\"\n\t //data-component-options='{\"type\":\"hide-element-show-element\",\"hide_target\":\".cta-input-form\",\"show_target\":\".thanks-page\"}'\n\t\n\t console.log(\"onSendFormButtonClicked\");\n\t var tickedOptions = this.getOptionsPageValues();\n\t\n\t console.log(\"ticked option :> \" + tickedOptions);\n\t\n\t var formData = { \"HelpOption\": tickedOptions };\n\t\n\t //Popuplate the 'form data' we're sending off with the inputs / textareas\n\t $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__input-wrapper > input\").each(function () {\n\t formData[$(this).attr(\"name\")] = $(this).val();\n\t });\n\t\n\t $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__textarea-wrapper > textarea\").each(function () {\n\t formData[$(this).attr(\"name\")] = $(this).val();\n\t });\n\t\n\t var htmlLoader = \"
\";\n\t $(\".cta-input-form--send-btn\").after(htmlLoader);\n\t $(\".cta-input-form--send-btn\").css('visibility', 'hidden');\n\t\n\t var contactID = this.$el.find(\"input[name='ContactID']\").val();\n\t if (!contactID) {\n\t alert(\"Error: No Contact ID Found\");\n\t return;\n\t }\n\t\n\t formData[\"Contact\"] = contactID;\n\t formData[\"SignMeUpForSomeRegularInspiration\"] = false;\n\t var $signMeUpCheckbox = this.$el.find(\"#SignMeUpForSomeRegularInspiration\");\n\t if ($signMeUpCheckbox.length) {\n\t var signMeUpChecked = $signMeUpCheckbox.is(':checked');\n\t formData[\"SignMeUpForSomeRegularInspiration\"] = signMeUpChecked;\n\t }\n\t\n\t var postURL = $(\".m-contact-cta\").data(\"send-to-url\");\n\t if (!postURL) {\n\t alert(\"Error: No URL to send form data to\");\n\t return;\n\t }\n\t\n\t if (window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\") {\n\t this.onFormResponse();\n\t return;\n\t }\n\t\n\t formData = JSON.stringify(formData);\n\t\n\t $.ajax({\n\t type: \"POST\",\n\t url: postURL,\n\t dataType: 'json',\n\t headers: {\n\t \"Authorization\": \"Basic cmVzdGFwaTpZcFhCSXlCRGJuTzBrNllwUnJJaQ==\"\n\t },\n\t data: formData,\n\t error: function error(e) {\n\t return _this.onFormErrorOccurred(e);\n\t },\n\t success: function success(e) {\n\t return _this.onFormResponse(e);\n\t }\n\t });\n\t }\n\t }, {\n\t key: \"onFormErrorOccurred\",\n\t value: function onFormErrorOccurred(e) {\n\t alert(\"An error occurred submitting the form, please try again\");\n\t this.$el.find(\".-loader-wrapper\").remove();\n\t $(\".cta-input-form--send-btn\").css('visibility', 'visible');\n\t }\n\t }, {\n\t key: \"onFormResponse\",\n\t value: function onFormResponse(e) {\n\t // $(\".cta-input-form\").addClass(\"-hide\");\n\t // $(\".thanks-page\").removeClass(\"-hide\");\n\t // $(\"body\").trigger(\"responsive-image-check\",{});\n\t\n\t // var currentScrollTop = $(window).scrollTop();\n\t // var offsetTopY = $(\".thanks-page\").offset().top;\n\t // $(\"window,body\").stop().animate({scrollTop:offsetTopY});\n\t\n\t window.location.href = this.options.thankYouLocation;\n\t\n\t //console.log('success');\n\t }\n\t }, {\n\t key: \"showThankYouMessage\",\n\t value: function showThankYouMessage(tickedOption) {\n\t\n\t if (tickedOption == 1) {\n\t console.log(\"ticked option :> \" + tickedOption);\n\t\n\t $(\".thanks-page .cta-page--hero-text\").html(\"Great to hear from you.
We’ll be in touch shortly.\");\n\t }\n\t\n\t if (tickedOption == 2) {\n\t console.log(\"ticked option :> \" + tickedOption);\n\t\n\t $(\".thanks-page .cta-page--hero-text\").html(\"Thanks for signing up to
our e-newsletter.

We’re always in the classroom learning
and can’t wait to share our insights with you.\");\n\t }\n\t }\n\t }, {\n\t key: \"getOptionsPageValues\",\n\t value: function getOptionsPageValues() {\n\t var tickListOptions = \"\";\n\t\n\t this.$el.find(\".js-form-stream-val\").each(function () {\n\t if (tickListOptions !== \"\") {\n\t tickListOptions += \";\";\n\t }\n\t\n\t tickListOptions += $(this).attr(\"value\");\n\t });\n\t\n\t return tickListOptions;\n\t }\n\t }, {\n\t key: \"clearInputFormFields\",\n\t value: function clearInputFormFields() {\n\t $('.js-clear-btn').click(function () {\n\t $('.c-label-input__fields').val('');\n\t $('#SignMeUpForSomeRegularInspiration').prop(\"checked\", false);\n\t });\n\t }\n\t }]);\n\t\n\t return Module_ContactFormBE;\n\t})(_modulesContactForm2[\"default\"]);\n\t\n\texports[\"default\"] = Module_ContactFormBE;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar _modulesContactFormV2 = __webpack_require__(13);\n\t\n\tvar _modulesContactFormV22 = _interopRequireDefault(_modulesContactFormV2);\n\t\n\tvar Module_ContactFormBEv2 = (function (_Module_ContactForm) {\n\t _inherits(Module_ContactFormBEv2, _Module_ContactForm);\n\t\n\t function Module_ContactFormBEv2(el, options) {\n\t _classCallCheck(this, Module_ContactFormBEv2);\n\t\n\t _get(Object.getPrototypeOf(Module_ContactFormBEv2.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\n\t // var $ctaInputForm = this.$el.find(\".cta-input-form\");\n\t // if($ctaInputForm.length)\n\t // {\n\t // new InputValidator($ctaInputForm[0], {\"submit_button_selector\":\".cta-input-form--send-btn\"});\n\t // }\n\t\n\t // this.initialise();\n\t this.clearInputFormFields();\n\t var userFormTemplate = document.getElementById(\"aspnetForm\");\n\t }\n\t\n\t // initialise()\n\t // {\n\t // this.$el.find(\"[data-responsive-image]\").addClass(\"-no-colour-loading-bg\")\n\t\n\t // console.log(\"Contact Form Initialise\");\n\t // this.initListeners();\n\t // }\n\t\n\t // initListeners()\n\t // {\n\t // $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list\").on(\"click\",\"li\", (e) => this.onCustomTickListItemClicked(e));\n\t // $(\".cta-input-form--send-btn\").click((e) => this.onSendFormButtonClicked(e));\n\t // }\n\t\n\t _createClass(Module_ContactFormBEv2, [{\n\t key: \"onCustomTickListItemClicked\",\n\t value: function onCustomTickListItemClicked(_event) {\n\t\n\t console.log(\"tick\");\n\t // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\n\t var $li = $(_event.currentTarget);\n\t // if(bOneAtATime)\n\t // {\n\t //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\n\t $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\n\t // }\n\t\n\t var nextStepUrl = $li.attr('data-next-url');\n\t\n\t var $nextBtn = this.$el.find('.cta-page--next-page-btn');\n\t\n\t if ($li.hasClass(\"-ticked\")) {\n\t $li.removeClass(\"-ticked\");\n\t } else {\n\t $li.addClass(\"-ticked\");\n\t }\n\t\n\t var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\n\t if (bAtleastOneIsTicked) {\n\t $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\n\t } else {\n\t $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\n\t }\n\t\n\t $nextBtn.attr('href', nextStepUrl);\n\t }\n\t }, {\n\t key: \"onSendFormButtonClicked\",\n\t value: function onSendFormButtonClicked() {\n\t\n\t // Change checkbox value when checked\n\t var $signMeUp = $('input[name=\"subscribe\"]');\n\t if ($signMeUp.prop('checked')) {\n\t $('.js-form-stream-val').attr('value', 1);\n\t } else {\n\t $('.js-form-stream-val').attr('value', 0);\n\t }\n\t\n\t // if(window.innerWidth >768 ) {\n\t // var htmlLoader = \"
\";\n\t // $(\".cta-input-form--send-btn\").after(htmlLoader);\n\t // $(\".cta-input-form--send-btn\").css('visibility', 'hidden');\n\t // } else {\n\t // var htmlLoader = \"
\";\n\t // $(\".cta-input-form--send-btn\").after(htmlLoader);\n\t // $(\".cta-input-form--send-btn\").css('display', 'none');\n\t // }\n\t\n\t var htmlLoader = \"
\";\n\t $(\".cta-input-sugarform--send-btn\").after(htmlLoader);\n\t $(\".cta-input-sugarform--send-btn\").css('visibility', 'hidden');\n\t\n\t if (window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\") {\n\t // ! remove return\n\t //return;\n\t }\n\t\n\t $(\"#aspnetForm\").attr('action', $(\".cta-input-form\").data(\"sugar-market-post-url\"));\n\t\n\t $(\"#aspnetForm\").unbind('submit').removeAttr('onsubmit');\n\t\n\t $(\"#aspnetForm\").submit();\n\t }\n\t }, {\n\t key: \"onFormErrorOccurred\",\n\t value: function onFormErrorOccurred(e) {\n\t alert(\"An error occurred submitting the form, please try again\");\n\t this.$el.find(\".-loader-wrapper\").remove();\n\t $(\".cta-input-sugarform--send-btn\").css('visibility', 'visible');\n\t }\n\t }, {\n\t key: \"clearInputFormFields\",\n\t value: function clearInputFormFields() {\n\t $('.js-clear-btn').click(function () {\n\t $('.c-label-input__fields').val('');\n\t $('.c-label-select__fields').prop('selectedIndex', 0).selectric('refresh');\n\t $('#donotbulkemail0').prop(\"checked\", false);\n\t $('#SignMeUpForSomeRegularInspiration').prop(\"checked\", false);\n\t });\n\t }\n\t }]);\n\t\n\t return Module_ContactFormBEv2;\n\t})(_modulesContactFormV22[\"default\"]);\n\t\n\texports[\"default\"] = Module_ContactFormBEv2;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar _componentsInputValidatorV2 = __webpack_require__(14);\n\t\n\tvar _componentsInputValidatorV22 = _interopRequireDefault(_componentsInputValidatorV2);\n\t\n\tvar Module_ContactForm = (function (_Abstract2) {\n\t _inherits(Module_ContactForm, _Abstract2);\n\t\n\t function Module_ContactForm(el, options) {\n\t _classCallCheck(this, Module_ContactForm);\n\t\n\t _get(Object.getPrototypeOf(Module_ContactForm.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\n\t var $ctaInputForm = this.$el.find(\".cta-input-form\");\n\t if ($ctaInputForm.length) {\n\t new _componentsInputValidatorV22[\"default\"]($ctaInputForm[0], { \"submit_button_selector\": \".cta-input-sugarform--send-btn\" });\n\t }\n\t\n\t this.initialise();\n\t }\n\t\n\t _createClass(Module_ContactForm, [{\n\t key: \"initialise\",\n\t value: function initialise() {\n\t this.$el.find(\"[data-responsive-image]\").addClass(\"-no-colour-loading-bg\");\n\t this.initListeners();\n\t }\n\t }, {\n\t key: \"initListeners\",\n\t value: function initListeners() {\n\t var _this = this;\n\t\n\t $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list\").on(\"click\", \"li\", function (e) {\n\t return _this.onCustomTickListItemClicked(e);\n\t });\n\t $(\".cta-input-sugarform--send-btn\").click(function (e) {\n\t return _this.onSendFormButtonClicked(e);\n\t });\n\t }\n\t }, {\n\t key: \"onCustomTickListItemClicked\",\n\t value: function onCustomTickListItemClicked(_event) {\n\t // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\n\t var $li = $(_event.currentTarget);\n\t // if(bOneAtATime)\n\t // {\n\t //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\n\t $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\n\t // }\n\t\n\t if ($li.hasClass(\"-ticked\")) {\n\t $li.removeClass(\"-ticked\");\n\t } else {\n\t $li.addClass(\"-ticked\");\n\t }\n\t\n\t var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\n\t if (bAtleastOneIsTicked) {\n\t $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\n\t } else {\n\t $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\n\t }\n\t\n\t //Now hide / show elements that are specific to the selected element\n\t\n\t $(\".cta-input-form--inputs-ctn > .c-label-input-ctn\").removeClass(\"-hide\");\n\t\n\t if ($li.hasClass(\"-send-email\")) {\n\t //dont hide anything\n\t\n\t $(\".thanks-page .cta-page--hero-text\").html(\"Great to hear from you.
We’ll be in touch shortly.\");\n\t } else if ($li.hasClass(\"-sign-up-for-email\")) {\n\t\n\t $(\".thanks-page .cta-page--hero-text\").html(\"Thanks for signing up to
our e-newsletter.

We’re always in the classroom learning
and can’t wait to share our insights with you.\");\n\t //Hide location and comments\n\t $(\".cta-input-form--inputs-ctn [name='Location'], .cta-input-form--inputs-ctn [name='Comments']\").each(function () {\n\t\n\t var $this = $(this);\n\t\n\t $this.closest(\".c-label-input-ctn\").addClass(\"-hide\");\n\t });\n\t }\n\t }\n\t }, {\n\t key: \"onSendFormButtonClicked\",\n\t value: function onSendFormButtonClicked() {\n\t // data-component=\"click-behaviour\"\n\t //data-component-options='{\"type\":\"hide-element-show-element\",\"hide_target\":\".cta-input-form\",\"show_target\":\".thanks-page\"}'\n\t\n\t console.log('FROM - Contactform-v2 onSubmitButtonClicked');\n\t var tickedOptions = this.getOptionsPageValues();\n\t var formData = { \"HelpOption\": tickedOptions };\n\t\n\t var htmlLoader = \"
\";\n\t $(\".cta-input-sugarform--send-btn\").after(htmlLoader);\n\t\n\t //Popuplate the 'form data' we're sending off with the inputs / textareas\n\t $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__input-wrapper > input\").each(function () {\n\t formData[$(this).attr(\"name\")] = $(this).val();\n\t });\n\t\n\t $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__textarea-wrapper > textarea\").each(function () {\n\t formData[$(this).attr(\"name\")] = $(this).val();\n\t });\n\t\n\t var contactID = this.$el.find(\"input[name='ContactID']\").val();\n\t if (!contactID) {\n\t alert(\"Error: No Contact ID Found\");\n\t return;\n\t }\n\t\n\t formData[\"Contact\"] = contactID;\n\t\n\t // console.log(formData);\n\t // var postURL = $(\".m-contact-cta\").data(\"send-to-url\");\n\t // if(!postURL)\n\t // {\n\t // alert(\"Error: No URL to send form data to\");\n\t // return;\n\t // }\n\t\n\t if (window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\") {\n\t this.onFormResponse();\n\t return;\n\t }\n\t\n\t // formData = JSON.stringify(formData);\n\t // $.ajax\n\t // ({\n\t // type: \"POST\",\n\t // url: postURL,\n\t // dataType: 'json',\n\t // headers: {\n\t // \"Authorization\": \"Basic cmVzdGFwaTpZcFhCSXlCRGJuTzBrNllwUnJJaQ==\"\n\t // },\n\t // data: formData,\n\t // error:(e) => this.onFormErrorOccurred(e),\n\t // success: (e) => this.onFormResponse(e)\n\t // });\n\t\n\t // if(postURL.indexOf(\"contact-response.json\") !== -1)\n\t // {\n\t // $.get(postURL,formData,(e)=>this.onFormResponse(e));\n\t // }\n\t // else\n\t // {\n\t // $.post(postURL,formData,(e)=>this.onFormResponse(e));\n\t // }\n\t }\n\t }, {\n\t key: \"onFormErrorOccurred\",\n\t value: function onFormErrorOccurred(e) {\n\t alert(\"An error occurred submitting the form, please try again\");\n\t }\n\t }, {\n\t key: \"onFormResponse\",\n\t value: function onFormResponse(e) {\n\t $(\".cta-input-form\").addClass(\"-hide\");\n\t $(\".thanks-page\").removeClass(\"-hide\");\n\t $(\"body\").trigger(\"responsive-image-check\", {});\n\t\n\t var currentScrollTop = $(window).scrollTop();\n\t var offsetTopY = $(\".thanks-page\").offset().top;\n\t $(\"window,body\").stop().animate({ scrollTop: offsetTopY });\n\t }\n\t }, {\n\t key: \"getOptionsPageValues\",\n\t value: function getOptionsPageValues() {\n\t var tickListOptions = \"\";\n\t\n\t $(\".cta-options-page--tick-list-next-btn-ctn li.-ticked\").each(function () {\n\t if (tickListOptions !== \"\") {\n\t tickListOptions += \";\";\n\t }\n\t\n\t tickListOptions += $(this).find(\"input[type='hidden']\").attr(\"value\");\n\t });\n\t\n\t return tickListOptions;\n\t }\n\t }]);\n\t\n\t return Module_ContactForm;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_ContactForm;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Component_InputValidatorv2 = (function (_Abstract2) {\n\t _inherits(Component_InputValidatorv2, _Abstract2);\n\t\n\t function Component_InputValidatorv2(el, options) {\n\t _classCallCheck(this, Component_InputValidatorv2);\n\t\n\t _get(Object.getPrototypeOf(Component_InputValidatorv2.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), \"component\");\n\t this.EMAIL_REGULAR_EXPRESSION = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\t this.bindEvents();\n\t $(\"select.c-label-select__fields\").selectric({\n\t disableOnMobile: false,\n\t nativeOnMobile: false,\n\t onChange: function onChange() {\n\t $(\".selectric-c-label-select__fields\").removeClass(\"is-invalid\");\n\t }\n\t }).on(\"selectric-before-open\", function () {\n\t if ($(\".selectric-c-label-select__fields\").hasClass(\"is-invalid\")) {\n\t $(\".selectric-c-label-select__fields\").removeClass(\"is-invalid\");\n\t }\n\t });\n\t }\n\t\n\t _createClass(Component_InputValidatorv2, [{\n\t key: \"bindEvents\",\n\t value: function bindEvents() {\n\t var _this = this;\n\t\n\t this.$el.find(\"input\").blur(function (e) {\n\t return _this.onInputBlurred(e);\n\t });\n\t this.$el.find(\"input\").keyup(function (e) {\n\t return _this.onInputKeyUp(e);\n\t });\n\t this.$el.find(\"textarea\").blur(function (e) {\n\t return _this.onTextareBlurred(e);\n\t });\n\t this.$el.find(\"textarea\").keyup(function (e) {\n\t return _this.onTextareKeyUp(e);\n\t });\n\t if (typeof this.options.submit_button_selector !== \"undefined\") {\n\t this.$el.find(this.options.submit_button_selector).click(function (e) {\n\t return _this.onSubmitButtonClicked(e);\n\t });\n\t }\n\t }\n\t }, {\n\t key: \"onInputBlurred\",\n\t value: function onInputBlurred(e) {\n\t var $input = $(e.currentTarget);\n\t this.validateElement($input);\n\t }\n\t }, {\n\t key: \"onInputKeyDown\",\n\t value: function onInputKeyDown(e) {\n\t var $input = $(e.currentTarget);\n\t return this.forceCharacterLimits($input);\n\t }\n\t }, {\n\t key: \"onInputKeyUp\",\n\t value: function onInputKeyUp(e) {\n\t var $input = $(e.currentTarget);\n\t this.validateElement($input);\n\t }\n\t }, {\n\t key: \"onTextareKeyUp\",\n\t value: function onTextareKeyUp(e) {\n\t var $input = $(e.currentTarget);\n\t this.validateElement($input);\n\t }\n\t }, {\n\t key: \"onTextareBlurred\",\n\t value: function onTextareBlurred(e) {\n\t var $input = $(e.currentTarget);\n\t this.validateElement($input);\n\t }\n\t }, {\n\t key: \"forceCharacterLimits\",\n\t value: function forceCharacterLimits($element) {\n\t var characterLimit = $element.data(\"character-limit\");\n\t if (!characterLimit) {\n\t return true;\n\t }\n\t\n\t var elementValue = $element.val();\n\t if (elementValue.length > characterLimit) {\n\t return false;\n\t }\n\t return true;\n\t }\n\t }, {\n\t key: \"validateTextarea\",\n\t value: function validateTextarea($element) {\n\t if ($element.val()) {\n\t $element.removeClass(\"invalid-input\");\n\t $element.closest(\".c-label-input-ctn\").removeClass(\"invalid-input\");\n\t return true;\n\t } else {\n\t $element.addClass(\"invalid-input\");\n\t $element.closest(\".c-label-input-ctn\").addClass(\"invalid-input\");\n\t return false;\n\t }\n\t }\n\t }, {\n\t key: \"validateElement\",\n\t value: function validateElement($element) {\n\t if (!$element.closest(\".c-label-input-ctn\").hasClass(\"required\")) {\n\t return;\n\t }\n\t\n\t var inputType = $element.attr(\"type\");\n\t var bValidInput = $element.val();\n\t if (inputType.toLowerCase() === \"email\") {\n\t bValidInput = this.EMAIL_REGULAR_EXPRESSION.test($element.val());\n\t }\n\t\n\t if ($element.data(\"match\")) {\n\t var matchSelector = $element.data(\"match\");\n\t var $elementToMatch = $(matchSelector);\n\t if ($elementToMatch.length) {\n\t if ($element.val() !== $elementToMatch.val()) {\n\t bValidInput = false;\n\t }\n\t } else {\n\t console.log(\"input-validator: Failed to find matching element to compare data!\");\n\t }\n\t }\n\t\n\t if (bValidInput) {\n\t $(\".-error\").html(\"Comments Field*\");\n\t $element.removeClass(\"invalid-input\");\n\t $element.closest(\".c-label-input-ctn\").removeClass(\"invalid-input\");\n\t return true;\n\t } else {\n\t $(\".-error\").html(\"Comments*\");\n\t $element.addClass(\"invalid-input\");\n\t $element.closest(\".c-label-input-ctn\").addClass(\"invalid-input\");\n\t return false;\n\t }\n\t }\n\t }, {\n\t key: \"onErrorScrollTop\",\n\t value: function onErrorScrollTop() {\n\t $(\"html,body\").animate({\n\t scrollTop: $(\".-scrolltop\").offset().top - 30\n\t }, \"fast\");\n\t }\n\t }, {\n\t key: \"formValidation\",\n\t value: function formValidation(bAllValidated, e) {\n\t var context = this;\n\t if (bAllValidated) {\n\t context.$el.find(\".form-is-valid\").removeClass(\"-hide\");\n\t context.$el.find(\".form-is-invalid\").addClass(\"-hide\");\n\t // Change checkbox value when checked\n\t var $signMeUp = $('input[name=\"subscribe\"]');\n\t if ($signMeUp.prop(\"checked\")) {\n\t $(\".js-form-stream-val\").attr(\"value\", 1);\n\t } else {\n\t $(\".js-form-stream-val\").attr(\"value\", 0);\n\t }\n\t var htmlLoader = \"
\";\n\t $(\".cta-input-sugarform--send-btn\").after(htmlLoader);\n\t $(\".cta-input-sugarform--send-btn\").css(\"visibility\", \"hidden\");\n\t\n\t if (window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\") {\n\t return;\n\t }\n\t if ($(e.currentTarget).hasClass(\"stem-submit-btn\")) {\n\t context.setCookie(\"stemlearningpopup\", \"clicked\", 100000);\n\t }\n\t $(\"#aspnetForm\").attr(\"action\", $(\".cta-input-form\").data(\"sugar-market-post-url\"));\n\t $(\"#aspnetForm\").unbind(\"submit\").removeAttr(\"onsubmit\");\n\t $(\"#aspnetForm\").submit();\n\t } else {\n\t context.$el.find(\".form-is-valid\").addClass(\"-hide\");\n\t context.$el.find(\".form-is-invalid\").removeClass(\"-hide\");\n\t grecaptcha.reset();\n\t context.onErrorScrollTop();\n\t e.preventDefault();\n\t e.stopImmediatePropagation();\n\t }\n\t }\n\t }, {\n\t key: \"recaptchaValidation\",\n\t value: function recaptchaValidation(context, bAllValidated, e) {\n\t $.ajax({\n\t type: \"GET\",\n\t url: \"/WebApi/ReCaptchaApi/VerifyReCaptcha?reCaptchaResponse=\" + grecaptcha.getResponse(),\n\t error: function error(response) {\n\t bAllValidated = false;\n\t $(\".g-recaptcha__errormsg\").addClass(\"-hide\");\n\t context.formValidation(bAllValidated, e);\n\t },\n\t success: function success(response) {\n\t if (response == true) {\n\t $(\".g-recaptcha__errormsg\").addClass(\"-hide\");\n\t context.formValidation(bAllValidated, e);\n\t } else {\n\t bAllValidated = false;\n\t $(\".g-recaptcha__errormsg\").removeClass(\"-hide\");\n\t context.formValidation(bAllValidated, e);\n\t }\n\t }\n\t });\n\t }\n\t }, {\n\t key: \"onSubmitButtonClicked\",\n\t value: function onSubmitButtonClicked(e) {\n\t var context = this;\n\t var bAllValidated = true;\n\t var dropdownValidated = true;\n\t var textareaValidated = true;\n\t if ($(\".cta-input-form\").data(\"sugar-market-form\") == \"contact\") {\n\t if ($(\".c-label-select__fields\").val() == \"-1\") {\n\t $(\".selectric-c-label-select__fields\").addClass(\"is-invalid\");\n\t dropdownValidated = false;\n\t }\n\t if (this.$el.find(\".required textarea\").length > 0) {\n\t textareaValidated = this.validateTextarea(this.$el.find(\".required textarea\"));\n\t }\n\t this.$el.find(\".required input\").each(function () {\n\t var $input = $(this);\n\t if (!context.validateElement($input)) {\n\t bAllValidated = false;\n\t }\n\t });\n\t if (bAllValidated && textareaValidated && dropdownValidated) {\n\t this.$el.find(\".form-is-valid\").removeClass(\"-hide\");\n\t this.$el.find(\".form-is-invalid\").addClass(\"-hide\");\n\t } else {\n\t this.$el.find(\".form-is-valid\").addClass(\"-hide\");\n\t this.$el.find(\".form-is-invalid\").removeClass(\"-hide\");\n\t this.onErrorScrollTop();\n\t e.preventDefault();\n\t e.stopImmediatePropagation();\n\t }\n\t e.preventDefault();\n\t e.stopImmediatePropagation();\n\t context.recaptchaValidation(context, bAllValidated, e);\n\t } else {\n\t if ($(\".c-label-select__fields\").length) {\n\t if ($(\".c-label-select__fields\").val() == \"-1\") {\n\t $(\".selectric-c-label-select__fields\").addClass(\"is-invalid\");\n\t bAllValidated = false;\n\t }\n\t }\n\t this.$el.find(\".required input\").each(function () {\n\t var $input = $(this);\n\t if (!context.validateElement($input)) {\n\t bAllValidated = false;\n\t }\n\t });\n\t e.preventDefault();\n\t e.stopImmediatePropagation();\n\t context.recaptchaValidation(context, bAllValidated, e);\n\t }\n\t }\n\t }]);\n\t\n\t return Component_InputValidatorv2;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Component_InputValidatorv2;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Module_Filter = (function (_Abstract2) {\n\t _inherits(Module_Filter, _Abstract2);\n\t\n\t function Module_Filter(el, options) {\n\t _classCallCheck(this, Module_Filter);\n\t\n\t _get(Object.getPrototypeOf(Module_Filter.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\n\t this.FADE_OUT_DURATION = 50;\n\t this.FADE_IN_DURATION = 100;\n\t this.m_bIsOurPeopleFilter = $(\".-read-bio\").length;\n\t\n\t this.initModule();\n\t }\n\t\n\t /********* Initialising ***************/\n\t\n\t _createClass(Module_Filter, [{\n\t key: \"initModule\",\n\t value: function initModule() {\n\t this.$mList = this.$el.closest(\".m-list\");\n\t this.$mListColumns = this.$el.closest(\".m-list\").find(\".m-columns__columns\");\n\t this.$mContainerList = this.$mList.find(\".m-list__list\");\n\t this.$elItemBtn = this.$el.find(\"a\");\n\t this.$elItemSelect = this.$el.find(\"select\");\n\t this.initListener();\n\t this.triggers();\n\t this.setBorders();\n\t }\n\t }, {\n\t key: \"initListener\",\n\t value: function initListener() {\n\t var _this = this;\n\t\n\t this.$el.on(\"click\", \"a\", function (e) {\n\t return _this.onItemClicked(e);\n\t });\n\t this.$el.on(\"change\", \"select\", function (e) {\n\t return _this.onSelectBoxChanged(e);\n\t });\n\t\n\t if (this.m_bIsOurPeopleFilter) {\n\t $(\".m-columns__column\").on(\"click\", \".-read-bio, .-read-bio-mobile, .m-list__name\", function (e) {\n\t return _this.onReadBioClicked(e);\n\t });\n\t\n\t if (window.location.hash) {\n\t var hashRemoved = encodeURI(window.location.hash.replace(\"#\", \"\"));\n\t var context = this;\n\t $(\".m-list__item[data-name!='']\").each(function () {\n\t var $this = $(this);\n\t var encodedDataName = encodeURI($this.data(\"name\"));\n\t if (encodedDataName === hashRemoved) {\n\t context.goToListItemDetail.call(context, $this, true, false);\n\t return false;\n\t }\n\t });\n\t }\n\t\n\t //Triggers the filter to display on the first item by default\n\t this.$el.find(\".-btns a.-active\").click();\n\t }\n\t $(\".-back\").click(function (e) {\n\t return _this.onBackButtonClicked(e);\n\t });\n\t this.$mList.on(\"click\", \".m-list__item.-accordion .m-list__description, .m-list__item.-accordion .m-list__avatar, .m-list__item.-accordion .-open-accordion\", function (e) {\n\t return _this.onAccordianItemClicked(e);\n\t });\n\t }\n\t }, {\n\t key: \"goToListItemDetail\",\n\t value: function goToListItemDetail(_$listItem, fadeTo, _scrollToDetail) {\n\t if (!_$listItem.length) {\n\t console.log(\"no list item found\");\n\t return;\n\t }\n\t\n\t // $(\"body\").animate({scrollTop:});\n\t // $(\"body\").animate({scrollTop:$(\".m-profile\").offset().top});\n\t\n\t if (typeof _scrollToDetail === \"undefined\") {\n\t _scrollToDetail = true;\n\t }\n\t\n\t if (typeof fadeTo === \"undefined\") {\n\t fadeTo = true;\n\t }\n\t\n\t this.copyListItemDetailsToDetailItem(_$listItem);\n\t\n\t var context = this;\n\t\n\t $(\".m-list__list\").stop(true, true);\n\t if (fadeTo) {\n\t this.$mContainerList.fadeOut(this.FADE_OUT_DURATION, function () {\n\t $(\".m-profile\").fadeIn({ duration: this.FADE_IN_DURATION });\n\t if (_scrollToDetail) {\n\t context.scrollToTopOfProfileElement(true);\n\t }\n\t });\n\t } else {\n\t this.$mContainerList.hide();\n\t $(\".m-profile\").show();\n\t if (_scrollToDetail) {\n\t this.scrollToTopOfProfileElement(false);\n\t }\n\t }\n\t\n\t this.$el.addClass('disabled');\n\t this.$el.find(\"select\").prop(\"disabled\", true);\n\t window.location.hash = _$listItem.data(\"name\");\n\t }\n\t }, {\n\t key: \"scrollToTopOfProfileElement\",\n\t value: function scrollToTopOfProfileElement(_bAnimateTo) {\n\t if (_bAnimateTo) {\n\t $(\"html,body\").animate({ scrollTop: $(\".m-profile\").offset().top });\n\t } else {\n\t $(\"html,body\").scrollTop($(\".m-profile\").offset().top);\n\t }\n\t }\n\t }, {\n\t key: \"onReadBioClicked\",\n\t value: function onReadBioClicked(e) {\n\t e.preventDefault(); //Removing this will cause the page to jump to the top, then scroll down\n\t //Also causes issues with mobile\n\t var $listItem = $(e.currentTarget).closest(\".m-list__item\");\n\t this.goToListItemDetail($listItem);\n\t }\n\t }, {\n\t key: \"copyListItemDetailsToDetailItem\",\n\t value: function copyListItemDetailsToDetailItem(_$item) {\n\t\n\t var classesTextToCopy = [\".m-list__name\", \".m-list__about\"];\n\t var classesHTMLToCopy = [\".m-profile__phone\", \".m-profile__email\"];\n\t\n\t for (var i = classesTextToCopy.length - 1; i >= 0; i--) {\n\t var selector = classesTextToCopy[i];\n\t this.copySelectorTextFromListToDetail(_$item, selector);\n\t }\n\t\n\t for (var i = classesHTMLToCopy.length - 1; i >= 0; i--) {\n\t var selector = classesHTMLToCopy[i];\n\t this.copySelectorHTMLFromListToDetail(_$item, selector);\n\t }\n\t\n\t this.copySocialMediaOptionsFromListItemToDetail(_$item);\n\t var htmlBioData = _$item.find(\".m-profile__bio\").html().trim();\n\t var dataResponsiveImageAttr = _$item.find(\".m-list__avatar\").data(\"responsive-image\");\n\t var $profileAvatarElement = $(\".m-profile\").find(\".m-profile__avatar\");\n\t\n\t $profileAvatarElement.css(\"background-image\", \"none\");\n\t $profileAvatarElement.data(\"responsive-image\", dataResponsiveImageAttr);\n\t\n\t var $profileBioElement = $(\".m-profile\").find(\".m-profile__bio\");\n\t if (htmlBioData) {\n\t $profileBioElement.html(htmlBioData);\n\t $profileBioElement.show();\n\t } else {\n\t $profileBioElement.hide();\n\t }\n\t $(\"body\").trigger(\"responsive-image\", { $responsiveImageTargets: $profileAvatarElement });\n\t }\n\t }, {\n\t key: \"copySocialMediaOptionsFromListItemToDetail\",\n\t value: function copySocialMediaOptionsFromListItemToDetail(_$item) {\n\t\n\t var $listItemTwitterElement = _$item.find(\".-twitter\");\n\t var $listItemLinkedinElement = _$item.find(\".-linkedin\");\n\t\n\t // var twitterOptions = $listItemTwitterElement.data(\"component-options\");\n\t // var linkedinOptions = $listItemLinkedinElement.data(\"component-options\");\n\t\n\t var $profileContainerElement = $(\".m-profile\");\n\t var $profileContainerTwitterElement = $profileContainerElement.find(\".-twitter\");\n\t var $profileContainerLinkedinElement = $profileContainerElement.find(\".-linkedin\");\n\t\n\t if ($listItemTwitterElement.length) {\n\t\n\t $profileContainerTwitterElement.prop(\"href\", $listItemTwitterElement.prop(\"href\"));\n\t // $profileContainerTwitterElement.data(\"component-options\",twitterOptions);\n\t $profileContainerTwitterElement.show();\n\t } else {\n\t $profileContainerTwitterElement.hide();\n\t }\n\t\n\t if ($listItemLinkedinElement.length) {\n\t\n\t $profileContainerLinkedinElement.prop(\"href\", $listItemLinkedinElement.prop(\"href\"));\n\t // $profileContainerLinkedinElement.data(\"component-options\",linkedinOptions);\n\t $profileContainerLinkedinElement.show();\n\t } else {\n\t $profileContainerLinkedinElement.hide();\n\t }\n\t\n\t // if(!$listItemLinkedinElement.length && !$listItemTwitterElement.length)\n\t // {\n\t // $(\".m-profile__description .m-profile__details > a\").hide();\n\t // }\n\t // else\n\t // {\n\t // $(\".m-profile__description .m-profile__details > a\").show();\n\t // }\n\t }\n\t }, {\n\t key: \"copySelectorTextFromListToDetail\",\n\t value: function copySelectorTextFromListToDetail(_$item, _$selector) {\n\t var value = _$item.find(_$selector).text();\n\t var profileSelector = _$selector.replace(\"m-list\", \"m-profile\");\n\t $(\".m-profile\").find(profileSelector).text(value);\n\t }\n\t }, {\n\t key: \"copySelectorHTMLFromListToDetail\",\n\t value: function copySelectorHTMLFromListToDetail(_$item, _$selector) {\n\t var value = _$item.find(_$selector).html();\n\t var profileSelector = _$selector.replace(\"m-list\", \"m-profile\");\n\t $(\".m-profile\").find(profileSelector).html(value);\n\t }\n\t }, {\n\t key: \"onBackButtonClicked\",\n\t value: function onBackButtonClicked(e) {\n\t e.preventDefault();\n\t // history.pushState(null, null, '');\n\t window.location.hash = \"listings\";\n\t // $(\".m-profile\").css('display','none');\n\t // $(\".m-list__list\").css('display','block');\n\t\n\t // window.location.origin + window.location.pathname\n\t\n\t $(\".m-profile\").stop(true, true).fadeOut(this.FADE_OUT_DURATION, function () {\n\t $(\".m-list__list\").fadeIn({ duration: this.FADE_IN_DURATION });\n\t });\n\t\n\t this.$el.removeClass('disabled');\n\t this.$el.find(\"select\").prop(\"disabled\", false);\n\t }\n\t }, {\n\t key: \"onSelectBoxChanged\",\n\t value: function onSelectBoxChanged(e) {\n\t this.changeStatus(e);\n\t }\n\t }, {\n\t key: \"onItemClicked\",\n\t value: function onItemClicked(e) {\n\t this.changeStatus(e);\n\t }\n\t }, {\n\t key: \"onAccordianItemClicked\",\n\t value: function onAccordianItemClicked(e) {\n\t console.log('click accordion');\n\t\n\t var $parent = $(e.target).closest('.m-list__item');\n\t var $accordianItems = $('.m-list__item');\n\t\n\t if (!$parent.hasClass(\"-is-open\")) {\n\t $accordianItems.removeClass(\"-is-open\");\n\t $parent.addClass(\"-is-open\");\n\t } else {\n\t $parent.removeClass(\"-is-open\");\n\t }\n\t }\n\t }, {\n\t key: \"changeStatus\",\n\t value: function changeStatus(e) {\n\t e.preventDefault();\n\t var f;\n\t $(this.$el).find(\"a\").removeClass(\"-active\");\n\t\n\t if ($(e.target).hasClass('c-form__select')) {\n\t f = $(e.target).val();\n\t $('[data-filter-option=\"' + f + '\"]').addClass('-active');\n\t } else {\n\t f = $(e.target).attr('data-filter-option');\n\t\n\t this.$elItemSelect.val(f);\n\t }\n\t\n\t if ($(this.$el).hasClass('disabled')) {\n\t return;\n\t }\n\t\n\t var $this = $(this);\n\t\n\t $(e.target).addClass('-active');\n\t this.filterList(f);\n\t }\n\t }, {\n\t key: \"filterList\",\n\t value: function filterList(option) {\n\t console.log(option);\n\t if (option == \"all\") {\n\t this.$mContainerList.find(\".m-list__item\").addClass('show');\n\t } else {\n\t this.$mContainerList.find(\".m-list__item\").removeClass('show');\n\t $('[data-filter-item*=\";' + option + ';\"]').addClass('show');\n\t }\n\t this.setBorders();\n\t }\n\t }, {\n\t key: \"setBorders\",\n\t value: function setBorders() {\n\t\n\t this.$mContainerList.find(\".m-list__item.show\").removeClass(\"-no-bottom-border\");\n\t this.$mContainerList.find(\".m-list__item.show:last\").addClass(\"-no-bottom-border\");\n\t }\n\t }, {\n\t key: \"triggers\",\n\t value: function triggers() {\n\t\n\t activateAccordion();\n\t $(window).resize(function () {\n\t activateAccordion();\n\t });\n\t\n\t function activateAccordion() {\n\t if ($(\"body\").hasClass(\"mobile\")) {\n\t $('.m-list__item').addClass('-accordion');\n\t } else {\n\t $('.m-list__item').removeClass('-accordion');\n\t }\n\t }\n\t }\n\t }]);\n\t\n\t return Module_Filter;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_Filter;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, '__esModule', {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Module_Modal = (function (_Abstract2) {\n\t _inherits(Module_Modal, _Abstract2);\n\t\n\t function Module_Modal(el, options) {\n\t _classCallCheck(this, Module_Modal);\n\t\n\t _get(Object.getPrototypeOf(Module_Modal.prototype), 'constructor', this).call(this, el, $.extend(true, {}, options), 'module');\n\t console.log(this.options, 'KarthikOptions');\n\t console.log(el, '$el');\n\t this.initModule();\n\t }\n\t\n\t _createClass(Module_Modal, [{\n\t key: 'initModule',\n\t value: function initModule() {\n\t this.initListeners();\n\t }\n\t }, {\n\t key: 'initListeners',\n\t value: function initListeners() {\n\t var _this = this;\n\t if (_this.getCookie(\"stemlearningpopup\") === \"\") {\n\t setTimeout(function () {\n\t $(\".c-modal\").removeClass(\"c-modal__hidden\");\n\t }, _this.options.popupDelayTime);\n\t }\n\t\n\t //--Cancel Button Clicked\n\t function onCancelPopup() {\n\t $(\".c-modal\").fadeOut(\"fast\");\n\t _this.setCookie(\"stemlearningpopup\", \"clicked\", 100000);\n\t }\n\t\n\t $(\".c-modal .-icon_close, .c-modal .c-btn\").on(\"click\", onCancelPopup);\n\t }\n\t }]);\n\t\n\t return Module_Modal;\n\t})(_systemAbstract2['default']);\n\t\n\texports['default'] = Module_Modal;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Module_Tabs = (function (_Abstract2) {\n\t _inherits(Module_Tabs, _Abstract2);\n\t\n\t function Module_Tabs(el, options) {\n\t _classCallCheck(this, Module_Tabs);\n\t\n\t _get(Object.getPrototypeOf(Module_Tabs.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\n\t this.initModule();\n\t }\n\t\n\t /********* Initialising ***************/\n\t\n\t _createClass(Module_Tabs, [{\n\t key: \"initModule\",\n\t value: function initModule() {\n\t // this.$mList = this.$el.closest(\".m-list\");\n\t // this.$mListColumns = this.$el.closest(\".m-list\").find(\".m-columns__columns\");\n\t // this.$mContainerList = this.$mList.find(\".m-list__list\");\n\t // this.$elItemBtn = this.$el.find(\"a\");\n\t // this.$elItemSelect = this.$el.find(\"select\")\n\t this.initListener();\n\t }\n\t }, {\n\t key: \"initListener\",\n\t value: function initListener() {\n\t // this.$el.on(\"click\", \"a\", (e) => this.onItemClicked(e));\n\t // this.$el.on(\"change\", \"select\", (e) => this.onSelectBoxChanged(e));\n\t\n\t this.onTabsItemClicked();\n\t }\n\t }, {\n\t key: \"onTabsItemClicked\",\n\t value: function onTabsItemClicked() {\n\t $(\".c-tabs > li > a\").on(\"click\", function (e) {\n\t e.preventDefault();\n\t var hash = $(this).attr('href');\n\t //window.location.hash = 'tab-' + hash.replace('#', '');\n\t\n\t if ($(this).hasClass(\"-active\")) {\n\t //detection for current tab\n\t return;\n\t } else {\n\t $(\".c-tabs__content > .c-tabs__content-item\").hide();\n\t $(\".c-tabs > li > a\").removeClass(\"-active\");\n\t $(this).addClass(\"-active\"); // Activate this\n\t $(hash).fadeIn(); // Show content for current tab\n\t }\n\t });\n\t\n\t $(\".c-tabs > li:first > a\").trigger('click');\n\t\n\t if (window.location.hash != '') {\n\t $('.c-tabs > li > a[href=\"' + window.location.hash.replace('tab-', '') + '\"]').trigger('click');\n\t var $tabElements = $('.c-tabs');\n\t $('html, body').animate({\n\t scrollTop: $tabElements.offset().top - 30\n\t }, 1000);\n\t }\n\t }\n\t }]);\n\t\n\t return Module_Tabs;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_Tabs;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\tvar Module_TwoColVerticallyStackedTiles = (function (_Abstract2) {\n\t _inherits(Module_TwoColVerticallyStackedTiles, _Abstract2);\n\t\n\t function Module_TwoColVerticallyStackedTiles(el, options) {\n\t _classCallCheck(this, Module_TwoColVerticallyStackedTiles);\n\t\n\t _get(Object.getPrototypeOf(Module_TwoColVerticallyStackedTiles.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t this.initialise();\n\t\n\t var LAZY_LOAD_TILES_OFF_SCREEN = true;\n\t\n\t this.orderedType = \"\";\n\t }\n\t\n\t _createClass(Module_TwoColVerticallyStackedTiles, [{\n\t key: \"initialise\",\n\t value: function initialise() {\n\t this.cacheElements();\n\t this.setOrderNumbersOnElements();\n\t this.initialiseListeners();\n\t this.reorderElements();\n\t }\n\t }, {\n\t key: \"setOrderNumbersOnElements\",\n\t value: function setOrderNumbersOnElements() {\n\t this.$tileContent.find(\"> *\").each(function (index, value) {\n\t $(this).attr(\"data-index\", index);\n\t });\n\t }\n\t }, {\n\t key: \"cacheElements\",\n\t value: function cacheElements() {\n\t this.$tileContent = this.$el.find(\".m-two-col-vertically-stacked-tiles-content\");\n\t this.$firstContentContainer = this.$el.find(\".-first-content-container\");\n\t this.$secondContentCotainer = this.$el.find(\".-second-content-container\");\n\t }\n\t }, {\n\t key: \"initialiseListeners\",\n\t value: function initialiseListeners() {\n\t var _this = this;\n\t\n\t $(window).resize(function (e) {\n\t return _this.onWindowResized(e);\n\t });\n\t $(\"body\").on('reorder-items', function () {\n\t return _this.onReorderElementsEventTriggered();\n\t });\n\t }\n\t }, {\n\t key: \"onWindowResized\",\n\t value: function onWindowResized(_event) {\n\t this.reorderElements();\n\t }\n\t }, {\n\t key: \"onReorderElementsEventTriggered\",\n\t value: function onReorderElementsEventTriggered(_event) {\n\t this.reorderElements(true);\n\t }\n\t }, {\n\t key: \"reorderElements\",\n\t value: function reorderElements(_forceReorder) {\n\t if (typeof _forceReorder === \"undefined\") {\n\t _forceReorder = false;\n\t }\n\t\n\t var desktopBreakpointSize = $(\"#bp-desktop\").width();\n\t\n\t var windowOuterWidth = $(window).outerWidth();\n\t\n\t var bDesktopSizeAndNewColumnType = windowOuterWidth >= desktopBreakpointSize && (this.orderedType !== \"two-col\" || _forceReorder);\n\t var bMobileSizeAndNewColumnType = windowOuterWidth < desktopBreakpointSize && (this.orderedType !== \"one-col\" || _forceReorder);\n\t\n\t if (bDesktopSizeAndNewColumnType || bMobileSizeAndNewColumnType) {\n\t this.$tileContent.append(this.$firstContentContainer.find(\" > a\").detach());\n\t this.$tileContent.append(this.$secondContentCotainer.find(\" > a\").detach());\n\t this.setTileContentInOriginalOrder();\n\t var $tileItems = this.$tileContent.find(\" > a\");\n\t var $dataResponsiveImages = $tileItems.find(\"[data-responsive-image]\");\n\t $dataResponsiveImages.removeClass(\"-defer-loading\");\n\t\n\t if (bDesktopSizeAndNewColumnType) {\n\t var context = this;\n\t var $nonHiddenItems = $tileItems.not('.-hide');\n\t\n\t $nonHiddenItems.each(function () {\n\t var $smallestTileContainer = context.getSmallestHeightTileContainer();\n\t $smallestTileContainer.append(this);\n\t });\n\t\n\t $tileItems.not(':not(.-hide)').each(function () {\n\t var $smallestTileContainer = context.getSmallestHeightTileContainer();\n\t $smallestTileContainer.append(this);\n\t });\n\t\n\t this.orderedType = \"two-col\";\n\t } else if (bMobileSizeAndNewColumnType) {\n\t this.$firstContentContainer.append($tileItems);\n\t this.orderedType = \"one-col\";\n\t }\n\t\n\t $(\"body\").trigger(\"responsive-image\", { \"$responsiveImageTargets\": $dataResponsiveImages });\n\t }\n\t }\n\t }, {\n\t key: \"setTileContentInOriginalOrder\",\n\t value: function setTileContentInOriginalOrder() {\n\t var bAscendingOrder = this.$el.hasClass(\"-ascending-order\");\n\t\n\t var $detachedItems = this.$tileContent.find(\"> *\").detach();\n\t if (bAscendingOrder) {\n\t $detachedItems.sort(function (a, b) {\n\t return +b.getAttribute(\"data-index\") - +a.getAttribute(\"data-index\");\n\t }).appendTo(this.$tileContent);\n\t } else {\n\t $detachedItems.sort(function (a, b) {\n\t return +a.getAttribute(\"data-index\") - +b.getAttribute(\"data-index\");\n\t }).appendTo(this.$tileContent);\n\t }\n\t }\n\t }, {\n\t key: \"getFirstContainerTileHeight\",\n\t value: function getFirstContainerTileHeight() {\n\t return this.getHeightOfTilesInContainer(this.$firstContentContainer);\n\t }\n\t }, {\n\t key: \"getSecondContainerTileHeight\",\n\t value: function getSecondContainerTileHeight() {\n\t return this.getHeightOfTilesInContainer(this.$secondContentCotainer);\n\t }\n\t }, {\n\t key: \"getHeightOfTilesInContainer\",\n\t value: function getHeightOfTilesInContainer(_$container) {\n\t var $tiles = _$container.find(\"> a\");\n\t var height = 0;\n\t $tiles.each(function () {\n\t height += $(this).height();\n\t });\n\t\n\t return height;\n\t }\n\t }, {\n\t key: \"getSmallestHeightTileContainer\",\n\t value: function getSmallestHeightTileContainer() {\n\t if (this.getFirstContainerTileHeight() <= this.getSecondContainerTileHeight()) {\n\t return this.$firstContentContainer;\n\t } else {\n\t return this.$secondContentCotainer;\n\t }\n\t }\n\t }]);\n\t\n\t return Module_TwoColVerticallyStackedTiles;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_TwoColVerticallyStackedTiles;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t\tvalue: true\n\t});\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\tvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _systemAbstract = __webpack_require__(5);\n\t\n\tvar _systemAbstract2 = _interopRequireDefault(_systemAbstract);\n\t\n\t//No longer using the youtube API, too much can go wrong to override the theme\n\t//and even using it we cant override the play / pause buttons *sad face*\n\t\n\t//A global loader to get the youtube JavascriptAPI loaded\n\t//This only needs to run once, so we run it outside of an instantiated class\n\t// var onYoutubeloadedCallbacks = [];\n\t// var bYoutubeAPILoaded = false;\n\t// $.getScript(\"//www.youtube.com/player_api\", function()\n\t// {\n\t// var yt_int = setInterval(function()\n\t// {\n\t// if(typeof YT === \"object\")\n\t// {\n\t// clearInterval(yt_int);\n\t// for(var i =0 ; i < onYoutubeloadedCallbacks.length; ++i)\n\t// {\n\t// \tonYoutubeloadedCallbacks[i]();\n\t// }\n\t// onYoutubeloadedCallbacks = null;\n\t// }\n\t// },500);\n\t// });\n\t\n\tvar Module_VideoTile = (function (_Abstract2) {\n\t\t_inherits(Module_VideoTile, _Abstract2);\n\t\n\t\tfunction Module_VideoTile(el, options) {\n\t\t\t_classCallCheck(this, Module_VideoTile);\n\t\n\t\t\t_get(Object.getPrototypeOf(Module_VideoTile.prototype), \"constructor\", this).call(this, el, $.extend(true, {}, options), 'module');\n\t\t\tconsole.log(options);\n\t\n\t\t\tthis.bIsIOSDevice = navigator.userAgent.match(/(iPod|iPhone|iPad)/);\n\t\t\tthis.bIsYoutubeVideo = this.$el.find(\".youtube-player\").length;\n\t\t\tthis.youtubeID = \"\";\n\t\t\t// if(this.bIsYoutubeVideo)\n\t\t\t// {\n\t\t\t// \treturn;//dont do anything just yet\n\t\t\t// }\n\t\t\tif (this.bIsYoutubeVideo) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.initModule();\n\t\n\t\t\tthis.HIDE_VIDEO_CONTROLS_TIME_MILLISECONDS = 2000;\n\t\t\tthis.VIDEO_DURATION_UPDATE_TIME = 1000 / 30; //How often the scrub bar updates when the video is playing\n\t\t}\n\t\n\t\t/***** Initialising methods *******************/\n\t\n\t\t_createClass(Module_VideoTile, [{\n\t\t\tkey: \"initModule\",\n\t\t\tvalue: function initModule() {\n\t\t\t\tthis.initClassVariables();\n\t\t\t\tthis.initListeners();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initClassVariables\",\n\t\t\tvalue: function initClassVariables() {\n\t\t\t\tthis.$video = this.$el.find('video');\n\t\t\t\tthis.video = null;\n\t\t\t\t// this.$youtubeVideoIframe = null;\n\t\t\t\tthis.$youtubeVideoIframe = this.$el.find('.youtube-player');\n\t\t\t\tthis.bIsYoutubeVideo = this.$youtubeVideoIframe !== 0;\n\t\t\t\tthis.youtubePlayerInstance = null;\n\t\t\t\tthis.youtubePlayerState = null;\n\t\t\t\tthis.onDocumentBoundMouseMoveHandler = this.onDocumentMouseMoveHandler.bind(this);\n\t\n\t\t\t\tthis.initialiseVideoControls();\n\t\n\t\t\t\tif (this.$video.length) {\n\t\t\t\t\tthis.initialiseHTML5Video();\n\t\t\t\t} else if (this.bIsYoutubeVideo) {\n\t\t\t\t\tthis.youtubeID = this.$el.find(\"[name='youtube-id']\").val();\n\t\t\t\t\tthis.initialiseYoutubeImage();\n\t\t\t\t\tthis.initialiseYoutubeVideo();\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initialiseVideoControls\",\n\t\t\tvalue: function initialiseVideoControls() {\n\t\t\t\tthis.isScrubbing = false;\n\t\t\t\tthis.hideControlsTimer = null;\n\t\t\t\tthis.scrubBarTimer = null;\n\t\t\t\tthis.youtubeCountdownTimer = null;\n\t\t\t\tthis.$videoContainer = this.$el.find('.video-ctn');\n\t\t\t\tthis.$videoControlsContainer = this.$el.find('.video-controls');\n\t\t\t\tthis.$videoControlsPlayButton = this.$el.find('.video-controls-play-btn');\n\t\t\t\tthis.$videoControlsPauseButton = this.$el.find('.video-controls-pause-btn');\n\t\t\t\tthis.$videoControlsScrubBarContainer = this.$el.find('.video-controls-scrub-bar-container');\n\t\t\t\tthis.$videoControlsScrubBarDuration = this.$el.find('.video-controls-scrub-bar-duration');\n\t\t\t\tthis.$videoControlsTime = this.$el.find('.video-controls-time');\n\t\t\t\tthis.$videoControlsFullScreen = this.$el.find('.video-controls-full-screen');\n\t\t\t\tthis.$videoControlsExitFullScreen = this.$el.find('.video-controls-exit-full-screen');\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initialiseHTML5Video\",\n\t\t\tvalue: function initialiseHTML5Video() {\n\t\t\t\tthis.video = this.$video[0];\n\t\n\t\t\t\tif (this.bIsIOSDevice) {\n\t\t\t\t\tthis.video.load();\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t/***** Youtube Callbacks and methods *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"initialiseYoutubeImage\",\n\t\t\tvalue: function initialiseYoutubeImage() {\n\t\t\t\t// this.$el.find(\".video-ctn\").css(\"background-image\",\"url('http://img.youtube.com/vi/\"+this.youtubeID+\"/maxresdefault.jpg')\");\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"initialiseYoutubeVideo\",\n\t\t\tvalue: function initialiseYoutubeVideo() {\n\t\t\t\tvar _this = this;\n\t\n\t\t\t\tvar youtubeEmbedURL = \"https://www.youtube.com/embed/\" + this.youtubeID + \"?version=3&enablejsapi=1&autoplay=0&autohide=1&showinfo=0&modestbranding=1&rel=0&controls=0\";\n\t\n\t\t\t\tif (this.bIsIOSDevice) {\n\t\t\t\t\tyoutubeEmbedURL = \"https://www.youtube.com/embed/\" + this.youtubeID;\n\t\t\t\t\t// this.$el.find(\".youtube-player-overlay\").remove();\n\t\t\t\t\tthis.$el.find(\".video-controls\").remove();\n\t\t\t\t\tthis.$el.find(\".video-controls-time\").remove();\n\t\t\t\t\tthis.$el.find(\".video-controls-scrub-bar-container\").remove();\n\t\t\t\t}\n\t\n\t\t\t\tthis.$youtubeVideoIframe.attr(\"src\", youtubeEmbedURL);\n\t\n\t\t\t\tif (bYoutubeAPILoaded) {\n\t\t\t\t\tthis.onYoutubeAPILoaded();\n\t\t\t\t} else {\n\t\t\t\t\tonYoutubeloadedCallbacks.push(function () {\n\t\t\t\t\t\treturn _this.onYoutubeAPILoaded();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onYoutubeAPILoaded\",\n\t\t\tvalue: function onYoutubeAPILoaded() {\n\t\t\t\tvar _this2 = this;\n\t\n\t\t\t\tconsole.log(\"onYoutubeAPILoaded\");\n\t\t\t\t// this.video.addEventListener(\"timeupdate\", (e)=> this.onVideoTimeUpdate(e));\n\t\n\t\t\t\tvar player = new YT.Player(this.$youtubeVideoIframe[0], {\n\t\t\t\t\tevents: {\n\t\t\t\t\t\t'onReady': function onReady(e) {\n\t\t\t\t\t\t\treturn _this2.onYoutubePlayerInstanceReady(e);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'onStateChange': function onStateChange(e) {\n\t\t\t\t\t\t\treturn _this2.onYoutubePlayerInstanceStateChange(e);\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onYoutubePlayerInstanceReady\",\n\t\t\tvalue: function onYoutubePlayerInstanceReady(event) {\n\t\t\t\tthis.youtubePlayerInstance = event.target;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onYoutubePlayerInstanceStateChange\",\n\t\t\tvalue: function onYoutubePlayerInstanceStateChange(event) {\n\t\t\t\tvar _this3 = this;\n\t\n\t\t\t\tthis.youtubePlayerState = event.data;\n\t\t\t\tswitch (event.data) {\n\t\t\t\t\tcase YT.PlayerState.ENDED:\n\t\t\t\t\tcase YT.PlayerState.PAUSED:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.onVideoPaused();\n\t\t\t\t\t\t\tthis.updateCountDownTimer();\n\t\t\t\t\t\t\twindow.clearInterval(this.youtubeCountdownTimer);\n\t\t\t\t\t\t\tthis.youtubeCountdownTimer = null;\n\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\tcase YT.PlayerState.BUFFERING:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\tcase YT.PlayerState.PLAYING:\n\t\t\t\t\tcase YT.PlayerState.CUED:\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.$videoContainer.css(\"background-image\", \"none\");\n\t\t\t\t\t\t\tthis.$youtubeVideoIframe.removeClass(\"-hide\");\n\t\n\t\t\t\t\t\t\tthis.onVideoPlaying();\n\t\t\t\t\t\t\tthis.youtubeCountdownTimer = window.setInterval(function () {\n\t\t\t\t\t\t\t\treturn _this3.updateCountDownTimer();\n\t\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t/***** Initialising Event Listeners *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"initListeners\",\n\t\t\tvalue: function initListeners() {\n\t\t\t\tvar _this4 = this;\n\t\n\t\t\t\tdocument.addEventListener(\"fullscreenchange\", function (e) {\n\t\t\t\t\treturn _this4.onFullScreenChange(e);\n\t\t\t\t});\n\t\t\t\tdocument.addEventListener(\"webkitfullscreenchange\", function (e) {\n\t\t\t\t\treturn _this4.onFullScreenChange(e);\n\t\t\t\t});\n\t\t\t\tdocument.addEventListener(\"mozfullscreenchange\", function (e) {\n\t\t\t\t\treturn _this4.onFullScreenChange(e);\n\t\t\t\t});\n\t\t\t\tdocument.addEventListener(\"MSFullscreenChange\", function (e) {\n\t\t\t\t\treturn _this4.onFullScreenChange(e);\n\t\t\t\t});\n\t\t\t\tthis.$videoControlsFullScreen.click(function (e) {\n\t\t\t\t\treturn _this4.onFullScreenClicked(e);\n\t\t\t\t});\n\t\t\t\tthis.$videoControlsExitFullScreen.click(function (e) {\n\t\t\t\t\treturn _this4.onExitFullScreenClicked(e);\n\t\t\t\t});\n\t\t\t\tthis.$videoContainer.click(function (e) {\n\t\t\t\t\treturn _this4.onVideoContainerClicked(e);\n\t\t\t\t});\n\t\t\t\tthis.$videoContainer.mousemove(function (e) {\n\t\t\t\t\treturn _this4.onMouseMoveOnVideoContainer(e);\n\t\t\t\t});\n\t\n\t\t\t\tif (this.video) {\n\t\t\t\t\t$(document).mouseleave(function () {\n\t\t\t\t\t\t_this4.isScrubbing = false;\n\t\t\t\t\t\t$(document).off('mousemove', _this4.onDocumentBoundMouseMoveHandler);\n\t\t\t\t\t\t_this4.setCurrentTimeBasedOffScrubBarPosition();\n\t\t\t\t\t});\n\t\n\t\t\t\t\t$(document).mouseup(function () {\n\t\t\t\t\t\t_this4.isScrubbing = false;\n\t\t\t\t\t\t$(document).off('mousemove', _this4.onDocumentBoundMouseMoveHandler);\n\t\t\t\t\t\t_this4.setCurrentTimeBasedOffScrubBarPosition();\n\t\t\t\t\t});\n\t\t\t\t\tthis.$videoContainer.on('mousedown', function (e) {\n\t\t\t\t\t\treturn _this4.onHTML5VideoContainerMouseDown(e);\n\t\t\t\t\t});\n\t\t\t\t\tthis.video.addEventListener(\"play\", function (e) {\n\t\t\t\t\t\treturn _this4.onVideoPlaying(e);\n\t\t\t\t\t});\n\t\t\t\t\tthis.video.addEventListener(\"pause\", function (e) {\n\t\t\t\t\t\treturn _this4.onVideoPaused(e);\n\t\t\t\t\t});\n\t\t\t\t\tthis.video.addEventListener(\"timeupdate\", function (e) {\n\t\t\t\t\t\treturn _this4.onVideoTimeUpdate(e);\n\t\t\t\t\t});\n\t\t\t\t} else if (this.bIsYoutubeVideo) {\n\t\t\t\t\t// this.$el.find(\".youtube-player-overlay\").click((e) => this.preventDefaultAndToggleVideo(e));\n\t\t\t\t\t// this.$el.find(\".youtube-player-overlay\").on(\"touchstart\",(e) => this.preventDefaultAndToggleVideo(e));\n\t\t\t\t\t// this.$el.find(\".youtube-player-overlay\").mousedown((e) => this.preventDefault(e));\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"preventDefaultAndToggleVideo\",\n\t\t\tvalue: function preventDefaultAndToggleVideo(e) {\n\t\t\t\tthis.preventDefault(e);\n\t\t\t\tthis.toggleVideoPlayState();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"preventDefault\",\n\t\t\tvalue: function preventDefault(e) {\n\t\t\t\tif (!e.preventDefault) {\n\t\t\t\t\t//IE quirks\n\t\t\t\t\te.returnValue = false;\n\t\t\t\t\te.cancelBubble = true;\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\n\t\t\t/***** Responding to Full Screen Change Events *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"onFullScreenChange\",\n\t\t\tvalue: function onFullScreenChange(e) {\n\t\t\t\t// console.log(e);\n\t\t\t\tif (this.isCurrentlyFullscreen()) {\n\t\t\t\t\tthis.showCancelFullScreenButtonHideGoFullScreenButton();\n\t\t\t\t} else {\n\t\t\t\t\tthis.showGoFullScreenButtonHideCancelFullScreenButton();\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"isCurrentlyFullscreen\",\n\t\t\tvalue: function isCurrentlyFullscreen() {\n\t\t\t\tvar bIsFullScreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen || typeof document.msFullscreenElement !== 'undefined' && document.msFullscreenElement != null;\n\t\t\t\treturn bIsFullScreen;\n\t\t\t}\n\t\n\t\t\t/***** Responding to Native HTML Video Events *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"onVideoPlaying\",\n\t\t\tvalue: function onVideoPlaying(e) {\n\t\t\t\tconsole.log('onVideoPlaying');\n\t\t\t\tthis.showPauseButtonHidePlayButton();\n\t\t\t\tthis.setHideControlsTimer();\n\t\t\t\tthis.setScrubBarTimer();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onVideoPaused\",\n\t\t\tvalue: function onVideoPaused(e) {\n\t\t\t\tconsole.log('onVideoPaused');\n\t\t\t\tthis.showPlayButtonHidePauseButton();\n\t\t\t\tthis.showVideoControls();\n\t\t\t\tthis.clearScrubBarTimer();\n\t\t\t}\n\t\n\t\t\t//Note, we only use this video for the clock timer\n\t\t\t//As using this for the scrub bar, the update rate is far too slow\n\t\t}, {\n\t\t\tkey: \"onVideoTimeUpdate\",\n\t\t\tvalue: function onVideoTimeUpdate(e) {\n\t\t\t\tthis.updateCountDownTimer();\n\t\t\t}\n\t\n\t\t\t/***** Responding to Mouse Movement Events *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"onMouseMoveOnVideo\",\n\t\t\tvalue: function onMouseMoveOnVideo(e) {\n\t\t\t\tthis.showVideoControls();\n\t\t\t}\n\t\n\t\t\t// onMouseMoveOnVideoControlsContainer()\n\t\t\t// {\n\t\t\t// \tif(!this.video.playing)\n\t\t\t// \t{\n\t\t\t// \t\treturn;\n\t\t\t// \t}\n\t\t\t// \tconsole.log('onMouseMoveOnVideoControlsContainer');\n\t\t\t// \tthis.showVideoControls();\n\t\t\t// }\n\t\n\t\t}, {\n\t\t\tkey: \"onMouseMoveOnVideoContainer\",\n\t\t\tvalue: function onMouseMoveOnVideoContainer(mouseEvent) {\n\t\t\t\t// var x = mouseEvent.pageX - this.$el.offset().left;\n\t\t\t\tvar mouseY = mouseEvent.pageY - this.$el.find('.video-ctn').offset().top;\n\t\t\t\t//check if they're at a percentage from the bottom\n\t\n\t\t\t\tvar heightOfContainer = this.$el.find('.video-ctn').height();\n\t\n\t\t\t\tvar percentageOfPosition = mouseY / heightOfContainer * 100;\n\t\t\t\tif (percentageOfPosition >= 90) {\n\t\t\t\t\tthis.$el.addClass('larger-footer-controls');\n\t\t\t\t} else {\n\t\t\t\t\tthis.$el.removeClass('larger-footer-controls');\n\t\t\t\t}\n\t\n\t\t\t\t// console.log('onMouseMoveOnVideoContainer');\n\t\t\t\tthis.showVideoControls();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onDocumentMouseMoveHandler\",\n\t\t\tvalue: function onDocumentMouseMoveHandler(mouseEvent) {\n\t\t\t\tvar percentageX = this.getMousePercentageOnContainerFromEvent(mouseEvent);\n\t\t\t\tthis.setPercentageOfScrubBar(percentageX);\n\t\t\t}\n\t\n\t\t\t/***** Video State Changes *******************/\n\t\t}, {\n\t\t\tkey: \"setCurrentTimeBasedOffScrubBarPosition\",\n\t\t\tvalue: function setCurrentTimeBasedOffScrubBarPosition() {\n\t\t\t\t//This is 0-1 not 0-100\n\t\t\t\tvar scrubDecimalFraction = this.$videoControlsScrubBarDuration.width() / this.$videoControlsScrubBarContainer.width();\n\t\t\t\tthis.video.currentTime = this.video.duration * scrubDecimalFraction;\n\t\t\t}\n\t\n\t\t\t/***** Responding to Click Events *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"onHTML5VideoContainerMouseDown\",\n\t\t\tvalue: function onHTML5VideoContainerMouseDown(mouseEvent) {\n\t\t\t\tvar $target = $(mouseEvent.target);\n\t\t\t\tif (!this.isHTML5VideoAndClickedWithinScrubber(mouseEvent)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tif (this.isScrubbing) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tthis.isScrubbing = true;\n\t\t\t\t$(document).on('mousemove', this.onDocumentBoundMouseMoveHandler);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onVideoContainerClicked\",\n\t\t\tvalue: function onVideoContainerClicked(mouseEvent) {\n\t\t\t\tif (this.isScrubbing) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconsole.log(\"onVideoContainerClicked\");\n\t\t\t\tif (this.$el.hasClass(\"-fullscreen-on-play\") && this.isVideoPaused()) {\n\t\t\t\t\tthis.onFullScreenClicked();\n\t\t\t\t}\n\t\n\t\t\t\tif (this.isHTML5VideoAndClickedWithinScrubber(mouseEvent)) {\n\t\t\t\t\tvar percentageX = this.getMousePercentageOnContainerFromEvent(mouseEvent);\n\t\t\t\t\tthis.video.currentTime = this.video.duration * (percentageX / 100);\n\t\t\t\t\tthis.updateCountDownTimer();\n\t\t\t\t\tthis.onScrubBarTick();\n\t\t\t\t} else {\n\t\t\t\t\tthis.toggleVideoPlayState();\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"getMousePercentageOnContainerFromEvent\",\n\t\t\tvalue: function getMousePercentageOnContainerFromEvent(mouseEvent) {\n\t\t\t\tvar widthOfContainer = this.$el.find('.video-ctn').width();\n\t\t\t\tvar mouseX = mouseEvent.pageX - this.$el.find('.video-ctn').offset().left;\n\t\t\t\tvar percentageX = mouseX / widthOfContainer;\n\t\t\t\tif (percentageX < 0) {\n\t\t\t\t\tpercentageX = 0;\n\t\t\t\t} else if (percentageX > 1) {\n\t\t\t\t\tpercentageX = 1;\n\t\t\t\t}\n\t\n\t\t\t\tpercentageX *= 100;\n\t\n\t\t\t\treturn percentageX;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"isHTML5VideoAndClickedWithinScrubber\",\n\t\t\tvalue: function isHTML5VideoAndClickedWithinScrubber(mouseEvent) {\n\t\t\t\tif (!this.video) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tvar $clickedTarget = $(mouseEvent.target);\n\t\t\t\tvar mouseY = mouseEvent.pageY - this.$el.find('.video-ctn').offset().top;\n\t\t\t\tvar heightOfContainer = this.$el.find('.video-ctn').height();\n\t\t\t\tvar heightOfScrubber = this.$el.find('.video-controls-scrub-bar-container').height();\n\t\t\t\tvar clickedWithinScrubBar = mouseY >= heightOfContainer - heightOfScrubber;\n\t\t\t\treturn clickedWithinScrubBar;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"toggleVideoPlayState\",\n\t\t\tvalue: function toggleVideoPlayState() {\n\t\t\t\tif (this.video) {\n\t\t\t\t\tif (this.isVideoPaused()) {\n\t\t\t\t\t\tthis.video.play();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.video.pause();\n\t\t\t\t\t}\n\t\t\t\t} else if (this.youtubePlayerInstance) {\n\t\t\t\t\tif (this.isVideoPaused()) {\n\t\t\t\t\t\tthis.youtubePlayerInstance.playVideo();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.youtubePlayerInstance.pauseVideo();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onFullScreenClicked\",\n\t\t\tvalue: function onFullScreenClicked(e) {\n\t\t\t\t//Stop propagation so the click event on the video container doesnt get called\n\t\t\t\tif (typeof e !== \"undefined\") {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\n\t\t\t\tif (!this.$video.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tvar videoContainer = this.$el.find(\".video-ctn\")[0];\n\t\t\t\tif (videoContainer.requestFullscreen) {\n\t\t\t\t\tvideoContainer.requestFullscreen();\n\t\t\t\t} else if (videoContainer.mozRequestFullScreen) {\n\t\t\t\t\tvideoContainer.mozRequestFullScreen();\n\t\t\t\t} else if (videoContainer.webkitRequestFullscreen) {\n\t\t\t\t\tvideoContainer.webkitRequestFullscreen();\n\t\t\t\t} else if (videoContainer.msRequestFullscreen) {\n\t\t\t\t\tvideoContainer.msRequestFullscreen();\n\t\t\t\t} else if (typeof this.$video[0].webkitEnterFullscreen !== \"undefined\") {\n\t\t\t\t\tthis.$video[0].webkitEnterFullscreen();\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onExitFullScreenClicked\",\n\t\t\tvalue: function onExitFullScreenClicked(e) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\t// exit full-screen\n\t\t\t\tif (document.exitFullscreen) {\n\t\t\t\t\tdocument.exitFullscreen();\n\t\t\t\t} else if (document.webkitExitFullscreen) {\n\t\t\t\t\tdocument.webkitExitFullscreen();\n\t\t\t\t} else if (document.mozCancelFullScreen) {\n\t\t\t\t\tdocument.mozCancelFullScreen();\n\t\t\t\t} else if (document.msExitFullscreen) {\n\t\t\t\t\tdocument.msExitFullscreen();\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\t/***** Changing button states *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"showPlayButtonHidePauseButton\",\n\t\t\tvalue: function showPlayButtonHidePauseButton() {\n\t\t\t\tthis.$videoControlsPlayButton.removeClass(\"-hide\");\n\t\t\t\tthis.$videoControlsPauseButton.addClass(\"-hide\");\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"showPauseButtonHidePlayButton\",\n\t\t\tvalue: function showPauseButtonHidePlayButton() {\n\t\t\t\tthis.$videoControlsPauseButton.removeClass(\"-hide\");\n\t\t\t\tthis.$videoControlsPlayButton.addClass(\"-hide\");\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"showGoFullScreenButtonHideCancelFullScreenButton\",\n\t\t\tvalue: function showGoFullScreenButtonHideCancelFullScreenButton() {\n\t\t\t\tthis.$videoControlsFullScreen.removeClass(\"-hide\");\n\t\t\t\tthis.$videoControlsExitFullScreen.addClass(\"-hide\");\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"showCancelFullScreenButtonHideGoFullScreenButton\",\n\t\t\tvalue: function showCancelFullScreenButtonHideGoFullScreenButton() {\n\t\t\t\tthis.$videoControlsExitFullScreen.removeClass(\"-hide\");\n\t\t\t\tthis.$videoControlsFullScreen.addClass(\"-hide\");\n\t\t\t}\n\t\n\t\t\t/***** Hiding and showing the video controls container timer *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"updateCountDownTimer\",\n\t\t\tvalue: function updateCountDownTimer() {\n\t\n\t\t\t\tvar videoDuration = this.video ? this.video.duration : this.youtubePlayerInstance.getDuration();\n\t\t\t\tvar videoCurrentTime = this.video ? this.video.currentTime : this.youtubePlayerInstance.getCurrentTime();\n\t\n\t\t\t\tvar totalSecondsRemaining = videoDuration - videoCurrentTime;\n\t\n\t\t\t\tvar minutesRemaining = Math.floor(totalSecondsRemaining / 60);\n\t\t\t\tvar secondsRemaining = Math.floor(totalSecondsRemaining % 60);\n\t\n\t\t\t\tif (minutesRemaining < 10) {\n\t\t\t\t\tminutesRemaining = \"0\" + minutesRemaining;\n\t\t\t\t}\n\t\n\t\t\t\tif (secondsRemaining < 10) {\n\t\t\t\t\tsecondsRemaining = \"0\" + secondsRemaining;\n\t\t\t\t}\n\t\n\t\t\t\tvar timeText = minutesRemaining + \":\" + secondsRemaining;\n\t\t\t\tthis.$videoControlsTime.text(timeText);\n\t\t\t}\n\t\n\t\t\t/***** Hiding and showing the video controls container timer *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"isVideoPaused\",\n\t\t\tvalue: function isVideoPaused() {\n\t\t\t\tif (this.video) {\n\t\t\t\t\treturn this.video.paused;\n\t\t\t\t} else if (this.youtubePlayerInstance) {\n\t\t\t\t\treturn this.youtubePlayerState === null || this.youtubePlayerState === YT.PlayerState.ENDED || this.youtubePlayerState === YT.PlayerState.PAUSED;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"clearHideControlsTimer\",\n\t\t\tvalue: function clearHideControlsTimer() {\n\t\t\t\tif (this.hideControlsTimer === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\twindow.clearTimeout(this.hideControlsTimer);\n\t\t\t\tthis.hideControlsTimer = null;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"setHideControlsTimer\",\n\t\t\tvalue: function setHideControlsTimer() {\n\t\t\t\tvar _this5 = this;\n\t\n\t\t\t\tthis.clearHideControlsTimer();\n\t\t\t\tthis.hideControlsTimer = window.setTimeout(function () {\n\t\t\t\t\treturn _this5.onHideControlsTimerExpired();\n\t\t\t\t}, this.HIDE_VIDEO_CONTROLS_TIME_MILLISECONDS);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onHideControlsTimerExpired\",\n\t\t\tvalue: function onHideControlsTimerExpired() {\n\t\t\t\tthis.clearHideControlsTimer();\n\t\t\t\tthis.hideVideoControls();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"hideVideoControls\",\n\t\t\tvalue: function hideVideoControls() {\n\t\t\t\tif (this.isVideoPaused()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\tthis.$videoControlsContainer.stop(true).fadeOut();\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"showVideoControls\",\n\t\t\tvalue: function showVideoControls() {\n\t\t\t\tthis.setHideControlsTimer();\n\t\t\t\tthis.$videoControlsContainer.stop(true).fadeIn();\n\t\t\t}\n\t\n\t\t\t/***** Scrub Bar timer *******************/\n\t\n\t\t}, {\n\t\t\tkey: \"clearScrubBarTimer\",\n\t\t\tvalue: function clearScrubBarTimer() {\n\t\t\t\tif (this.scrubBarTimer === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\n\t\t\t\twindow.clearInterval(this.scrubBarTimer);\n\t\t\t\tthis.scrubBarTimer = null;\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"setScrubBarTimer\",\n\t\t\tvalue: function setScrubBarTimer() {\n\t\t\t\tvar _this6 = this;\n\t\n\t\t\t\tthis.clearScrubBarTimer();\n\t\t\t\tthis.scrubBarTimer = window.setInterval(function () {\n\t\t\t\t\treturn _this6.onScrubBarTick();\n\t\t\t\t}, this.VIDEO_DURATION_UPDATE_TIME);\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"onScrubBarTick\",\n\t\t\tvalue: function onScrubBarTick() {\n\t\t\t\tif (this.isScrubbing) {\n\t\t\t\t\t//If it's scrubbing then dont update the scrub percentage as it may interrupt\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar videoCurrentTime = this.video ? this.video.currentTime : this.youtubePlayerInstance.getCurrentTime();\n\t\t\t\tvar videoDuration = this.video ? this.video.duration : this.youtubePlayerInstance.getDuration();\n\t\t\t\tvar percentageDuration = videoCurrentTime / videoDuration * 100;\n\t\t\t\tthis.setPercentageOfScrubBar(percentageDuration);\n\t\t\t}\n\t\n\t\t\t/**\r\n\t * \r\n\t * @param {number} percentageDuration The percentage width of the timer scrubber\r\n\t */\n\t\t}, {\n\t\t\tkey: \"setPercentageOfScrubBar\",\n\t\t\tvalue: function setPercentageOfScrubBar(percentageDuration) {\n\t\t\t\tthis.$videoControlsScrubBarDuration.css(\"width\", percentageDuration + \"%\");\n\t\t\t}\n\t\t}]);\n\t\n\t\treturn Module_VideoTile;\n\t})(_systemAbstract2[\"default\"]);\n\t\n\texports[\"default\"] = Module_VideoTile;\n\tmodule.exports = exports[\"default\"];\n\n/***/ }\n]);\n\n\n/** WEBPACK FOOTER **\n ** 1.1.js\n **/","var map = {\n\t\"./accordion\": 4,\n\t\"./accordion.js\": 4,\n\t\"./carousel\": 6,\n\t\"./carousel.js\": 6,\n\t\"./confirm\": 8,\n\t\"./confirm.js\": 8,\n\t\"./contact-form\": 9,\n\t\"./contact-form-BE\": 11,\n\t\"./contact-form-BE-v2\": 12,\n\t\"./contact-form-BE-v2.js\": 12,\n\t\"./contact-form-BE.js\": 11,\n\t\"./contact-form-v2\": 13,\n\t\"./contact-form-v2.js\": 13,\n\t\"./contact-form.js\": 9,\n\t\"./filter\": 15,\n\t\"./filter.js\": 15,\n\t\"./modal\": 16,\n\t\"./modal.js\": 16,\n\t\"./tabs\": 17,\n\t\"./tabs.js\": 17,\n\t\"./two-col-vertically-stacked-tiles\": 18,\n\t\"./two-col-vertically-stacked-tiles.js\": 18,\n\t\"./video-tile\": 19,\n\t\"./video-tile.js\": 19\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\treturn map[req] || (function() { throw new Error(\"Cannot find module '\" + req + \"'.\") }());\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 3;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./modules ^\\.\\/.*$\n ** module id = 3\n ** module chunks = 1\n **/","\r\n\r\nimport _Abstract from \"system/abstract\"\r\n\r\nexport default class Module_Accordion extends _Abstract {\r\n constructor(el, options)\r\n {\r\n super(el, $.extend(true, {}, options), 'module')\r\n this.initModule();\r\n }\r\n\r\n initModule()\r\n {\r\n var $accordianItems = this.$el.find(\".m-accordion__item\");\r\n var $accordianLinks = this.$el.find(\".m-accordion__title\");\r\n var $accordianContent;\r\n\r\n $accordianLinks.on(\"click\", function()\r\n {\r\n var $accordianItem = $(this).closest(\".m-accordion__item\");\r\n $accordianItems.not($accordianItem).removeClass(\"is-open\");\r\n if($accordianItem.hasClass(\"is-open\"))\r\n {\r\n $accordianItem.removeClass(\"is-open\");\r\n }\r\n else\r\n {\r\n $accordianItem.addClass(\"is-open\");\r\n }\r\n });\r\n }\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/accordion.js\n **/","import _Abstract from \"system/abstract\"\r\n\r\nconst HammerJS = require(`vendor/hammerjs`);\r\n\r\nexport default class Module_Carousel extends _Abstract {\r\n\r\n\tconstructor(el, options) {\r\n\t\tsuper(el, $.extend(true, {}, options), 'module')\r\n\t\tthis.initModule();\r\n\t}\r\n\r\n\t/********* Initialising ***************/\r\n\tinitModule()\r\n\t{\r\n\t\tif(this.$el.hasClass(\"-with-description-block\"))\r\n\t\t{\r\n\t\t\t// this.$el.wrap(\"\");\r\n\t\t\tthis.$el.addClass(\"-one-col-right-offset\");\r\n\t\t}\r\n\t\t// m-carousel -with-description-block\r\n\r\n\r\n\t\tthis.$imageSliderContainer = this.$el.find(\".c-image-slider\");\r\n\t\tif(!this.$imageSliderContainer.length)\r\n\t\t{\r\n\t\t\tconsole.log(\"No instances of image Slider Container Found\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.m_bIsTextUnderneathCarousel = this.$el.hasClass(\"-with-description-underneath-block\");\r\n\t\tthis.checkSpacingForCTAs();\r\n\t\tthis.swipedBeforeClick = false;\r\n\t\tthis.$imageSliderUL = this.$imageSliderContainer.find(\"ul\");\r\n\t\tthis.$imageSliderUL.find(\"> li\").removeClass(\"-hide\");\r\n\r\n\t\tif(!this.$imageSliderUL.find(\"> li\").length)\r\n\t\t{\r\n\t\t\tconsole.log(\"No Items able to be used for carousel\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.initialiseImageReverseIfDefined();\r\n\t\tthis.initialiseNavigationDots();\r\n\t\tthis.$carouselCircleContainer = this.$el.find(\".c-carousel-circle-ctn\");\r\n\t\tthis.$carouselCircles = this.$carouselCircleContainer.find(\".c-carousel-circle\");\r\n\r\n\r\n\r\n\t\tif(this.getTotalSlides() === 1)\r\n\t\t{\r\n\t\t\tthis.$el.find(\".c-image-slider-navigate-btn\").remove();\r\n\t\t\tthis.$carouselCircleContainer.remove();\r\n\t\t\tthis.$el.addClass(\"-no-slide\");\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif(this.$el.hasClass(\"-reverse\"))\r\n\t\t\t{\r\n\t\t\t\tthis.activateCarouselIndex(this.getTotalSlides()-1,false);//Just to make sure everything has the right class etc\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.activateCarouselIndex(0,false);//Just to make sure everything has the right class etc\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tthis.initialiseHammer();\r\n\t\t\tthis.initListeners();\r\n\t\t\t// this.rePositionSliderButtonsIfNeeded();\r\n\t\t}\r\n\r\n\t\tthis.onWindowResize();\r\n\r\n\t}\r\n\r\n\tinitialiseHammer()\r\n\t{\r\n\t\tif(typeof Hammer === \"undefined\" || typeof Hammer.Manager !== \"function\")\r\n\t\t{\r\n\t\t\tconsole.log(\"Failed to initialise Carousel Module with Swipe detection due to no Hammer.js, please make sure you have this installed to support swipe gestures\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar hammerOptions = {\r\n\t\t\ttouchAction:'auto' //Enables vertical scrolling, as sometimes the carousel fills the whole screen, and the user cant scroll down the page!\r\n\t\t};\r\n\r\n\t\tthis.hammer = new Hammer.Manager(this.$imageSliderContainer[0],hammerOptions);\r\n\t\tvar hammerSwipe = new Hammer.Swipe();\r\n\t\tthis.hammer.add(hammerSwipe);\r\n\t}\r\n\r\n\tinitListeners()\r\n\t{\r\n\t\tthis.$el.find(\".c-carousel-circle-ctn\").on(\"click\",\"li\",(e) => this.onCircleContainerClicked(e));\r\n\r\n\t\tthis.$el.on(\"click\",\".c-image-slider-navigate-btn-ctn .c-image-slider-navigate-btn.-back\", (e) => this.onNavigateBackClicked());\r\n\t\tthis.$el.on(\"click\",\".c-image-slider-navigate-btn-ctn .c-image-slider-navigate-btn.-next\", (e) => this.onNavigateNextClicked());\r\n\r\n\t\tthis.hammer.on('swipeleft', () => this.onSwipeLeft());\r\n\t\tthis.hammer.on('swiperight', () => this.onSwipeRight());\r\n\r\n\t\t$(window).resize(() => this.onWindowResize());\r\n\t\tthis.$el.find(\".c-image-slider\").on(\"click\",\"> ul > li [data-tap-through-url]\",(e) => this.onLiTileClicked(e));\r\n\t}\r\n\r\n\r\n\tonLiTileClicked(e)\r\n\t{\r\n\t\tif(this.swipedBeforeClick)\r\n\t\t{\r\n\t\t\tthis.swipedBeforeClick = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t//Internet explorer has issues with an a tag around a carousel item (and using hammer js)\r\n\t\t//So we'll just use a data tag to decide where to navigate to\r\n\t\tvar tapThroughURL = $(e.currentTarget).data(\"tap-through-url\");\r\n\r\n\t\tif(!tapThroughURL)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.location = tapThroughURL;\r\n\t}\r\n\r\n\tcheckSpacingForCTAs()\r\n\t{\r\n\t\tvar numCTAs = this.$el.find(\".c-image-slider-cta\").length;\r\n\t\tif(numCTAs)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.$el.addClass(\"no-ctas\");\r\n\t}\r\n\r\n\tinitialiseNavigationDots()\r\n\t{\r\n\t\tif(this.$el.find(\".c-carousel-circle-ctn\").length)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\r\n\t\tvar carouselCircleHTML = this.getCarouselCircleHTML();\r\n\r\n\t\tthis.$el.append(carouselCircleHTML);\r\n\t}\r\n\r\n\tinitialiseImageReverseIfDefined()\r\n\t{\r\n\t\tif(!this.$el.hasClass(\"-reverse\"))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.reverseCarouselItems();\r\n\t}\r\n\r\n\treverseCarouselItems()\r\n\t{\r\n\t\tvar $imageSliderUL = this.$imageSliderUL;\r\n\t\t$imageSliderUL.children().each(function()\r\n\t\t{\r\n\t\t\t$imageSliderUL.prepend(this);\r\n\t\t});\r\n\t}\r\n\r\n\tgetCarouselCircleHTML()\r\n\t{\r\n\t\tvar html = \"\";\r\n\t\t\thtml += '
';\r\n\t\t\thtml += '\t';\r\n\t\t\thtml += '
';\r\n\r\n\t\t\treturn html;\r\n\t}\r\n\r\n\t/********* Responding to Events ***************/\r\n\r\n\tonWindowResize()\r\n\t{\r\n\r\n\t\tthis.rePositionSliderButtonsIfNeeded();\r\n\t\tthis.reAlignSlides();\r\n\r\n\t}\r\n\r\n\trePositionSliderButtonsIfNeeded()\r\n\t{\r\n\t\tif(!this.m_bIsTextUnderneathCarousel)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// if()\r\n\r\n\t\tvar desktopBreakpointSize = $(\"#bp-desktop\").width();\r\n\t\tvar bDesktop = $(window).outerWidth() >= desktopBreakpointSize;\r\n\t\tvar $tiles = this.$el.find(\".c-image-slider > ul .c-tile\");\r\n\t\t$tiles.removeAttr(\"style\");\r\n\t\tif(bDesktop)\r\n\t\t{\r\n\t\t\t\r\n\t\t\tvar currentTileHeight = $tiles.height();\r\n\t\t\tvar width = currentTileHeight * 1.54;\r\n\t\t\t$tiles.css({width:width});\r\n\t\t\tthis.$el.find(\".c-image-slider > ul > li\").css({width:width});\r\n\r\n\t\t\tvar ulHeight = $(\".-with-description-underneath-block .c-image-slider .c-tile \").height()\r\n\t\t\tvar marginTop = parseInt($(\".-underneath-carousel-block\").css(\"margin-top\"));\r\n\t\t\tthis.$carouselCircleContainer.css({top: ulHeight + marginTop + \"px\"});\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.$el.find(\".c-image-slider > ul > li\").removeAttr(\"style\");\r\n\t\t\tthis.$carouselCircleContainer.removeAttr(\"style\");\r\n\r\n\t\t\tvar cTileHeight = this.$el.find(\".c-tile\").height();\r\n\r\n\t\t\tthis.$carouselCircleContainer.css({top:cTileHeight + \"px\", position: \"absolute\"})\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tonNavigateBackClicked()\r\n\t{\r\n\t\tthis.onSlideCarouselLeft();\r\n\t}\r\n\r\n\tonNavigateNextClicked()\r\n\t{\r\n\t\tthis.onSlideCarouselRight();\r\n\t}\r\n\r\n\tonSwipeLeft()\r\n\t{\r\n\t\tthis.swipedBeforeClick = true;\r\n\t\tconsole.log(\"swipe left\");\r\n\t\tthis.onSlideCarouselRight();\r\n\t}\r\n\r\n\tonSwipeRight()\r\n\t{\r\n\t\tthis.swipedBeforeClick = true;\r\n\t\tconsole.log(\"swipe right\");\r\n\t\tthis.onSlideCarouselLeft();\r\n\t}\r\n\r\n\tonCircleContainerClicked(_mouseEvent)\r\n\t{\r\n\r\n\t\tvar $currentTarget = $(_mouseEvent.currentTarget);\r\n\t\tvar carouselButtonIndex = $currentTarget.index();\r\n\t\tthis.activateCarouselIndex(carouselButtonIndex);\r\n\t}\r\n\r\n\r\n\t/********* Changing or reading carousel state ***************/\r\n\r\n\treAlignSlides()\r\n\t{\r\n\t\tvar animateRealignment = false;\r\n\t\tthis.activateCarouselIndex(this.getCurrentCarouselIndex(),animateRealignment);\r\n\t}\r\n\r\n\tgetTotalSlides()\r\n\t{\r\n\t\t// var totalSlides = this.$carouselCircles.length;\r\n\t\tvar totalSlides = this.$imageSliderUL.find(\"> li:not(.-faker)\").length;\r\n\t\treturn totalSlides;\t\r\n\t}\r\n\r\n\tgetCurrentCarouselIndex()\r\n\t{\r\n\t\t// var carouselIndex = this.$el.find(\".c-carousel-circle.-active\").parent().index();\r\n\t\tvar carouselIndex = -1;\r\n\t\tvar activeCarouselIndex = -1;\r\n\t\tthis.$imageSliderUL.find(\"> li\").each(function(){\r\n\t\t\tif($(this).hasClass(\"-faker\"))\r\n\t\t\t{\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t++carouselIndex;\r\n\r\n\t\t\tif($(this).hasClass(\"-active\"))\r\n\t\t\t{\r\n\t\t\t\tactiveCarouselIndex = carouselIndex;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t\t// var carouselIndex = this.$imageSliderUL.find(\"> li.-active\").index();\r\n\t\treturn activeCarouselIndex;\r\n\t}\r\n\r\n\tonSlideCarouselRight()\r\n\t{\r\n\t\tvar goToIndex = this.getCurrentCarouselIndex()+1;\r\n\t\tif(goToIndex >= this.getTotalSlides())\r\n\t\t{\r\n\t\t\tgoToIndex = 0;\r\n\t\t}\r\n\r\n\t\tthis.activateCarouselIndex(goToIndex);\r\n\t}\r\n\r\n\tonSlideCarouselLeft()\r\n\t{\r\n\t\tvar goToIndex = this.getCurrentCarouselIndex()-1;\r\n\t\tif(goToIndex < 0)\r\n\t\t{\r\n\t\t\tgoToIndex = this.getTotalSlides()-1;\r\n\t\t}\r\n\r\n\t\tthis.activateCarouselIndex(goToIndex);\r\n\t}\r\n\r\n\tactivateCarouselIndex(_index, _animateAlignment)\r\n\t{\r\n\t\tif(typeof _animateAlignment === \"undefined\")\r\n\t\t{\r\n\t\t\t_animateAlignment = true;\r\n\t\t}\r\n\r\n\t\tthis.$carouselCircles.removeClass(\"-active\");\r\n\t\tthis.$carouselCircles.eq(_index).addClass(\"-active\");\r\n\r\n\t\tvar $carouselSliderLiItems = this.$imageSliderUL.find(\"> li:not(.-faker)\");\r\n\t\tvar $activeCarouselItem = $carouselSliderLiItems.eq(_index);\r\n\r\n\t\tif(!$activeCarouselItem.length)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t$carouselSliderLiItems.removeClass(\"-active\");\r\n\t\t$activeCarouselItem.addClass(\"-active\");\r\n\r\n\t\tvar carouselWidth = this.$el.width();\r\n\t\t// var offsetWidthOriginal = carouselWidth*_index;\r\n\t\tvar offsetWidth = $activeCarouselItem.position().left;\r\n\t\tthis.$imageSliderUL.stop(true);\r\n\r\n\t\tvar cssOffsetObject = {left:-offsetWidth + \"px\"};\r\n\t\tif(_animateAlignment)\r\n\t\t{\r\n\t\t\tthis.$imageSliderUL.animate(cssOffsetObject);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.$imageSliderUL.css(cssOffsetObject);\r\n\t\t}\r\n\t}\r\n\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/carousel.js\n **/","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n!function(a,b,c,d){\"use strict\";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;dc[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;ce;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),\"identifier\",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach(function(d){b[d]=c?a.CSS.supports(\"touch-action\",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?\"cancel\":a&qb?\"end\":a&pb?\"move\":a&ob?\"start\":\"\"}function $(a){return a==Ma?\"down\":a==La?\"up\":a==Ja?\"left\":a==Ka?\"right\":\"\"}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||\"\"}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent(\"Event\");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],na=b.createElement(\"div\"),oa=\"function\",pa=Math.round,qa=Math.abs,ra=Date.now;la=\"function\"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError(\"Cannot convert undefined or null to object\");for(var b=Object(a),c=1;ch&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a=\"touchstart\",_a=\"touchstart touchmove touchend touchcancel\";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb=\"touchstart touchmove touchend touchcancel\";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,\"touchAction\"),fb=eb!==d,gb=\"compute\",hb=\"auto\",ib=\"manipulation\",jb=\"none\",kb=\"pan-x\",lb=\"pan-y\",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(\" \"))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,\"recognizeWith\",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,\"dropRecognizeWith\",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,\"requireFailure\",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,\"dropRequireFailure\",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;af?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?\"in\":\"out\";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distanceb.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+\"up\",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance this.onCustomTickListItemClicked(e));\r\n $(\".cta-input-form--send-btn\").click((e) => this.onSendFormButtonClicked(e));\r\n }\r\n\r\n onCustomTickListItemClicked(_event)\r\n {\r\n // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\r\n var $li = $(_event.currentTarget);\r\n // if(bOneAtATime)\r\n // {\r\n //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\r\n $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\r\n // }\r\n\r\n if($li.hasClass(\"-ticked\"))\r\n {\r\n $li.removeClass(\"-ticked\");\r\n }\r\n else\r\n {\r\n $li.addClass(\"-ticked\");\r\n }\r\n\r\n\r\n var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\r\n if(bAtleastOneIsTicked)\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\r\n }\r\n else\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\r\n }\r\n\r\n //Now hide / show elements that are specific to the selected element\r\n\r\n $(\".cta-input-form--inputs-ctn > .c-label-input-ctn\").removeClass(\"-hide\");\r\n\r\n if($li.hasClass(\"-send-email\"))\r\n {\r\n //dont hide anything\r\n\r\n $(\".thanks-page .cta-page--hero-text\").html(\"Great to hear from you.
We’ll be in touch shortly.\");\r\n\r\n }\r\n else if($li.hasClass(\"-sign-up-for-email\"))\r\n {\r\n \r\n $(\".thanks-page .cta-page--hero-text\").html(\"Thanks for signing up to
our e-newsletter.

We’re always in the classroom learning
and can’t wait to share our insights with you.\");\r\n //Hide location and comments\r\n $(\".cta-input-form--inputs-ctn [name='Location'], .cta-input-form--inputs-ctn [name='Comments']\").each(function(){\r\n\r\n var $this = $(this);\r\n\r\n $this.closest(\".c-label-input-ctn\").addClass(\"-hide\");\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n onSendFormButtonClicked()\r\n {\r\n // data-component=\"click-behaviour\" \r\n //data-component-options='{\"type\":\"hide-element-show-element\",\"hide_target\":\".cta-input-form\",\"show_target\":\".thanks-page\"}'\r\n\r\n console.log(\"onSendFormButtonClicked\");\r\n var tickedOptions = this.getOptionsPageValues();\r\n var formData = {\"HelpOption\":tickedOptions};\r\n\r\n var htmlLoader = \"
\";\r\n $(\".cta-input-form--send-btn\").after(htmlLoader);\r\n\r\n //Popuplate the 'form data' we're sending off with the inputs / textareas\r\n $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__input-wrapper > input\").each(function()\r\n {\r\n formData[$(this).attr(\"name\")] = $(this).val();\r\n });\r\n\r\n $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__textarea-wrapper > textarea\").each(function()\r\n {\r\n formData[$(this).attr(\"name\")] = $(this).val();\r\n });\r\n\r\n\r\n var contactID = this.$el.find(\"input[name='ContactID']\").val();\r\n if(!contactID)\r\n {\r\n alert(\"Error: No Contact ID Found\");\r\n return;\r\n }\r\n\r\n formData[\"Contact\"] = contactID;\r\n\r\n console.log(formData);\r\n var postURL = $(\".m-contact-cta\").data(\"send-to-url\");\r\n if(!postURL)\r\n {\r\n alert(\"Error: No URL to send form data to\");\r\n return;\r\n }\r\n\r\n if(window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\")\r\n {\r\n this.onFormResponse();\r\n return;\r\n }\r\n\r\n formData = JSON.stringify(formData);\r\n $.ajax\r\n ({\r\n type: \"POST\",\r\n url: postURL,\r\n dataType: 'json',\r\n headers: {\r\n \"Authorization\": \"Basic cmVzdGFwaTpZcFhCSXlCRGJuTzBrNllwUnJJaQ==\"\r\n },\r\n data: formData,\r\n error:(e) => this.onFormErrorOccurred(e),\r\n success: (e) => this.onFormResponse(e)\r\n });\r\n\r\n // if(postURL.indexOf(\"contact-response.json\") !== -1)\r\n // {\r\n // $.get(postURL,formData,(e)=>this.onFormResponse(e));\r\n // }\r\n // else\r\n // {\r\n // $.post(postURL,formData,(e)=>this.onFormResponse(e));\r\n // }\r\n }\r\n\r\n onFormErrorOccurred(e)\r\n {\r\n alert(\"An error occurred submitting the form, please try again\");\r\n }\r\n\r\n onFormResponse(e)\r\n {\r\n $(\".cta-input-form\").addClass(\"-hide\");\r\n $(\".thanks-page\").removeClass(\"-hide\");\r\n $(\"body\").trigger(\"responsive-image-check\",{});\r\n\r\n\r\n var currentScrollTop = $(window).scrollTop();\r\n var offsetTopY = $(\".thanks-page\").offset().top;\r\n $(\"window,body\").stop().animate({scrollTop:offsetTopY});\r\n\r\n\r\n }\r\n\r\n getOptionsPageValues()\r\n {\r\n var tickListOptions = \"\";\r\n \r\n $(\".cta-options-page--tick-list-next-btn-ctn li.-ticked\").each(function()\r\n {\r\n if(tickListOptions !== \"\")\r\n {\r\n tickListOptions += \";\";\r\n }\r\n\r\n tickListOptions += $(this).find(\"input[type='hidden']\").attr(\"value\")\r\n });\r\n \r\n return tickListOptions;\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/contact-form.js\n **/","import _Abstract from \"system/abstract\"\r\nexport default class Component_InputValidator extends _Abstract {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {\r\n }, options), 'component')\r\n\t\tconsole.log(\"INPUT VALIDATOR\");\r\n this.EMAIL_REGULAR_EXPRESSION = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n \r\n this.bindEvents()\r\n }\r\n\r\n\tbindEvents()\r\n\t{\r\n\t\tthis.$el.find(\"input\").blur((e) => this.onInputBlurred(e));\r\n this.$el.find(\"input\").keyup((e) => this.onInputKeyUp(e));\r\n // this.$el.find(\" input\").keydown((e) => this.onInputKeyDown(e));\r\n\r\n\t\tif(typeof this.options.submit_button_selector !== \"undefined\")\r\n\t\t{\r\n\t\t\tthis.$el.find(this.options.submit_button_selector).click((e) => this.onSubmitButtonClicked(e));\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\tonInputBlurred(e)\r\n\t{\r\n\t\tvar $input = $(e.currentTarget);\r\n\t\tthis.validateElement($input);\r\n\t}\r\n\r\n onInputKeyDown(e)\r\n {\r\n var $input = $(e.currentTarget);\r\n return this.forceCharacterLimits($input);\r\n }\r\n\r\n\tonInputKeyUp(e)\r\n\t{\r\n\t\tvar $input = $(e.currentTarget);\r\n this.validateElement($input);\r\n\t}\r\n\r\n forceCharacterLimits($element)\r\n {\r\n var characterLimit = $element.data(\"character-limit\");\r\n if(!characterLimit)\r\n {\r\n return true;\r\n }\r\n\r\n var elementValue = $element.val();\r\n if(elementValue.length > characterLimit)\r\n {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n \tvalidateElement($element)\r\n \t{\r\n\r\n if(!$element.closest(\".c-label-input-ctn\").hasClass(\"required\"))\r\n {\r\n return;\r\n }\r\n\r\n var inputType = $element.attr(\"type\");\r\n var bValidInput = $element.val();\r\n if(inputType.toLowerCase() === \"email\")\r\n {\r\n bValidInput = this.EMAIL_REGULAR_EXPRESSION.test($element.val());\r\n }\r\n\r\n\t\t\tif($element.data(\"match\"))\r\n\t\t\t{\r\n\t\t\t\tvar matchSelector = $element.data(\"match\");\r\n\t\t\t\tvar $elementToMatch = $(matchSelector);\r\n\t\t\t\tif($elementToMatch.length)\r\n\t\t\t\t{\r\n\t\t\t\t\tif($element.val() !== $elementToMatch.val())\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tbValidInput = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tconsole.log(\"input-validator: Failed to find matching element to compare data!\");\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t}\r\n\r\n\r\n\t \tif(bValidInput)\r\n\t \t{\r\n\t \t\t$element.removeClass(\"invalid-input\");\r\n\t\t\t\t$element.closest(\".c-label-input-ctn\").removeClass(\"invalid-input\");\r\n\t \t\treturn true;\r\n\t \t}\r\n\t \telse\r\n\t \t{\r\n\t \t\t$element.addClass(\"invalid-input\");\r\n\t\t\t\t$element.closest(\".c-label-input-ctn\").addClass(\"invalid-input\");\r\n\t \t\treturn false;\r\n\t \t}\r\n \t}\r\n\r\n \tonSubmitButtonClicked(e)\r\n \t{\r\n \t\tvar context = this;\r\n \t\tvar bAllValidated = true;\r\n \t\tthis.$el.find(\".required input\").each(function()\r\n \t\t{\r\n \t\t\tvar $input = $(this);\r\n \t\t\tif(!context.validateElement($input))\r\n \t\t\t{\r\n \t\t\t\tbAllValidated = false;\r\n \t\t\t}\r\n \t\t});\r\n\r\n \t\tif(bAllValidated)\r\n \t\t{\r\n \t\t\tthis.$el.find(\".form-is-valid\").removeClass('-hide');\r\n \t\t\tthis.$el.find(\".form-is-invalid\").addClass('-hide');\r\n \t\t}\r\n \t\telse\r\n \t\t{\r\n \t\t\tthis.$el.find(\".form-is-valid\").addClass('-hide');\r\n \t\t\tthis.$el.find(\".form-is-invalid\").removeClass('-hide');\r\n \t\t\te.preventDefault();\r\n \t\t\te.stopImmediatePropagation();\r\n\r\n \t\t}\r\n\r\n \t}\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./components/input-validator.js\n **/","import _Abstract from \"system/abstract\"\r\nimport Module_ContactForm from \"modules/contact-form\"\r\n\r\nexport default class Module_ContactFormBE extends Module_ContactForm {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module')\r\n\r\n // var $ctaInputForm = this.$el.find(\".cta-input-form\");\r\n // if($ctaInputForm.length)\r\n // {\r\n // new InputValidator($ctaInputForm[0], {\"submit_button_selector\":\".cta-input-form--send-btn\"});\r\n // }\r\n\r\n // this.initialise();\r\n console.log(\"contact form BE\");\r\n this.clearInputFormFields();\r\n }\r\n\r\n// initialise()\r\n// {\r\n// this.$el.find(\"[data-responsive-image]\").addClass(\"-no-colour-loading-bg\")\r\n\r\n// console.log(\"Contact Form Initialise\");\r\n// this.initListeners();\r\n// }\r\n\r\n// initListeners()\r\n// {\r\n// $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list\").on(\"click\",\"li\", (e) => this.onCustomTickListItemClicked(e));\r\n// $(\".cta-input-form--send-btn\").click((e) => this.onSendFormButtonClicked(e));\r\n// }\r\n\r\n onCustomTickListItemClicked(_event)\r\n {\r\n\r\n console.log(\"tick\");\r\n // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\r\n var $li = $(_event.currentTarget);\r\n // if(bOneAtATime)\r\n // {\r\n //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\r\n $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\r\n // }\r\n\r\n var nextStepUrl = $li.attr('data-next-url');\r\n\r\n var $nextBtn = this.$el.find('.cta-page--next-page-btn');\r\n\r\n if($li.hasClass(\"-ticked\"))\r\n {\r\n $li.removeClass(\"-ticked\");\r\n }\r\n else\r\n {\r\n $li.addClass(\"-ticked\");\r\n }\r\n\r\n\r\n var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\r\n if(bAtleastOneIsTicked)\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\r\n }\r\n else\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\r\n }\r\n\r\n $nextBtn.attr('href',nextStepUrl);\r\n\r\n }\r\n\r\nonSendFormButtonClicked()\r\n {\r\n // data-component=\"click-behaviour\" \r\n //data-component-options='{\"type\":\"hide-element-show-element\",\"hide_target\":\".cta-input-form\",\"show_target\":\".thanks-page\"}'\r\n\r\n console.log(\"onSendFormButtonClicked\");\r\n var tickedOptions = this.getOptionsPageValues();\r\n\r\n console.log(\"ticked option :> \"+tickedOptions);\r\n\r\n var formData = {\"HelpOption\":tickedOptions};\r\n\r\n //Popuplate the 'form data' we're sending off with the inputs / textareas\r\n $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__input-wrapper > input\").each(function()\r\n {\r\n formData[$(this).attr(\"name\")] = $(this).val();\r\n });\r\n\r\n $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__textarea-wrapper > textarea\").each(function()\r\n {\r\n formData[$(this).attr(\"name\")] = $(this).val();\r\n });\r\n\r\n var htmlLoader = \"
\";\r\n $(\".cta-input-form--send-btn\").after(htmlLoader);\r\n $(\".cta-input-form--send-btn\").css('visibility', 'hidden');\r\n\r\n\r\n\r\n var contactID = this.$el.find(\"input[name='ContactID']\").val();\r\n if(!contactID)\r\n {\r\n alert(\"Error: No Contact ID Found\");\r\n return;\r\n }\r\n\r\n formData[\"Contact\"] = contactID;\r\n formData[\"SignMeUpForSomeRegularInspiration\"] = false;\r\n var $signMeUpCheckbox = this.$el.find(\"#SignMeUpForSomeRegularInspiration\");\r\n if($signMeUpCheckbox.length)\r\n {\r\n var signMeUpChecked = $signMeUpCheckbox.is(':checked');\r\n formData[\"SignMeUpForSomeRegularInspiration\"] = signMeUpChecked;\r\n }\r\n\r\n\r\n var postURL = $(\".m-contact-cta\").data(\"send-to-url\");\r\n if(!postURL)\r\n {\r\n alert(\"Error: No URL to send form data to\");\r\n return;\r\n }\r\n\r\n if(window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\")\r\n {\r\n this.onFormResponse();\r\n return;\r\n }\r\n\r\n formData = JSON.stringify(formData);\r\n\r\n $.ajax\r\n ({\r\n type: \"POST\",\r\n url: postURL,\r\n dataType: 'json',\r\n headers: {\r\n \"Authorization\": \"Basic cmVzdGFwaTpZcFhCSXlCRGJuTzBrNllwUnJJaQ==\"\r\n },\r\n data: formData,\r\n error:(e) => this.onFormErrorOccurred(e),\r\n success: (e) => this.onFormResponse(e)\r\n });\r\n\r\n }\r\n\r\n onFormErrorOccurred(e)\r\n {\r\n alert(\"An error occurred submitting the form, please try again\");\r\n this.$el.find(\".-loader-wrapper\").remove();\r\n $(\".cta-input-form--send-btn\").css('visibility', 'visible');\r\n }\r\n\r\n onFormResponse(e)\r\n {\r\n // $(\".cta-input-form\").addClass(\"-hide\");\r\n // $(\".thanks-page\").removeClass(\"-hide\");\r\n // $(\"body\").trigger(\"responsive-image-check\",{});\r\n\r\n\r\n // var currentScrollTop = $(window).scrollTop();\r\n // var offsetTopY = $(\".thanks-page\").offset().top;\r\n // $(\"window,body\").stop().animate({scrollTop:offsetTopY});\r\n\r\n window.location.href = this.options.thankYouLocation;\r\n\r\n //console.log('success');\r\n\r\n}\r\n\r\nshowThankYouMessage(tickedOption)\r\n{\r\n\r\n if(tickedOption == 1)\r\n {\r\n console.log(\"ticked option :> \"+tickedOption);\r\n\r\n $(\".thanks-page .cta-page--hero-text\").html(\"Great to hear from you.
We’ll be in touch shortly.\");\r\n\r\n }\r\n\r\n if(tickedOption == 2)\r\n {\r\n console.log(\"ticked option :> \"+tickedOption);\r\n\r\n $(\".thanks-page .cta-page--hero-text\").html(\"Thanks for signing up to
our e-newsletter.

We’re always in the classroom learning
and can’t wait to share our insights with you.\");\r\n }\r\n\r\n}\r\n\r\n getOptionsPageValues()\r\n {\r\n var tickListOptions = \"\";\r\n \r\n this.$el.find(\".js-form-stream-val\").each(function()\r\n {\r\n if(tickListOptions !== \"\")\r\n {\r\n tickListOptions += \";\";\r\n }\r\n\r\n tickListOptions += $(this).attr(\"value\");\r\n });\r\n \r\n return tickListOptions;\r\n }\r\n\r\n clearInputFormFields() {\r\n $('.js-clear-btn').click(function(){\r\n $('.c-label-input__fields').val('');\r\n $('#SignMeUpForSomeRegularInspiration').prop(\"checked\", false);\r\n });\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/contact-form-BE.js\n **/","import _Abstract from \"system/abstract\"\r\nimport Module_ContactForm from \"modules/contact-form-v2\"\r\n\r\nexport default class Module_ContactFormBEv2 extends Module_ContactForm {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module')\r\n\r\n // var $ctaInputForm = this.$el.find(\".cta-input-form\");\r\n // if($ctaInputForm.length)\r\n // {\r\n // new InputValidator($ctaInputForm[0], {\"submit_button_selector\":\".cta-input-form--send-btn\"});\r\n // }\r\n\r\n // this.initialise();\r\n this.clearInputFormFields();\r\n var userFormTemplate = document.getElementById(\"aspnetForm\");\r\n\r\n }\r\n\r\n// initialise()\r\n// {\r\n// this.$el.find(\"[data-responsive-image]\").addClass(\"-no-colour-loading-bg\")\r\n\r\n// console.log(\"Contact Form Initialise\");\r\n// this.initListeners();\r\n// }\r\n\r\n// initListeners()\r\n// {\r\n// $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list\").on(\"click\",\"li\", (e) => this.onCustomTickListItemClicked(e));\r\n// $(\".cta-input-form--send-btn\").click((e) => this.onSendFormButtonClicked(e));\r\n// }\r\n\r\n onCustomTickListItemClicked(_event)\r\n {\r\n\r\n console.log(\"tick\");\r\n // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\r\n var $li = $(_event.currentTarget);\r\n // if(bOneAtATime)\r\n // {\r\n //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\r\n $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\r\n // }\r\n\r\n var nextStepUrl = $li.attr('data-next-url');\r\n\r\n var $nextBtn = this.$el.find('.cta-page--next-page-btn');\r\n\r\n if($li.hasClass(\"-ticked\"))\r\n {\r\n $li.removeClass(\"-ticked\");\r\n }\r\n else\r\n {\r\n $li.addClass(\"-ticked\");\r\n }\r\n\r\n\r\n var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\r\n if(bAtleastOneIsTicked)\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\r\n }\r\n else\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\r\n }\r\n\r\n $nextBtn.attr('href',nextStepUrl);\r\n\r\n }\r\n\r\nonSendFormButtonClicked()\r\n {\r\n\r\n // Change checkbox value when checked\r\n var $signMeUp = $('input[name=\"subscribe\"]')\r\n if($signMeUp.prop('checked'))\r\n {\r\n $('.js-form-stream-val').attr('value',1)\r\n } else {\r\n $('.js-form-stream-val').attr('value',0)\r\n }\r\n \r\n // if(window.innerWidth >768 ) {\r\n // var htmlLoader = \"
\";\r\n // $(\".cta-input-form--send-btn\").after(htmlLoader);\r\n // $(\".cta-input-form--send-btn\").css('visibility', 'hidden');\r\n // } else {\r\n // var htmlLoader = \"
\";\r\n // $(\".cta-input-form--send-btn\").after(htmlLoader);\r\n // $(\".cta-input-form--send-btn\").css('display', 'none');\r\n // }\r\n\r\n var htmlLoader = \"
\";\r\n $(\".cta-input-sugarform--send-btn\").after(htmlLoader);\r\n $(\".cta-input-sugarform--send-btn\").css('visibility', 'hidden');\r\n \r\n if(window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\")\r\n {\r\n // ! remove return\r\n //return;\r\n }\r\n\r\n $(\"#aspnetForm\").attr('action', $(\".cta-input-form\").data(\"sugar-market-post-url\"));\r\n \r\n $(\"#aspnetForm\").unbind('submit').removeAttr('onsubmit');\r\n \r\n $(\"#aspnetForm\").submit();\r\n\r\n }\r\n\r\n onFormErrorOccurred(e)\r\n {\r\n alert(\"An error occurred submitting the form, please try again\");\r\n this.$el.find(\".-loader-wrapper\").remove();\r\n $(\".cta-input-sugarform--send-btn\").css('visibility', 'visible');\r\n }\r\n\r\n clearInputFormFields() {\r\n $('.js-clear-btn').click(function(){\r\n $('.c-label-input__fields').val('');\r\n $('.c-label-select__fields').prop('selectedIndex', 0).selectric('refresh');\r\n $('#donotbulkemail0').prop(\"checked\", false);\r\n $('#SignMeUpForSomeRegularInspiration').prop(\"checked\", false);\r\n });\r\n }\r\n \r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/contact-form-BE-v2.js\n **/","import _Abstract from \"system/abstract\"\r\nimport InputValidator from \"components/input-validator-v2\"\r\n\r\nexport default class Module_ContactForm extends _Abstract {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module')\r\n\r\n var $ctaInputForm = this.$el.find(\".cta-input-form\");\r\n if($ctaInputForm.length)\r\n {\r\n new InputValidator($ctaInputForm[0], {\"submit_button_selector\":\".cta-input-sugarform--send-btn\"});\r\n }\r\n\r\n this.initialise();\r\n }\r\n\r\n initialise()\r\n {\r\n this.$el.find(\"[data-responsive-image]\").addClass(\"-no-colour-loading-bg\")\r\n this.initListeners();\r\n }\r\n\r\n initListeners()\r\n {\r\n $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list\").on(\"click\",\"li\", (e) => this.onCustomTickListItemClicked(e));\r\n $(\".cta-input-sugarform--send-btn\").click((e) => this.onSendFormButtonClicked(e));\r\n }\r\n\r\n onCustomTickListItemClicked(_event)\r\n {\r\n // var bOneAtATime = $(_event.currentTarget).closest(\".custom-tick-list.-one-at-a-time\").length >= 0;\r\n var $li = $(_event.currentTarget);\r\n // if(bOneAtATime)\r\n // {\r\n //Since we're now only triggering one at a time, lets remove the ticked modifier class on all of the li elements\r\n $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list li\").removeClass(\"-ticked\");\r\n // }\r\n\r\n if($li.hasClass(\"-ticked\"))\r\n {\r\n $li.removeClass(\"-ticked\");\r\n }\r\n else\r\n {\r\n $li.addClass(\"-ticked\");\r\n }\r\n\r\n\r\n var bAtleastOneIsTicked = $(\".cta-options-page--tick-list-next-btn-ctn .custom-tick-list > li.-ticked\").length > 0;\r\n if(bAtleastOneIsTicked)\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").removeClass(\"-hide\");\r\n }\r\n else\r\n {\r\n $(\".cta-options-page .cta-page--next-page-btn\").addClass(\"-hide\");\r\n }\r\n\r\n //Now hide / show elements that are specific to the selected element\r\n\r\n $(\".cta-input-form--inputs-ctn > .c-label-input-ctn\").removeClass(\"-hide\");\r\n\r\n if($li.hasClass(\"-send-email\"))\r\n {\r\n //dont hide anything\r\n\r\n $(\".thanks-page .cta-page--hero-text\").html(\"Great to hear from you.
We’ll be in touch shortly.\");\r\n\r\n }\r\n else if($li.hasClass(\"-sign-up-for-email\"))\r\n {\r\n \r\n $(\".thanks-page .cta-page--hero-text\").html(\"Thanks for signing up to
our e-newsletter.

We’re always in the classroom learning
and can’t wait to share our insights with you.\");\r\n //Hide location and comments\r\n $(\".cta-input-form--inputs-ctn [name='Location'], .cta-input-form--inputs-ctn [name='Comments']\").each(function(){\r\n\r\n var $this = $(this);\r\n\r\n $this.closest(\".c-label-input-ctn\").addClass(\"-hide\");\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n onSendFormButtonClicked()\r\n {\r\n // data-component=\"click-behaviour\" \r\n //data-component-options='{\"type\":\"hide-element-show-element\",\"hide_target\":\".cta-input-form\",\"show_target\":\".thanks-page\"}'\r\n\r\n console.log('FROM - Contactform-v2 onSubmitButtonClicked');\r\n var tickedOptions = this.getOptionsPageValues();\r\n var formData = {\"HelpOption\":tickedOptions};\r\n\r\n var htmlLoader = \"
\";\r\n $(\".cta-input-sugarform--send-btn\").after(htmlLoader);\r\n\r\n //Popuplate the 'form data' we're sending off with the inputs / textareas\r\n $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__input-wrapper > input\").each(function()\r\n {\r\n formData[$(this).attr(\"name\")] = $(this).val();\r\n });\r\n\r\n $(\".cta-input-form--inputs-ctn .c-label-input-ctn:not(.-hide) .c-label-input-ctn__textarea-wrapper > textarea\").each(function()\r\n {\r\n formData[$(this).attr(\"name\")] = $(this).val();\r\n });\r\n\r\n\r\n var contactID = this.$el.find(\"input[name='ContactID']\").val();\r\n if(!contactID)\r\n {\r\n alert(\"Error: No Contact ID Found\");\r\n return;\r\n }\r\n\r\n formData[\"Contact\"] = contactID;\r\n\r\n // console.log(formData);\r\n // var postURL = $(\".m-contact-cta\").data(\"send-to-url\");\r\n // if(!postURL)\r\n // {\r\n // alert(\"Error: No URL to send form data to\");\r\n // return;\r\n // }\r\n\r\n if(window.location.hostname === \"furnware-static.uniondigital.co.nz\" || window.location.hostname === \"localhost\")\r\n {\r\n this.onFormResponse();\r\n return;\r\n }\r\n\r\n // formData = JSON.stringify(formData);\r\n // $.ajax\r\n // ({\r\n // type: \"POST\",\r\n // url: postURL,\r\n // dataType: 'json',\r\n // headers: {\r\n // \"Authorization\": \"Basic cmVzdGFwaTpZcFhCSXlCRGJuTzBrNllwUnJJaQ==\"\r\n // },\r\n // data: formData,\r\n // error:(e) => this.onFormErrorOccurred(e),\r\n // success: (e) => this.onFormResponse(e)\r\n // });\r\n\r\n // if(postURL.indexOf(\"contact-response.json\") !== -1)\r\n // {\r\n // $.get(postURL,formData,(e)=>this.onFormResponse(e));\r\n // }\r\n // else\r\n // {\r\n // $.post(postURL,formData,(e)=>this.onFormResponse(e));\r\n // }\r\n }\r\n\r\n onFormErrorOccurred(e)\r\n {\r\n alert(\"An error occurred submitting the form, please try again\");\r\n }\r\n\r\n onFormResponse(e)\r\n {\r\n $(\".cta-input-form\").addClass(\"-hide\");\r\n $(\".thanks-page\").removeClass(\"-hide\");\r\n $(\"body\").trigger(\"responsive-image-check\",{});\r\n\r\n\r\n var currentScrollTop = $(window).scrollTop();\r\n var offsetTopY = $(\".thanks-page\").offset().top;\r\n $(\"window,body\").stop().animate({scrollTop:offsetTopY});\r\n\r\n\r\n }\r\n\r\n getOptionsPageValues()\r\n {\r\n var tickListOptions = \"\";\r\n \r\n $(\".cta-options-page--tick-list-next-btn-ctn li.-ticked\").each(function()\r\n {\r\n if(tickListOptions !== \"\")\r\n {\r\n tickListOptions += \";\";\r\n }\r\n\r\n tickListOptions += $(this).find(\"input[type='hidden']\").attr(\"value\")\r\n });\r\n \r\n return tickListOptions;\r\n }\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/contact-form-v2.js\n **/","import _Abstract from \"system/abstract\";\r\n\r\nexport default class Component_InputValidatorv2 extends _Abstract {\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), \"component\");\r\n this.EMAIL_REGULAR_EXPRESSION = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n this.bindEvents();\r\n $(\"select.c-label-select__fields\")\r\n .selectric({\r\n disableOnMobile: false,\r\n nativeOnMobile: false,\r\n onChange: function () {\r\n $(\".selectric-c-label-select__fields\").removeClass(\"is-invalid\");\r\n },\r\n })\r\n .on(\"selectric-before-open\", function () {\r\n if ($(\".selectric-c-label-select__fields\").hasClass(\"is-invalid\")) {\r\n $(\".selectric-c-label-select__fields\").removeClass(\"is-invalid\");\r\n }\r\n });\r\n }\r\n\r\n bindEvents() {\r\n this.$el.find(\"input\").blur((e) => this.onInputBlurred(e));\r\n this.$el.find(\"input\").keyup((e) => this.onInputKeyUp(e));\r\n this.$el.find(\"textarea\").blur((e) => this.onTextareBlurred(e));\r\n this.$el.find(\"textarea\").keyup((e) => this.onTextareKeyUp(e));\r\n if (typeof this.options.submit_button_selector !== \"undefined\") {\r\n this.$el\r\n .find(this.options.submit_button_selector)\r\n .click((e) => this.onSubmitButtonClicked(e));\r\n }\r\n }\r\n\r\n onInputBlurred(e) {\r\n var $input = $(e.currentTarget);\r\n this.validateElement($input);\r\n }\r\n\r\n onInputKeyDown(e) {\r\n var $input = $(e.currentTarget);\r\n return this.forceCharacterLimits($input);\r\n }\r\n\r\n onInputKeyUp(e) {\r\n var $input = $(e.currentTarget);\r\n this.validateElement($input);\r\n }\r\n\r\n onTextareKeyUp(e) {\r\n var $input = $(e.currentTarget);\r\n this.validateElement($input);\r\n }\r\n\r\n onTextareBlurred(e) {\r\n var $input = $(e.currentTarget);\r\n this.validateElement($input);\r\n }\r\n\r\n forceCharacterLimits($element) {\r\n var characterLimit = $element.data(\"character-limit\");\r\n if (!characterLimit) {\r\n return true;\r\n }\r\n\r\n var elementValue = $element.val();\r\n if (elementValue.length > characterLimit) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n validateTextarea($element) {\r\n if ($element.val()) {\r\n $element.removeClass(\"invalid-input\");\r\n $element.closest(\".c-label-input-ctn\").removeClass(\"invalid-input\");\r\n return true;\r\n } else {\r\n $element.addClass(\"invalid-input\");\r\n $element.closest(\".c-label-input-ctn\").addClass(\"invalid-input\");\r\n return false;\r\n }\r\n }\r\n\r\n validateElement($element) {\r\n if (!$element.closest(\".c-label-input-ctn\").hasClass(\"required\")) {\r\n return;\r\n }\r\n\r\n var inputType = $element.attr(\"type\");\r\n var bValidInput = $element.val();\r\n if (inputType.toLowerCase() === \"email\") {\r\n bValidInput = this.EMAIL_REGULAR_EXPRESSION.test($element.val());\r\n }\r\n\r\n if ($element.data(\"match\")) {\r\n var matchSelector = $element.data(\"match\");\r\n var $elementToMatch = $(matchSelector);\r\n if ($elementToMatch.length) {\r\n if ($element.val() !== $elementToMatch.val()) {\r\n bValidInput = false;\r\n }\r\n } else {\r\n console.log(\r\n \"input-validator: Failed to find matching element to compare data!\"\r\n );\r\n }\r\n }\r\n\r\n if (bValidInput) {\r\n $(\".-error\").html(\"Comments Field*\");\r\n $element.removeClass(\"invalid-input\");\r\n $element.closest(\".c-label-input-ctn\").removeClass(\"invalid-input\");\r\n return true;\r\n } else {\r\n $(\".-error\").html(\"Comments*\");\r\n $element.addClass(\"invalid-input\");\r\n $element.closest(\".c-label-input-ctn\").addClass(\"invalid-input\");\r\n return false;\r\n }\r\n }\r\n\r\n onErrorScrollTop() {\r\n $(\"html,body\").animate(\r\n {\r\n scrollTop: $(\".-scrolltop\").offset().top - 30,\r\n },\r\n \"fast\"\r\n );\r\n }\r\n\r\n formValidation(bAllValidated, e) {\r\n var context = this;\r\n if (bAllValidated) {\r\n context.$el.find(\".form-is-valid\").removeClass(\"-hide\");\r\n context.$el.find(\".form-is-invalid\").addClass(\"-hide\");\r\n // Change checkbox value when checked\r\n var $signMeUp = $('input[name=\"subscribe\"]');\r\n if ($signMeUp.prop(\"checked\")) {\r\n $(\".js-form-stream-val\").attr(\"value\", 1);\r\n } else {\r\n $(\".js-form-stream-val\").attr(\"value\", 0);\r\n }\r\n var htmlLoader =\r\n \"
\";\r\n $(\".cta-input-sugarform--send-btn\").after(htmlLoader);\r\n $(\".cta-input-sugarform--send-btn\").css(\"visibility\", \"hidden\");\r\n\r\n if (\r\n window.location.hostname === \"furnware-static.uniondigital.co.nz\" ||\r\n window.location.hostname === \"localhost\"\r\n ) {\r\n return;\r\n }\r\n if($(e.currentTarget).hasClass( \"stem-submit-btn\" )) {\r\n context.setCookie(\"stemlearningpopup\", \"clicked\", 100000)\r\n }\r\n $(\"#aspnetForm\").attr(\r\n \"action\",\r\n $(\".cta-input-form\").data(\"sugar-market-post-url\")\r\n );\r\n $(\"#aspnetForm\").unbind(\"submit\").removeAttr(\"onsubmit\");\r\n $(\"#aspnetForm\").submit();\r\n } else {\r\n context.$el.find(\".form-is-valid\").addClass(\"-hide\");\r\n context.$el.find(\".form-is-invalid\").removeClass(\"-hide\");\r\n grecaptcha.reset();\r\n context.onErrorScrollTop();\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n\r\n recaptchaValidation(context,bAllValidated,e) {\r\n $.ajax({\r\n type: \"GET\",\r\n url: `/WebApi/ReCaptchaApi/VerifyReCaptcha?reCaptchaResponse=${grecaptcha.getResponse()}`,\r\n error: function (response) {\r\n bAllValidated = false;\r\n $(\".g-recaptcha__errormsg\").addClass(\"-hide\");\r\n context.formValidation(bAllValidated, e);\r\n },\r\n success: function (response) {\r\n if (response == true) {\r\n $(\".g-recaptcha__errormsg\").addClass(\"-hide\");\r\n context.formValidation(bAllValidated, e);\r\n } else {\r\n bAllValidated = false;\r\n $(\".g-recaptcha__errormsg\").removeClass(\"-hide\");\r\n context.formValidation(bAllValidated, e);\r\n }\r\n },\r\n });\r\n }\r\n\r\n onSubmitButtonClicked(e) {\r\n var context = this;\r\n var bAllValidated = true;\r\n var dropdownValidated = true;\r\n var textareaValidated = true;\r\n if ( $(\".cta-input-form\").data(\"sugar-market-form\") == \"contact\") {\r\n if ($(\".c-label-select__fields\").val() == \"-1\") {\r\n $(\".selectric-c-label-select__fields\").addClass(\"is-invalid\");\r\n dropdownValidated = false;\r\n }\r\n if (this.$el.find(\".required textarea\").length > 0) {\r\n textareaValidated = this.validateTextarea(\r\n this.$el.find(\".required textarea\")\r\n );\r\n }\r\n this.$el.find(\".required input\").each(function () {\r\n var $input = $(this);\r\n if (!context.validateElement($input)) {\r\n bAllValidated = false;\r\n }\r\n });\r\n if (bAllValidated && textareaValidated && dropdownValidated) {\r\n this.$el.find(\".form-is-valid\").removeClass(\"-hide\");\r\n this.$el.find(\".form-is-invalid\").addClass(\"-hide\");\r\n } else {\r\n this.$el.find(\".form-is-valid\").addClass(\"-hide\");\r\n this.$el.find(\".form-is-invalid\").removeClass(\"-hide\");\r\n this.onErrorScrollTop();\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n context.recaptchaValidation(context,bAllValidated,e);\r\n } else {\r\n if($(\".c-label-select__fields\").length) {\r\n if ($(\".c-label-select__fields\").val() == \"-1\") {\r\n $(\".selectric-c-label-select__fields\").addClass(\"is-invalid\");\r\n bAllValidated = false;\r\n }\r\n }\r\n this.$el.find(\".required input\").each(function () {\r\n var $input = $(this);\r\n if (!context.validateElement($input)) {\r\n bAllValidated = false;\r\n }\r\n });\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n context.recaptchaValidation(context,bAllValidated,e);\r\n }\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./components/input-validator-v2.js\n **/","import _Abstract from \"system/abstract\"\r\n\r\nexport default class Module_Filter extends _Abstract {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module')\r\n\r\n this.FADE_OUT_DURATION = 50;\r\n this.FADE_IN_DURATION = 100;\r\n this.m_bIsOurPeopleFilter = $(\".-read-bio\").length;\r\n\r\n this.initModule();\r\n\r\n\r\n }\r\n\r\n /********* Initialising ***************/\r\n\r\n initModule()\r\n {\r\n this.$mList = this.$el.closest(\".m-list\");\r\n this.$mListColumns = this.$el.closest(\".m-list\").find(\".m-columns__columns\");\r\n this.$mContainerList = this.$mList.find(\".m-list__list\");\r\n this.$elItemBtn = this.$el.find(\"a\");\r\n this.$elItemSelect = this.$el.find(\"select\")\r\n this.initListener();\r\n this.triggers();\r\n this.setBorders();\r\n }\r\n\r\n initListener()\r\n {\r\n this.$el.on(\"click\",\"a\",(e) => this.onItemClicked(e));\r\n this.$el.on(\"change\",\"select\",(e) => this.onSelectBoxChanged(e));\r\n\r\n if(this.m_bIsOurPeopleFilter)\r\n {\r\n $(\".m-columns__column\").on(\"click\",\".-read-bio, .-read-bio-mobile, .m-list__name\",(e) => this.onReadBioClicked(e));\r\n \r\n if(window.location.hash)\r\n {\r\n var hashRemoved = encodeURI(window.location.hash.replace(\"#\",\"\"));\r\n var context = this;\r\n $(\".m-list__item[data-name!='']\").each(function()\r\n {\r\n var $this = $(this);\r\n var encodedDataName = encodeURI($this.data(\"name\"));\r\n if(encodedDataName === hashRemoved)\r\n {\r\n context.goToListItemDetail.call(context,$this,true,false);\r\n return false;\r\n }\r\n })\r\n\r\n }\r\n\r\n //Triggers the filter to display on the first item by default\r\n this.$el.find(\".-btns a.-active\").click();\r\n\r\n }\r\n $(\".-back\").click((e) => this.onBackButtonClicked(e));\r\n this.$mList.on(\"click\",\".m-list__item.-accordion .m-list__description, .m-list__item.-accordion .m-list__avatar, .m-list__item.-accordion .-open-accordion\", (e) => this.onAccordianItemClicked(e));\r\n }\r\n\r\n goToListItemDetail(_$listItem, fadeTo,_scrollToDetail)\r\n {\r\n if(!_$listItem.length)\r\n {\r\n console.log(\"no list item found\");\r\n return;\r\n }\r\n\r\n // $(\"body\").animate({scrollTop:});\r\n // $(\"body\").animate({scrollTop:$(\".m-profile\").offset().top});\r\n\r\n if(typeof _scrollToDetail === \"undefined\")\r\n {\r\n _scrollToDetail = true;\r\n }\r\n\r\n if(typeof fadeTo === \"undefined\")\r\n {\r\n fadeTo = true;\r\n }\r\n\r\n\r\n this.copyListItemDetailsToDetailItem(_$listItem);\r\n\r\n var context = this;\r\n\r\n $(\".m-list__list\").stop(true,true);\r\n if(fadeTo)\r\n {\r\n this.$mContainerList.fadeOut(this.FADE_OUT_DURATION,function()\r\n {\r\n $(\".m-profile\").fadeIn({duration:this.FADE_IN_DURATION});\r\n if(_scrollToDetail)\r\n {\r\n context.scrollToTopOfProfileElement(true);\r\n }\r\n });\r\n \r\n }\r\n else\r\n {\r\n this.$mContainerList.hide();\r\n $(\".m-profile\").show();\r\n if(_scrollToDetail)\r\n {\r\n this.scrollToTopOfProfileElement(false);\r\n }\r\n }\r\n\r\n this.$el.addClass('disabled');\r\n this.$el.find(\"select\").prop(\"disabled\", true);\r\n window.location.hash = _$listItem.data(\"name\");\r\n\r\n\r\n }\r\n\r\n scrollToTopOfProfileElement(_bAnimateTo)\r\n {\r\n if(_bAnimateTo)\r\n {\r\n $(\"html,body\").animate({scrollTop:$(\".m-profile\").offset().top});\r\n }\r\n else\r\n {\r\n $(\"html,body\").scrollTop($(\".m-profile\").offset().top);\r\n }\r\n\r\n }\r\n\r\n onReadBioClicked(e)\r\n {\r\n e.preventDefault();//Removing this will cause the page to jump to the top, then scroll down\r\n //Also causes issues with mobile\r\n var $listItem = $(e.currentTarget).closest(\".m-list__item\");\r\n this.goToListItemDetail($listItem);\r\n }\r\n\r\n copyListItemDetailsToDetailItem(_$item)\r\n {\r\n\r\n var classesTextToCopy = [\".m-list__name\",\".m-list__about\"];\r\n var classesHTMLToCopy = [\".m-profile__phone\",\".m-profile__email\"];\r\n\r\n for (var i = classesTextToCopy.length - 1; i >= 0; i--)\r\n {\r\n var selector = classesTextToCopy[i];\r\n this.copySelectorTextFromListToDetail(_$item,selector);\r\n }\r\n\r\n for (var i = classesHTMLToCopy.length - 1; i >= 0; i--)\r\n {\r\n var selector = classesHTMLToCopy[i];\r\n this.copySelectorHTMLFromListToDetail(_$item,selector);\r\n }\r\n\r\n\r\n this.copySocialMediaOptionsFromListItemToDetail(_$item);\r\n var htmlBioData = _$item.find(\".m-profile__bio\").html().trim();\r\n var dataResponsiveImageAttr = _$item.find(\".m-list__avatar\").data(\"responsive-image\");\r\n var $profileAvatarElement = $(\".m-profile\").find(\".m-profile__avatar\");\r\n\r\n $profileAvatarElement.css(\"background-image\",\"none\");\r\n $profileAvatarElement.data(\"responsive-image\",dataResponsiveImageAttr);\r\n\r\n var $profileBioElement = $(\".m-profile\").find(\".m-profile__bio\");\r\n if(htmlBioData)\r\n {\r\n $profileBioElement.html(htmlBioData);\r\n $profileBioElement.show();\r\n }\r\n else\r\n {\r\n $profileBioElement.hide();\r\n }\r\n $(\"body\").trigger(\"responsive-image\",{$responsiveImageTargets:$profileAvatarElement});\r\n }\r\n\r\n copySocialMediaOptionsFromListItemToDetail(_$item)\r\n {\r\n\r\n var $listItemTwitterElement = _$item.find(\".-twitter\");\r\n var $listItemLinkedinElement = _$item.find(\".-linkedin\");\r\n\r\n // var twitterOptions = $listItemTwitterElement.data(\"component-options\");\r\n // var linkedinOptions = $listItemLinkedinElement.data(\"component-options\");\r\n\r\n var $profileContainerElement = $(\".m-profile\");\r\n var $profileContainerTwitterElement = $profileContainerElement.find(\".-twitter\");\r\n var $profileContainerLinkedinElement = $profileContainerElement.find(\".-linkedin\");\r\n\r\n\r\n if($listItemTwitterElement.length)\r\n {\r\n\r\n $profileContainerTwitterElement.prop(\"href\",$listItemTwitterElement.prop(\"href\"));\r\n // $profileContainerTwitterElement.data(\"component-options\",twitterOptions);\r\n $profileContainerTwitterElement.show();\r\n }\r\n else\r\n {\r\n $profileContainerTwitterElement.hide();\r\n }\r\n\r\n if($listItemLinkedinElement.length)\r\n {\r\n\r\n $profileContainerLinkedinElement.prop(\"href\",$listItemLinkedinElement.prop(\"href\"));\r\n // $profileContainerLinkedinElement.data(\"component-options\",linkedinOptions);\r\n $profileContainerLinkedinElement.show();\r\n }\r\n else\r\n {\r\n $profileContainerLinkedinElement.hide();\r\n }\r\n\r\n\r\n // if(!$listItemLinkedinElement.length && !$listItemTwitterElement.length)\r\n // {\r\n // $(\".m-profile__description .m-profile__details > a\").hide();\r\n // }\r\n // else\r\n // {\r\n // $(\".m-profile__description .m-profile__details > a\").show();\r\n // }\r\n\r\n }\r\n\r\n\r\n copySelectorTextFromListToDetail(_$item, _$selector)\r\n {\r\n var value = _$item.find(_$selector).text();\r\n var profileSelector = _$selector.replace(\"m-list\",\"m-profile\");\r\n $(\".m-profile\").find(profileSelector).text(value);\r\n }\r\n\r\n copySelectorHTMLFromListToDetail(_$item, _$selector)\r\n {\r\n var value = _$item.find(_$selector).html();\r\n var profileSelector = _$selector.replace(\"m-list\",\"m-profile\");\r\n $(\".m-profile\").find(profileSelector).html(value);\r\n }\r\n\r\n onBackButtonClicked(e)\r\n {\r\n e.preventDefault();\r\n // history.pushState(null, null, '');\r\n window.location.hash = \"listings\";\r\n // $(\".m-profile\").css('display','none');\r\n // $(\".m-list__list\").css('display','block');\r\n\r\n // window.location.origin + window.location.pathname\r\n\r\n \r\n $(\".m-profile\").stop(true,true).fadeOut(this.FADE_OUT_DURATION,function(){\r\n $(\".m-list__list\").fadeIn({duration:this.FADE_IN_DURATION});\r\n });\r\n \r\n this.$el.removeClass('disabled');\r\n this.$el.find(\"select\").prop(\"disabled\", false);\r\n }\r\n\r\n onSelectBoxChanged(e)\r\n {\r\n this.changeStatus(e);\r\n }\r\n\r\n onItemClicked(e)\r\n {\r\n this.changeStatus(e);\r\n }\r\n\r\n onAccordianItemClicked(e)\r\n {\r\n console.log('click accordion');\r\n\r\n var $parent = $(e.target).closest('.m-list__item');\r\n var $accordianItems = $('.m-list__item');\r\n\r\n\r\n if(!$parent.hasClass(\"-is-open\")){\r\n $accordianItems.removeClass(\"-is-open\");\r\n $parent.addClass(\"-is-open\");\r\n } else {\r\n $parent.removeClass(\"-is-open\");\r\n }\r\n }\r\n\r\n\r\n changeStatus(e)\r\n {\r\n e.preventDefault();\r\n var f;\r\n $(this.$el).find(\"a\").removeClass(\"-active\");\r\n\r\n if($(e.target).hasClass('c-form__select'))\r\n {\r\n f = $(e.target).val();\r\n $('[data-filter-option=\"'+f+'\"]').addClass('-active');\r\n }\r\n else\r\n {\r\n f = $(e.target).attr('data-filter-option');\r\n\r\n this.$elItemSelect.val(f);\r\n\r\n }\r\n\r\n if($(this.$el).hasClass('disabled'))\r\n {\r\n return\r\n }\r\n\r\n var $this = $(this);\r\n \r\n $(e.target).addClass('-active');\r\n this.filterList(f);\r\n }\r\n\r\n\r\n filterList(option)\r\n {\r\n console.log(option);\r\n if(option == \"all\")\r\n {\r\n this.$mContainerList.find(\".m-list__item\").addClass('show');\r\n }\r\n else\r\n {\r\n this.$mContainerList.find(\".m-list__item\").removeClass('show');\r\n $('[data-filter-item*=\";'+option+';\"]').addClass('show');\r\n }\r\n this.setBorders();\r\n }\r\n\r\n setBorders()\r\n {\r\n\r\n this.$mContainerList.find(\".m-list__item.show\").removeClass(\"-no-bottom-border\");\r\n this.$mContainerList.find(\".m-list__item.show:last\").addClass(\"-no-bottom-border\");\r\n\r\n }\r\n\r\n triggers(){\r\n\r\n \r\n activateAccordion();\r\n $( window ).resize(function() {\r\n activateAccordion();\r\n })\r\n \r\n \r\n function activateAccordion(){\r\n if($(\"body\").hasClass(\"mobile\"))\r\n {\r\n $('.m-list__item').addClass('-accordion');\r\n }else{\r\n $('.m-list__item').removeClass('-accordion');\r\n }\r\n }\r\n }\r\n \r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./modules/filter.js\n **/","import _Abstract from \"system/abstract\"\r\n\r\n\r\n\r\nexport default class Module_Modal extends _Abstract {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module');\r\n console.log(this.options, 'KarthikOptions');\r\n console.log(el, '$el');\r\n this.initModule();\r\n }\r\n\r\n initModule() {\r\n this.initListeners();\r\n }\r\n\r\n initListeners() {\r\n let _this = this;\r\n if(_this.getCookie(\"stemlearningpopup\") === \"\"){\r\n setTimeout(function(){\r\n $(\".c-modal\").removeClass(\"c-modal__hidden\");\r\n }, _this.options.popupDelayTime)\r\n }\r\n\r\n //--Cancel Button Clicked\r\n function onCancelPopup() {\r\n $(\".c-modal\").fadeOut(\"fast\");\r\n _this.setCookie(\"stemlearningpopup\", \"clicked\", 100000);\r\n }\r\n \r\n $(\".c-modal .-icon_close, .c-modal .c-btn\").on(\"click\", onCancelPopup)\r\n }\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/modal.js\n **/","import _Abstract from \"system/abstract\"\r\n\r\nexport default class Module_Tabs extends _Abstract {\r\n\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module')\r\n\r\n this.initModule();\r\n\r\n\r\n }\r\n\r\n /********* Initialising ***************/\r\n\r\n initModule() {\r\n // this.$mList = this.$el.closest(\".m-list\");\r\n // this.$mListColumns = this.$el.closest(\".m-list\").find(\".m-columns__columns\");\r\n // this.$mContainerList = this.$mList.find(\".m-list__list\");\r\n // this.$elItemBtn = this.$el.find(\"a\");\r\n // this.$elItemSelect = this.$el.find(\"select\")\r\n this.initListener();\r\n }\r\n\r\n initListener() {\r\n // this.$el.on(\"click\", \"a\", (e) => this.onItemClicked(e));\r\n // this.$el.on(\"change\", \"select\", (e) => this.onSelectBoxChanged(e));\r\n\r\n this.onTabsItemClicked();\r\n }\r\n\r\n onTabsItemClicked() {\r\n $(\".c-tabs > li > a\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var hash = $(this).attr('href');\r\n //window.location.hash = 'tab-' + hash.replace('#', '');\r\n\r\n if ($(this).hasClass(\"-active\")) { //detection for current tab\r\n return;\r\n } else {\r\n $(\".c-tabs__content > .c-tabs__content-item\").hide();\r\n $(\".c-tabs > li > a\").removeClass(\"-active\");\r\n $(this).addClass(\"-active\"); // Activate this\r\n $(hash).fadeIn(); // Show content for current tab\r\n }\r\n });\r\n\r\n $(\".c-tabs > li:first > a\").trigger('click');\r\n\r\n if (window.location.hash != '') {\r\n $('.c-tabs > li > a[href=\"' + window.location.hash.replace('tab-', '') + '\"]').trigger('click');\r\n var $tabElements = $('.c-tabs');\r\n $('html, body').animate({\r\n scrollTop: $tabElements.offset().top - 30\r\n }, 1000);\r\n }\r\n }\r\n\r\n \r\n\r\n}\n\n\n/** WEBPACK FOOTER **\n ** ./modules/tabs.js\n **/","import _Abstract from \"system/abstract\"\r\n\r\nexport default class Module_TwoColVerticallyStackedTiles extends _Abstract {\r\n constructor(el, options) {\r\n super(el, $.extend(true, {}, options), 'module')\r\n this.initialise();\r\n\r\n var LAZY_LOAD_TILES_OFF_SCREEN = true;\r\n\r\n this.orderedType = \"\";\r\n }\r\n\r\n\r\n initialise()\r\n {\r\n this.cacheElements();\r\n this.setOrderNumbersOnElements();\r\n this.initialiseListeners();\r\n this.reorderElements();\r\n }\r\n\r\n setOrderNumbersOnElements()\r\n {\r\n this.$tileContent.find(\"> *\").each(function(index,value)\r\n {\r\n $(this).attr(\"data-index\",index);\r\n });\r\n }\r\n\r\n cacheElements()\r\n {\r\n this.$tileContent = this.$el.find(\".m-two-col-vertically-stacked-tiles-content\");\r\n this.$firstContentContainer = this.$el.find(\".-first-content-container\");\r\n this.$secondContentCotainer = this.$el.find(\".-second-content-container\");\r\n }\r\n\r\n\r\n initialiseListeners()\r\n {\r\n $(window).resize((e) => this.onWindowResized(e));\r\n $(\"body\").on('reorder-items',()=>this.onReorderElementsEventTriggered())\r\n }\r\n\r\n onWindowResized(_event)\r\n {\r\n this.reorderElements();\r\n }\r\n\r\n onReorderElementsEventTriggered(_event)\r\n {\r\n this.reorderElements(true);\r\n }\r\n\r\n reorderElements(_forceReorder)\r\n {\r\n if(typeof _forceReorder === \"undefined\")\r\n {\r\n _forceReorder = false;\r\n }\r\n\r\n var desktopBreakpointSize = $(\"#bp-desktop\").width();\r\n\r\n var windowOuterWidth = $(window).outerWidth();\r\n\r\n var bDesktopSizeAndNewColumnType = windowOuterWidth >= desktopBreakpointSize && (this.orderedType !== \"two-col\" || _forceReorder);\r\n var bMobileSizeAndNewColumnType = windowOuterWidth < desktopBreakpointSize && (this.orderedType !== \"one-col\" || _forceReorder);\r\n\r\n if(bDesktopSizeAndNewColumnType || bMobileSizeAndNewColumnType)\r\n {\r\n this.$tileContent.append(this.$firstContentContainer.find(\" > a\").detach());\r\n this.$tileContent.append(this.$secondContentCotainer.find(\" > a\").detach());\r\n this.setTileContentInOriginalOrder();\r\n var $tileItems = this.$tileContent.find(\" > a\");\r\n var $dataResponsiveImages = $tileItems.find(\"[data-responsive-image]\");\r\n $dataResponsiveImages.removeClass(\"-defer-loading\");\r\n\r\n if(bDesktopSizeAndNewColumnType)\r\n {\r\n var context = this;\r\n var $nonHiddenItems = $tileItems.not('.-hide');\r\n\r\n $nonHiddenItems.each(function()\r\n {\r\n var $smallestTileContainer = context.getSmallestHeightTileContainer();\r\n $smallestTileContainer.append(this);\r\n });\r\n\r\n $tileItems.not(':not(.-hide)').each(function()\r\n {\r\n var $smallestTileContainer = context.getSmallestHeightTileContainer();\r\n $smallestTileContainer.append(this);\r\n });\r\n\r\n this.orderedType = \"two-col\";\r\n }\r\n else if(bMobileSizeAndNewColumnType)\r\n {\r\n this.$firstContentContainer.append($tileItems);\r\n this.orderedType = \"one-col\";\r\n }\r\n\r\n $(\"body\").trigger(\"responsive-image\",{\"$responsiveImageTargets\":$dataResponsiveImages});\r\n\r\n }\r\n }\r\n\r\n\r\n setTileContentInOriginalOrder()\r\n {\r\n var bAscendingOrder = this.$el.hasClass(\"-ascending-order\");\r\n\r\n var $detachedItems = this.$tileContent.find(\"> *\").detach();\r\n if(bAscendingOrder)\r\n {\r\n $detachedItems.sort(function(a,b)\r\n {\r\n return (+b.getAttribute(\"data-index\")) - (+a.getAttribute(\"data-index\"))\r\n }).appendTo(this.$tileContent);\r\n }\r\n else\r\n {\r\n $detachedItems.sort(function(a,b)\r\n {\r\n return (+a.getAttribute(\"data-index\")) - (+b.getAttribute(\"data-index\"))\r\n }).appendTo(this.$tileContent);\r\n }\r\n }\r\n\r\n getFirstContainerTileHeight()\r\n {\r\n return this.getHeightOfTilesInContainer(this.$firstContentContainer);\r\n }\r\n\r\n getSecondContainerTileHeight()\r\n {\r\n return this.getHeightOfTilesInContainer(this.$secondContentCotainer);\r\n }\r\n\r\n getHeightOfTilesInContainer(_$container)\r\n {\r\n var $tiles = _$container.find(\"> a\");\r\n var height = 0;\r\n $tiles.each(function()\r\n {\r\n height += $(this).height();\r\n })\r\n\r\n return height;\r\n }\r\n\r\n\r\n getSmallestHeightTileContainer()\r\n {\r\n if(this.getFirstContainerTileHeight() <= this.getSecondContainerTileHeight())\r\n {\r\n return this.$firstContentContainer;\r\n }\r\n else\r\n {\r\n return this.$secondContentCotainer;\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/two-col-vertically-stacked-tiles.js\n **/","import _Abstract from \"system/abstract\"\r\n\r\n//No longer using the youtube API, too much can go wrong to override the theme\r\n//and even using it we cant override the play / pause buttons *sad face*\r\n\r\n//A global loader to get the youtube JavascriptAPI loaded\r\n//This only needs to run once, so we run it outside of an instantiated class\r\n// var onYoutubeloadedCallbacks = [];\r\n// var bYoutubeAPILoaded = false;\r\n// $.getScript(\"//www.youtube.com/player_api\", function()\r\n// {\r\n// var yt_int = setInterval(function()\r\n// {\r\n// if(typeof YT === \"object\")\r\n// {\r\n// clearInterval(yt_int);\r\n// for(var i =0 ; i < onYoutubeloadedCallbacks.length; ++i)\r\n// {\r\n// \tonYoutubeloadedCallbacks[i]();\r\n// }\r\n// onYoutubeloadedCallbacks = null;\r\n// }\r\n// },500);\r\n// });\r\n\r\nexport default class Module_VideoTile extends _Abstract {\r\n\r\n\tconstructor(el, options)\r\n\t{\r\n\t\tsuper(el, $.extend(true, {}, options), 'module')\r\n\t\tconsole.log(options);\r\n\r\n\t\tthis.bIsIOSDevice = navigator.userAgent.match(/(iPod|iPhone|iPad)/);\r\n\t\tthis.bIsYoutubeVideo = this.$el.find(\".youtube-player\").length;\r\n\t\tthis.youtubeID = \"\";\r\n\t\t// if(this.bIsYoutubeVideo)\r\n\t\t// {\r\n\t\t// \treturn;//dont do anything just yet\r\n\t\t// }\r\n\t\tif(this.bIsYoutubeVideo)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.initModule();\r\n\r\n\t\tthis.HIDE_VIDEO_CONTROLS_TIME_MILLISECONDS = 2000;\r\n\t\tthis.VIDEO_DURATION_UPDATE_TIME = 1000/30; //How often the scrub bar updates when the video is playing\r\n\t}\r\n\r\n\t/***** Initialising methods *******************/\r\n\r\n\tinitModule()\r\n\t{\r\n\t\tthis.initClassVariables();\r\n\t\tthis.initListeners();\r\n\t}\r\n\r\n\r\n\tinitClassVariables()\r\n\t{\r\n\t\tthis.$video = this.$el.find('video');\r\n\t\tthis.video = null;\r\n\t\t// this.$youtubeVideoIframe = null;\r\n\t\tthis.$youtubeVideoIframe = this.$el.find('.youtube-player');\r\n\t\tthis.bIsYoutubeVideo = this.$youtubeVideoIframe !== 0;\r\n\t\tthis.youtubePlayerInstance = null;\r\n\t\tthis.youtubePlayerState = null;\r\n\t\tthis.onDocumentBoundMouseMoveHandler = this.onDocumentMouseMoveHandler.bind(this);\r\n\r\n\t\tthis.initialiseVideoControls();\r\n\r\n\t\tif(this.$video.length)\r\n\t\t{\r\n\t\t\tthis.initialiseHTML5Video();\r\n\t\t}\r\n\t\telse if(this.bIsYoutubeVideo)\r\n\t\t{\r\n\t\t\tthis.youtubeID = this.$el.find(\"[name='youtube-id']\").val();\r\n\t\t\tthis.initialiseYoutubeImage();\r\n\t\t\tthis.initialiseYoutubeVideo();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\r\n\t}\r\n\r\n\tinitialiseVideoControls()\r\n\t{\r\n\t\tthis.isScrubbing = false;\r\n\t\tthis.hideControlsTimer = null;\r\n\t\tthis.scrubBarTimer = null;\r\n\t\tthis.youtubeCountdownTimer = null;\r\n\t\tthis.$videoContainer = this.$el.find('.video-ctn');\r\n\t\tthis.$videoControlsContainer = this.$el.find('.video-controls');\r\n\t\tthis.$videoControlsPlayButton = this.$el.find('.video-controls-play-btn');\r\n\t\tthis.$videoControlsPauseButton = this.$el.find('.video-controls-pause-btn');\r\n\t\tthis.$videoControlsScrubBarContainer = this.$el.find('.video-controls-scrub-bar-container');\r\n\t\tthis.$videoControlsScrubBarDuration = this.$el.find('.video-controls-scrub-bar-duration');\r\n\t\tthis.$videoControlsTime = this.$el.find('.video-controls-time');\r\n\t\tthis.$videoControlsFullScreen = this.$el.find('.video-controls-full-screen');\r\n\t\tthis.$videoControlsExitFullScreen = this.$el.find('.video-controls-exit-full-screen');\r\n\t}\r\n\r\n\tinitialiseHTML5Video()\r\n\t{\r\n\t\tthis.video = this.$video[0];\r\n\r\n\t\tif (this.bIsIOSDevice) {\r\n\t\t\tthis.video.load();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\t/***** Youtube Callbacks and methods *******************/\r\n\r\n\tinitialiseYoutubeImage()\r\n\t{\r\n\t\t// this.$el.find(\".video-ctn\").css(\"background-image\",\"url('http://img.youtube.com/vi/\"+this.youtubeID+\"/maxresdefault.jpg')\");\r\n\t}\r\n\r\n\tinitialiseYoutubeVideo()\r\n\t{\r\n\r\n\t\tvar youtubeEmbedURL = \"https://www.youtube.com/embed/\"+this.youtubeID+\"?version=3&enablejsapi=1&autoplay=0&autohide=1&showinfo=0&modestbranding=1&rel=0&controls=0\";\r\n\r\n\t\tif(this.bIsIOSDevice)\r\n\t\t{\r\n\t\t\tyoutubeEmbedURL = \"https://www.youtube.com/embed/\"+this.youtubeID;\r\n\t\t\t// this.$el.find(\".youtube-player-overlay\").remove();\r\n\t\t\tthis.$el.find(\".video-controls\").remove();\r\n\t\t\tthis.$el.find(\".video-controls-time\").remove();\r\n\t\t\tthis.$el.find(\".video-controls-scrub-bar-container\").remove();\r\n\t\t}\r\n\r\n\t\tthis.$youtubeVideoIframe.attr(\"src\",youtubeEmbedURL);\r\n\r\n\r\n\t\tif(bYoutubeAPILoaded)\r\n\t\t{\r\n\t\t\tthis.onYoutubeAPILoaded();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tonYoutubeloadedCallbacks.push(() => this.onYoutubeAPILoaded());\r\n\t\t}\r\n\t}\r\n\r\n\tonYoutubeAPILoaded()\r\n\t{\r\n\t\tconsole.log(\"onYoutubeAPILoaded\");\r\n\t\t\t// this.video.addEventListener(\"timeupdate\", (e)=> this.onVideoTimeUpdate(e));\r\n\r\n\r\n\t\tvar player = new YT.Player(this.$youtubeVideoIframe[0],{\r\n\t\t\tevents: {\r\n\t\t\t\t'onReady' : (e) => this.onYoutubePlayerInstanceReady(e),\r\n\t\t\t\t'onStateChange' : (e) => this.onYoutubePlayerInstanceStateChange(e),\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonYoutubePlayerInstanceReady(event)\r\n\t{\r\n\t\tthis.youtubePlayerInstance = event.target;\r\n\r\n\t}\r\n\r\n\tonYoutubePlayerInstanceStateChange(event)\r\n\t{\r\n\t\tthis.youtubePlayerState = event.data;\r\n\t\tswitch(event.data)\r\n\t\t{\r\n\t\t\tcase YT.PlayerState.ENDED:\r\n\t\t\tcase YT.PlayerState.PAUSED:\r\n\t\t\t{\r\n\t\t\t\tthis.onVideoPaused();\r\n\t\t\t\tthis.updateCountDownTimer();\r\n\t\t\t\twindow.clearInterval(this.youtubeCountdownTimer);\r\n\t\t\t\tthis.youtubeCountdownTimer = null;\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tcase YT.PlayerState.BUFFERING:\r\n\t\t\t{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tcase YT.PlayerState.PLAYING:\r\n\t\t\tcase YT.PlayerState.CUED:\r\n\t\t\t{\r\n\t\t\t\tthis.$videoContainer.css(\"background-image\",\"none\");\r\n\t\t\t\tthis.$youtubeVideoIframe.removeClass(\"-hide\");\r\n\r\n\t\t\t\tthis.onVideoPlaying();\r\n\t\t\t\tthis.youtubeCountdownTimer = window.setInterval(() => this.updateCountDownTimer(), 1000);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/***** Initialising Event Listeners *******************/\r\n\r\n\tinitListeners()\r\n\t{\r\n\r\n\t\tdocument.addEventListener(\"fullscreenchange\", (e) => this.onFullScreenChange(e));\r\n\t\tdocument.addEventListener(\"webkitfullscreenchange\", (e) => this.onFullScreenChange(e));\r\n\t\tdocument.addEventListener(\"mozfullscreenchange\", (e) => this.onFullScreenChange(e));\r\n\t\tdocument.addEventListener(\"MSFullscreenChange\", (e) => this.onFullScreenChange(e));\r\n\t\tthis.$videoControlsFullScreen.click((e) => this.onFullScreenClicked(e));\r\n\t\tthis.$videoControlsExitFullScreen.click((e) => this.onExitFullScreenClicked(e));\r\n\t\tthis.$videoContainer.click((e) => this.onVideoContainerClicked(e));\r\n\t\tthis.$videoContainer.mousemove((e)=> this.onMouseMoveOnVideoContainer(e));\r\n\r\n\t\t\r\n\t\tif(this.video)\r\n\t\t{\r\n\t\t\t$(document).mouseleave(() => { \r\n\t\t\t\tthis.isScrubbing = false;\r\n\t\t\t\t$(document).off('mousemove', this.onDocumentBoundMouseMoveHandler);\r\n\t\t\t\tthis.setCurrentTimeBasedOffScrubBarPosition();\r\n\t\t\t});\r\n\r\n\t\t\t$(document).mouseup(() => { \r\n\t\t\t\tthis.isScrubbing = false;\r\n\t\t\t\t$(document).off('mousemove', this.onDocumentBoundMouseMoveHandler);\r\n\t\t\t\tthis.setCurrentTimeBasedOffScrubBarPosition();\r\n\t\t\t});\r\n\t\t\tthis.$videoContainer.on('mousedown', (e) => this.onHTML5VideoContainerMouseDown(e));\r\n\t\t\tthis.video.addEventListener(\"play\", (e)=> this.onVideoPlaying(e));\r\n\t\t\tthis.video.addEventListener(\"pause\", (e)=> this.onVideoPaused(e));\r\n\t\t\tthis.video.addEventListener(\"timeupdate\", (e)=> this.onVideoTimeUpdate(e));\r\n\t\t}\r\n\t\telse if(this.bIsYoutubeVideo)\r\n\t\t{\r\n\t\t\t// this.$el.find(\".youtube-player-overlay\").click((e) => this.preventDefaultAndToggleVideo(e));\r\n\t\t\t// this.$el.find(\".youtube-player-overlay\").on(\"touchstart\",(e) => this.preventDefaultAndToggleVideo(e));\r\n\t\t\t// this.$el.find(\".youtube-player-overlay\").mousedown((e) => this.preventDefault(e));\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\tpreventDefaultAndToggleVideo(e)\r\n\t{\r\n\t\tthis.preventDefault(e);\r\n\t\tthis.toggleVideoPlayState();\r\n\r\n\r\n\t}\r\n\r\n\tpreventDefault(e)\r\n\t{\r\n\t\tif (!e.preventDefault)\r\n {//IE quirks\r\n e.returnValue = false;\r\n e.cancelBubble = true;\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\t}\r\n\r\n\r\n\t/***** Responding to Full Screen Change Events *******************/\r\n\r\n\tonFullScreenChange(e)\r\n\t{\r\n\t\t// console.log(e);\r\n\t\tif(this.isCurrentlyFullscreen())\r\n\t\t{\r\n\t\t\tthis.showCancelFullScreenButtonHideGoFullScreenButton();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.showGoFullScreenButtonHideCancelFullScreenButton();\r\n\t\t}\r\n\t}\r\n\r\n\tisCurrentlyFullscreen()\r\n\t{\r\n\t var bIsFullScreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen || (typeof document.msFullscreenElement !== 'undefined' && document.msFullscreenElement != null);\r\n\t return bIsFullScreen;\r\n\t}\r\n\r\n\r\n\t/***** Responding to Native HTML Video Events *******************/\r\n\r\n\r\n\tonVideoPlaying(e)\r\n\t{\r\n\t\tconsole.log('onVideoPlaying');\r\n\t\tthis.showPauseButtonHidePlayButton();\r\n\t\tthis.setHideControlsTimer();\r\n\t\tthis.setScrubBarTimer();\r\n\t}\r\n\r\n\tonVideoPaused(e)\r\n\t{\r\n\t\tconsole.log('onVideoPaused');\r\n\t\tthis.showPlayButtonHidePauseButton();\r\n\t\tthis.showVideoControls();\r\n\t\tthis.clearScrubBarTimer();\r\n\t}\r\n\r\n\t//Note, we only use this video for the clock timer\r\n\t//As using this for the scrub bar, the update rate is far too slow\r\n\tonVideoTimeUpdate(e)\r\n\t{\r\n\t\tthis.updateCountDownTimer();\r\n\t}\r\n\r\n\r\n\r\n\t/***** Responding to Mouse Movement Events *******************/\r\n\r\n\tonMouseMoveOnVideo(e)\r\n\t{\r\n\t\tthis.showVideoControls();\r\n\t}\r\n\r\n\t// onMouseMoveOnVideoControlsContainer()\r\n\t// {\r\n\t// \tif(!this.video.playing)\r\n\t// \t{\r\n\t// \t\treturn;\r\n\t// \t}\r\n\t// \tconsole.log('onMouseMoveOnVideoControlsContainer');\r\n\t// \tthis.showVideoControls();\r\n\t// }\r\n\r\n\tonMouseMoveOnVideoContainer(mouseEvent)\r\n\t{\r\n\t\t// var x = mouseEvent.pageX - this.$el.offset().left;\r\n\t\tvar mouseY = mouseEvent.pageY - this.$el.find('.video-ctn').offset().top;\r\n\t\t//check if they're at a percentage from the bottom\r\n\r\n\t\tvar heightOfContainer = this.$el.find('.video-ctn').height();\r\n\r\n\t\tvar percentageOfPosition = (mouseY / heightOfContainer) * 100;\r\n\t\tif(percentageOfPosition >= 90)\r\n\t\t{\r\n\t\t\tthis.$el.addClass('larger-footer-controls');\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.$el.removeClass('larger-footer-controls');\r\n\t\t}\r\n\r\n\t\t// console.log('onMouseMoveOnVideoContainer');\r\n\t\tthis.showVideoControls();\r\n\t}\r\n\r\n\tonDocumentMouseMoveHandler(mouseEvent)\r\n\t{\r\n\t\tvar percentageX = this.getMousePercentageOnContainerFromEvent(mouseEvent);\r\n\t\tthis.setPercentageOfScrubBar(percentageX);\r\n\t}\r\n\r\n\t/***** Video State Changes *******************/\r\n\tsetCurrentTimeBasedOffScrubBarPosition()\r\n\t{\r\n\t\t//This is 0-1 not 0-100\r\n\t\tvar scrubDecimalFraction = this.$videoControlsScrubBarDuration.width() / this.$videoControlsScrubBarContainer.width();\r\n\t\tthis.video.currentTime = this.video.duration * scrubDecimalFraction;\r\n\t}\r\n\r\n\r\n\r\n\t/***** Responding to Click Events *******************/\r\n\r\n\tonHTML5VideoContainerMouseDown(mouseEvent)\r\n\t{\r\n\t\tvar $target = $(mouseEvent.target);\r\n\t\tif(!this.isHTML5VideoAndClickedWithinScrubber(mouseEvent))\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif(this.isScrubbing)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.isScrubbing = true;\r\n\t\t$(document).on('mousemove', this.onDocumentBoundMouseMoveHandler);\r\n\t}\r\n\r\n\r\n\tonVideoContainerClicked(mouseEvent)\r\n\t{\r\n\t\tif(this.isScrubbing)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconsole.log(\"onVideoContainerClicked\");\t\r\n\t\tif(this.$el.hasClass(\"-fullscreen-on-play\") && this.isVideoPaused())\r\n\t\t{\r\n\t\t\tthis.onFullScreenClicked();\r\n\t\t}\r\n\r\n\t\tif(this.isHTML5VideoAndClickedWithinScrubber(mouseEvent))\r\n\t\t{\r\n\t\t\tvar percentageX = this.getMousePercentageOnContainerFromEvent(mouseEvent);\r\n\t\t\tthis.video.currentTime = this.video.duration * (percentageX /100);\r\n\t\t\tthis.updateCountDownTimer();\r\n\t\t\tthis.onScrubBarTick();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.toggleVideoPlayState();\r\n\t\t}\r\n\t\r\n\t}\r\n\t\r\n\tgetMousePercentageOnContainerFromEvent(mouseEvent)\r\n\t{\r\n\t\tvar widthOfContainer = this.$el.find('.video-ctn').width();\r\n\t\tvar mouseX = mouseEvent.pageX - this.$el.find('.video-ctn').offset().left;\r\n\t\tvar percentageX = mouseX / widthOfContainer;\r\n\t\tif(percentageX < 0)\r\n\t\t{\r\n\t\t\tpercentageX = 0;\r\n\t\t}\r\n\t\telse if(percentageX > 1)\r\n\t\t{\r\n\t\t\tpercentageX = 1;\r\n\t\t}\r\n\r\n\t\tpercentageX *= 100;\r\n\r\n\t\treturn percentageX;\r\n\t}\r\n\r\n\r\n\tisHTML5VideoAndClickedWithinScrubber(mouseEvent)\r\n\t{\r\n\t\tif(!this.video)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar $clickedTarget = $(mouseEvent.target);\r\n\t\tvar mouseY = mouseEvent.pageY - this.$el.find('.video-ctn').offset().top;\r\n\t\tvar heightOfContainer = this.$el.find('.video-ctn').height();\r\n\t\tvar heightOfScrubber = this.$el.find('.video-controls-scrub-bar-container').height();\r\n\t\tvar clickedWithinScrubBar = mouseY >= (heightOfContainer - heightOfScrubber);\r\n\t\treturn clickedWithinScrubBar;\r\n\t}\r\n\r\n\ttoggleVideoPlayState()\r\n\t{\r\n\t\tif(this.video)\r\n\t\t{\r\n\t\t\tif(this.isVideoPaused())\r\n\t\t\t{\r\n\t\t\t\tthis.video.play();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.video.pause();\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if(this.youtubePlayerInstance)\r\n\t\t{\r\n\t\t\tif(this.isVideoPaused())\r\n\t\t\t{\r\n\t\t\t\tthis.youtubePlayerInstance.playVideo();\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.youtubePlayerInstance.pauseVideo();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\tonFullScreenClicked(e)\r\n\t{\r\n\t\t//Stop propagation so the click event on the video container doesnt get called\r\n\t\tif(typeof e !== \"undefined\")\r\n\t\t{\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\t\t}\r\n\r\n\t\tif(!this.$video.length)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar videoContainer = this.$el.find(\".video-ctn\")[0];\r\n\t\tif(videoContainer.requestFullscreen){\r\n\t\t videoContainer.requestFullscreen();\r\n\t\t} else if(videoContainer.mozRequestFullScreen) {\r\n\t\t videoContainer.mozRequestFullScreen();\r\n\t\t} else if(videoContainer.webkitRequestFullscreen) {\r\n\t\t videoContainer.webkitRequestFullscreen();\r\n\t\t} else if(videoContainer.msRequestFullscreen) {\r\n\t\t videoContainer.msRequestFullscreen();\r\n\t\t}\r\n\t\telse if(typeof this.$video[0].webkitEnterFullscreen !== \"undefined\")\r\n\t\t{\r\n\t\t\tthis.$video[0].webkitEnterFullscreen();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tonExitFullScreenClicked(e)\r\n\t{\r\n\t\te.preventDefault();\r\n\t\te.stopPropagation();\r\n\t\t// exit full-screen\r\n\t\tif (document.exitFullscreen) {\r\n\t\t\tdocument.exitFullscreen();\r\n\t\t} else if (document.webkitExitFullscreen) {\r\n\t\t\tdocument.webkitExitFullscreen();\r\n\t\t} else if (document.mozCancelFullScreen) {\r\n\t\t\tdocument.mozCancelFullScreen();\r\n\t\t} else if (document.msExitFullscreen) {\r\n\t\t\tdocument.msExitFullscreen();\r\n\t\t}\t\r\n\t}\r\n\r\n\t/***** Changing button states *******************/\r\n\r\n\tshowPlayButtonHidePauseButton()\r\n\t{\r\n\t\tthis.$videoControlsPlayButton.removeClass(\"-hide\");\r\n\t\tthis.$videoControlsPauseButton.addClass(\"-hide\");\r\n\t}\r\n\r\n\tshowPauseButtonHidePlayButton()\r\n\t{\r\n\t\tthis.$videoControlsPauseButton.removeClass(\"-hide\");\r\n\t\tthis.$videoControlsPlayButton.addClass(\"-hide\");\r\n\t}\r\n\r\n\tshowGoFullScreenButtonHideCancelFullScreenButton()\r\n\t{\r\n\t\tthis.$videoControlsFullScreen.removeClass(\"-hide\");\r\n\t\tthis.$videoControlsExitFullScreen.addClass(\"-hide\");\r\n\r\n\t}\r\n\r\n\tshowCancelFullScreenButtonHideGoFullScreenButton()\r\n\t{\r\n\t\tthis.$videoControlsExitFullScreen.removeClass(\"-hide\");\r\n\t\tthis.$videoControlsFullScreen.addClass(\"-hide\");\r\n\t}\r\n\r\n\r\n\t/***** Hiding and showing the video controls container timer *******************/\r\n\r\n\tupdateCountDownTimer()\r\n\t{\r\n\r\n\t\tvar videoDuration = this.video ? this.video.duration : this.youtubePlayerInstance.getDuration();\r\n\t\tvar videoCurrentTime = this.video ? this.video.currentTime : this.youtubePlayerInstance.getCurrentTime();\r\n\r\n\t\tvar totalSecondsRemaining = videoDuration - videoCurrentTime;\r\n\r\n\t\tvar minutesRemaining = Math.floor(totalSecondsRemaining /60);\r\n\t\tvar secondsRemaining = Math.floor(totalSecondsRemaining %60);\r\n\r\n\t\tif(minutesRemaining < 10)\r\n\t\t{\r\n\t\t\tminutesRemaining = \"0\" + minutesRemaining;\r\n\t\t}\r\n\r\n\t\tif(secondsRemaining < 10)\r\n\t\t{\r\n\t\t\tsecondsRemaining = \"0\" + secondsRemaining;\r\n\t\t}\r\n\r\n\t\tvar timeText = minutesRemaining + \":\" + secondsRemaining;\r\n\t\tthis.$videoControlsTime.text(timeText);\r\n\r\n\t}\r\n\r\n\r\n\r\n\t/***** Hiding and showing the video controls container timer *******************/\r\n\r\n\r\n\tisVideoPaused()\r\n\t{\r\n\t\tif(this.video)\r\n\t\t{\r\n\t\t\treturn this.video.paused;\r\n\t\t}\r\n\t\telse if(this.youtubePlayerInstance)\r\n\t\t{\r\n\t\t\treturn this.youtubePlayerState === null || this.youtubePlayerState === YT.PlayerState.ENDED || this.youtubePlayerState === YT.PlayerState.PAUSED;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tclearHideControlsTimer()\r\n\t{\r\n\t\tif(this.hideControlsTimer === null)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.clearTimeout(this.hideControlsTimer);\r\n\t\tthis.hideControlsTimer = null;\r\n\t}\r\n\r\n\tsetHideControlsTimer()\r\n\t{\r\n\t\tthis.clearHideControlsTimer();\r\n\t\tthis.hideControlsTimer = window.setTimeout(() => this.onHideControlsTimerExpired(),this.HIDE_VIDEO_CONTROLS_TIME_MILLISECONDS);\r\n\t}\r\n\r\n\tonHideControlsTimerExpired()\r\n\t{\r\n\t\tthis.clearHideControlsTimer();\r\n\t\tthis.hideVideoControls();\r\n\t}\r\n\r\n\thideVideoControls()\r\n\t{\r\n\t\tif(this.isVideoPaused())\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.$videoControlsContainer.stop(true).fadeOut();\r\n\t}\r\n\r\n\tshowVideoControls()\r\n\t{\r\n\t\tthis.setHideControlsTimer();\r\n\t\tthis.$videoControlsContainer.stop(true).fadeIn();\r\n\t}\r\n\r\n\t/***** Scrub Bar timer *******************/\r\n\r\n\tclearScrubBarTimer()\r\n\t{\r\n\t\tif(this.scrubBarTimer === null)\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.clearInterval(this.scrubBarTimer);\r\n\t\tthis.scrubBarTimer = null;\r\n\t}\r\n\r\n\tsetScrubBarTimer()\r\n\t{\r\n\t\tthis.clearScrubBarTimer();\r\n\t\tthis.scrubBarTimer = window.setInterval(() => this.onScrubBarTick(),this.VIDEO_DURATION_UPDATE_TIME);\r\n\t}\r\n\r\n\tonScrubBarTick()\r\n\t{\r\n\t\tif(this.isScrubbing)\r\n\t\t{\r\n\t\t\t//If it's scrubbing then dont update the scrub percentage as it may interrupt\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar videoCurrentTime = this.video ? this.video.currentTime : this.youtubePlayerInstance.getCurrentTime();\r\n\t\tvar videoDuration = this.video ? this.video.duration : this.youtubePlayerInstance.getDuration();\r\n\t\tvar percentageDuration = (videoCurrentTime / videoDuration) * 100;\r\n\t\tthis.setPercentageOfScrubBar(percentageDuration);\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * \r\n\t * @param {number} percentageDuration The percentage width of the timer scrubber\r\n\t */\r\n\tsetPercentageOfScrubBar(percentageDuration)\r\n\t{\r\n\t\tthis.$videoControlsScrubBarDuration.css(\"width\",percentageDuration + \"%\");\r\n\t}\r\n\r\n\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./modules/video-tile.js\n **/"],"sourceRoot":""}