{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./modules/navbar/navbar.js","webpack:///./modules/dropdown/dropdown.js","webpack:///./scripts/app.js","webpack:///./scripts/components/thom_form.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","navbar","navbarToggler","document","querySelectorAll","forEach","item","addEventListener","event","preventDefault","$","hasClass","removeClass","addClass","navbarElement","querySelector","navbarShowHidetPixels","clientHeight","scrollPos","eventAlertPixels","navbarShowHide","scrolled","scrollingElement","scrollTop","position","offsetTop","windowY","scrollY","classList","add","remove","contains","thomDropdown","mob_nav","elem","find","click","e","not","close","open","on","text","this","scrollbar","elems","elems_n","elems_H","elems_max","isNumeric","console","log","each","outerHeight","height","css","mCustomScrollbar","dropdown","getElementsByClassName","_","_regeneratorRuntime","a","iterator","asyncIterator","u","define","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","type","arg","h","f","y","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","_next","_throw","jQuery","require","bodyScrollLock","disableBodyScroll","enableBodyScroll","gsap","registerPlugin","ScrollTrigger","fn","exists","config","nullTargetWarn","modal","defaults","clickClose","escapeClose","fadeDuration","fadeDelay","showClose","spinnerHtml","blockerClass","myLazyLoad","timelineInterval","rtime","grecaptchaBadgeShow","grecaptchaBadgeHide","jobControl","content","title","attr","id","parseInt","hide","appendTo","slideDown","resetForm","html","val","show","setTimeout","animate","offset","top","myapp","LazyLoad","unobserve_entered","elements_selector","_delay","delay","trigger","start","end","onEnter","onEnterBack","onLeave","onLeaveBack","slideUp","mainSlider","autoplayTime","getAttribute","Number","mainSliderFlkty","Flickity","autoPlay","cellSelector","draggable","fade","prevNextButtons","pageDots","lazyLoad","ready","timeline","scrollTrigger","mainSliderStart","videoElement","videoStop","index","player","play","videoPlay","itemVideo","pause","$this","videoSrc","src","load","controls","restart","volume","state","matchMedia","matches","fadeOut","hover","fadeIn","currentTime","toggleClass","muted","carousel","groupCells","contain","animFadeInEl","utils","toArray","set","autoAlpha","yPercent","el","animFadeInAnim","to","duration","paused","once","self","progress","animScrollUpEl","scrub","ease","animScrollDownEl","scale","map","animZoomOutEl","itemOnEnter","itemOnLeave","tabNavItem","tabNavContent","tabContent","productDettIntroH","viewerSwitch","viewerSwitchImg","$item","imageSwitch","undefined","productConfiguratorElement","scrollingPropagation","iframeActive","cta","productConfiguratorIframe","style","overflowY","setAttribute","inputs","paras","timelineFillingUpdate","setInterval","timelineAuto","ind","matchedPara","eq","clearInterval","Loader","apiKey","_gmapkey","version","libraries","google","maps","Map","getElementById","center","lat","params","latitude","lng","longitude","zoom","maxZoom","streetViewControl","mapTypeControl","scrollwheel","zoomControlOptions","ControlPosition","RIGHT_TOP","image","url","_root","size","Size","myMarker","Marker","icon","bounds","LatLngBounds","extend","getPosition","fitBounds","myForm","thomForm","errorMsg","errorCallback","myTitle","myMessage","myCallback","filterdata","pageN","filters","initPagination","paginationContainer","opacity","GetSearchResults","resultsxpage","dataset","paginationOptions","totalItems","itemsPerPage","visiblePages","page","centerAlign","firstItemClassName","lastItemClassName","template","currentPage","moveButton","disabledMoveButton","moreButton","paginationInstance","Pagination","GetFilters","filterId","filterValue","ajax","THOM_searchUrlContent","dataType","success","error","xhr","ajaxOptions","thrownError","statusText","totalresult","update","display","eventData","FiltersAndPagination","$list","elms","parent","$lggallery","lightGallery","plugins","lgVideo","licenseKey","selector","counter","download","getCaptionFromTitleOrAlt","vimeoPlayerParams","byline","portrait","dnt","youTubePlayerParams","modestbranding","showinfo","rel","first","_createResizeClass","element","createMethods","FlickityResize","resize","off","blur","newHTML","textStatus","jqXHR","myHtml","OPEN","ua","navigator","userAgent","test","SimpleBar","$elm","Date","timeout","resizeend","delta","analyticsUpdate","fillingLine","left","offsetLeft","width","theme","history","scrollRestoration","scrollPosY","pageTransitionOut","container","namespace","barba","current","scroll","scrollTo","contentAnimation","pageTransitionIn","_callee8","startMyApp","hideLoading","_context8","pageTransitionLoadingHide","hash","location","init","cacheIgnore","prefetchIgnore","debug","FinalizationRegistry","transitions","_callee","_context","firstElementChild","leave","_callee2","_context2","enter","_callee3","_context3","beforeLeave","_callee4","_context4","afterEnter","_callee5","_context5","afterLeave","_callee6","headTags","newMenu","newPreviewMenu","newNavSx","tlChildren","js","_context6","join","getAll","kill","globalTimeline","getChildren","child","script","eval","innerHTML","removeAttr","beforeEnter","_callee7","_context7","validator","addMethod","is","methods","unobtrusive","adapters","addBool","a0","steps","stepsCallback","$inputFile","$inputFileLabel","inputFileLabelVal","Plugin","options","_classCallCheck","$el","listeners","formClass","parse","unbind","prop","gRecaptchaVerify","keypress","which","fileName","files","replace","target","split","mydate","datepicker","language","loader","replaceForm","action","createElement","append","rSiteKey","rAction","grecaptcha","execute","token","response","valid","ajaxSubmit","responseText","myStatus","Status","Message","Title","myUrl","Url","nextStep","isFunction","ThomFormSuccessCallback","href","clearForm","res","goNextStep","currAction","resAction","currStep","err","factory"],"mappings":"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","file":"app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([115,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\n * Navbar\n */\n\n// import PerfectScrollbar from 'perfect-scrollbar';\n// import 'perfect-scrollbar/css/perfect-scrollbar.css';\n// import hoverIntent from \"jquery-hoverintent\";\n\nexport function navbar () {\n // $('.navbar').addClass('tween');\n\n // Show menu overlay when click the navbar toggler\n const navbarToggler = document.querySelectorAll('.js-navbar-toggler');\n // menu button\n if (navbarToggler) {\n navbarToggler.forEach(function(item) {\n item.addEventListener('click', function (event) {\n event.preventDefault();\n if($('body').hasClass('navbar--opened')){\n $('body').removeClass('navbar--opened');\n } else {\n $('body').addClass('navbar--opened');\n }\n });\n });\n \n }\n\n const navbarElement = document.querySelector('.js-navbar')\n const navbarShowHidetPixels = navbarElement.clientHeight;\n let scrollPos = 0;\n var eventAlertPixels = 0;\n\n function navbarShowHide () {\n var scrolled = document.scrollingElement.scrollTop;\n var position = navbarElement.offsetTop;\n \n if(typeof(document.querySelector(\".event-alert\")) != 'undefined' && document.querySelector(\".event-alert\") != null){\n eventAlertPixels = document.querySelector('.event-alert').clientHeight;\n }\n \n if (scrolled > (position + navbarShowHidetPixels + eventAlertPixels)) {\n let windowY = window.scrollY;\n\n navbarElement.classList.add('out-stage');\n \n if (windowY < scrollPos) {\n // Scrolling UP\n navbarElement.classList.add('on-stage');\n // console.log('S. UP')\n } else {\n // Scrolling DOWN\n navbarElement.classList.remove('on-stage');\n // resetSubmenus();\n // console.log('S. DOWN')\n }\n scrollPos = windowY\n } else {\n navbarElement.classList.remove('on-stage', 'out-stage');\n }\n }\n\n // Navbar slides out of view when scrolling down and slides back in when scrolling up\n // Based on https://dev.to/changoman/showhide-element-on-scroll-w-vanilla-js-3odm\n function navbarScrollCheck () {\n if (navbarElement) {\n if (navbarElement.classList.contains('navbar--fixed-showhide') && !$('body').hasClass('navbar--opened')) {\n navbarAddScrollListener()\n }\n }\n }\n function navbarAddScrollListener() {\n window.addEventListener('scroll', navbarShowHide)\n }\n navbarScrollCheck();\n\n // Submenu on preview Menu\n // const btnHasSubmenu = document.querySelectorAll('.has-submenu');\n\n // var resetSubmenus = function(){\n // document.querySelectorAll('.submenu.show').forEach(function(submenu){\n // submenu.classList.remove('show');\n // })\n // }\n \n // btnHasSubmenu.forEach(function(btn){\n // var next = btn.nextElementSibling;\n // while (next) {\n // if (next.classList.contains('submenu')) {\n // btn.addEventListener('click', function (e) {\n // e.preventDefault();\n // e.stopPropagation();\n // if (!next.classList.contains('show')) {\n // resetSubmenus();\n // next.classList.add('show');\n // } else {\n // next.classList.remove('show');\n // }\n // })\n // break;\n // }\n // }\n // })\n\n // $('.has-submenu').parent().hoverIntent({\n // over: function(){\n // $(this).find('.submenu').addClass('show');\n // },\n // out: function(){\n // $(this).find('.submenu').removeClass('show');\n // },\n // sensitivity: 8\n // });\n\n\n // $(document).on('mousemove', function(event) {\n // var threshold = navbarElement.clientHeight * 1.5;\n // if(event.clientY > threshold) {\n // navbarElement.classList.remove('expose_nav');\n // } else {\n // if(!navbarElement.classList.contains('out-stage')){\n // navbarElement.classList.add('expose_nav');\n // }\n // }\n // });\n}\n\nexport default navbar\n","// THOM Dropdown\n// import hoverIntent from \"jquery-hoverintent\";\nimport mCustomScrollbar from \"malihu-custom-scrollbar-plugin\";\nimport mousewheel from \"jquery-mousewheel\";\n\n\nexport function thomDropdown () {\n\t/* MOBILE Action */\n\tvar mob_nav = function (elem) {\n\t\t$(elem).find('.thom-dropdown--label').click(function (e) {\n\t\t\te.preventDefault();\n\t\t\t$('.thom-dropdown').not(elem).removeClass('is-open');\n\n\t\t\tif ($(elem).hasClass('is-open')) {\n\t\t\t\t// $(elem).removeClass('is-open');\n\t\t\t\tclose(elem);\n\t\t\t} else {\n\t\t\t\t// $(elem).addClass('is-open');\n\t\t\t\topen(elem);\n\t\t\t}\n\n\t\t\t// scrollbar(elem);\n\t\t\treturn false;\n\t\t});\n\n\t\tif($(elem).hasClass('replaceVal')){\n\t\t\t$(elem).find('.thom-dropdown--options-item').on('click', function(){\n\t\t\t\t$(elem).find('.thom-dropdown--label-item').text($(this).text()); \n\t\t\t\tclose(elem);\n\t\t\t});\n\t\t}\n\t}\n\n\t/* Open Select */\n\tvar open = function (elem) {\n\t\t$(elem).addClass('is-open');\n\t\tscrollbar(elem);\n\t};\n\n\t/* Control for scrollbar */\n\tvar scrollbar = function (elem) {\n\t\tvar elems = $(elem).find('.thom-dropdown--options-item');\n\t\tvar elems_n = elems.length;\n\t\tvar elems_H = 0;\n\t\tvar elems_max = $(elem).data('max');\n\n\t\telems.not('.thom-search--filter-btn').click(function () {\n\t\t\tclose(elem);\n\t\t})\n\t\t\n\t\tif ($.isNumeric(elems_max) && elems_n > elems_max) {\n\t\t\tconsole.log(elems.length)\n\t\t\tif (elems.length > elems_max) {\n\t\t\t\telems.each(function (i) {\n\t\t\t\t\telems_H += $(this).outerHeight(true);\n\t\t\t\t\tif (! --elems_max) {\n\t\t\t\t\t\t$(elem).find('.thom-dropdown--options').height(elems_H).css('overflow', 'hidden');\n\t\t\t\t\t}\n\n\t\t\t\t\tif(i >= elems.length - 1){\n\t\t\t\t\t\tif ($(elem).find('.thom-dropdown--options').hasClass('mCustomScrollbar')) {\n\t\t\t\t\t\t\t$(elem).find('.thom-dropdown--options').mCustomScrollbar(\"update\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(elem).find('.thom-dropdown--options').mCustomScrollbar();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Close Select */\n\tvar close = function (elem) {\n\t\t$(elem).removeClass('is-open');\n\t\tif ($(elem).find('.mCustomScrollbar')) {\n\t\t\t$(elem).find('.thom-dropdown--options').mCustomScrollbar(\"destroy\");\n\t\t}\n\t};\n\n\tlet dropdown = document.getElementsByClassName('thom-dropdown');\n\tfor( var i = 0; i <= dropdown.length; i++) {\n\t\tvar _ = dropdown[i];\n\t\tif (_) {\n\t\t\tmob_nav(_);\n\t\t}\n\t}\n}\nexport default thomDropdown\n","/* eslint-disable no-undef */\n/* eslint-disable no-unused-vars */\n/* eslint-disable no-global-assign */\n/**\n * @title App\n * @description Application entry point\n */\n\n// Jquery\nwindow.jQuery = $;\nwindow.$ = $;\njQuery = $;\n\n// Barba - pages transition\nimport barba from \"@barba/core\";\nimport barbaCss from \"@barba/css\";\n\nimport Flickity from \"flickity\";\nimport \"flickity/css/flickity.css\";\nrequire(\"flickity-fade\");\nrequire('flickity-imagesloaded');\n\n// Modal\nimport modal from \"jquery-modal\";\n\n// Lazyload image\nimport LazyLoad from \"vanilla-lazyload\";\n\n// Components\nimport spinner from \"./components/spinner\";\n\nvar imagesLoaded = require(\"imagesloaded\");\n\nimport SimpleBar from 'simplebar';\nimport { Loader } from '@googlemaps/js-api-loader';\n\nvar bodyScrollLock = require('body-scroll-lock');\nvar disableBodyScroll = bodyScrollLock.disableBodyScroll;\nvar enableBodyScroll = bodyScrollLock.enableBodyScroll;\n\nimport lightGallery from 'lightgallery';\nimport lgVideo from 'lightgallery/plugins/video';\n\n// Modules\nimport navbar from \"../modules/navbar/navbar\";\nimport thomDropdown from \"../modules/dropdown/dropdown\";\nimport {gsap} from \"gsap\";\nimport { ScrollTrigger } from \"gsap/ScrollTrigger\";\ngsap.registerPlugin(ScrollTrigger);\nimport thomForm from \"./components/thom_form\";\n// import thomsearch from \"./components/thom_advanced_search\";\nimport Pagination from 'tui-pagination';\n\nfunction FiltersAndPagination() {\n var filterdata = {};\n var pageN = 1;\n // var isPageClick = false;\n var filters = $('.thom-search--filter-block'); \n // console.log(filters)\n // filters click\n filters.each(function(){\n var _ = $(this);\n _.find('.thom-search--filter-btn').on('click', function (e) { \n // isPageClick = false;\n pageN = 1;\n initPagination = false;\n paginationContainer.style.opacity = 0;\n _.find('.thom-search--filter-btn').removeClass('is-selected');\n $(this).addClass('is-selected');\n // $('.thom-search--text-input').val('');\n GetSearchResults();\n });\n });\n\n // pagination\n let initPagination = false; \n let paginationContainer = document.querySelector('.thom-search--pagination .pagination');\n paginationContainer.style.opacity = 0;\n let resultsxpage = paginationContainer.dataset.resultsxpage;\n let paginationOptions = {\n totalItems: 1,\n itemsPerPage: resultsxpage,\n visiblePages: 4,\n page: 1,\n centerAlign: false,\n firstItemClassName: 'tui-first-child',\n lastItemClassName: 'tui-last-child',\n template: {\n page: '{{page}}',\n currentPage: '{{page}}',\n moveButton:\n '' +\n '' +\n '',\n disabledMoveButton:\n '' +\n '{{type}}' +\n '',\n moreButton:\n '' +\n '...' +\n ''\n }\n };\n\n let paginationInstance = new Pagination(paginationContainer, paginationOptions);\n\n paginationInstance.on('beforeMove', function(eventData) {\n pageN = eventData.page;\n // console.log('beforeMove page = ' + pageN)\n });\n\n paginationInstance.on('afterMove', function(eventData) {\n pageN = eventData.page;\n // console.log('afterMove page = ' + pageN)\n GetSearchResults();\n });\n\n function GetFilters(){\n for( var i = 0; i < filters.length; i++){\n var filterId = $(filters[i]).attr('id');\n var filterValue = $(filters[i]).find('.thom-search--filter-btn.is-selected').data('val');\n // console.log(filterValue)\n if(filterValue === undefined){\n filterValue = null;\n }\n filterdata[filterId] = filterValue\n }\n\n // current page\n filterdata[$('.pagination').attr('id')] = pageN;\n\n return filterdata;\n }\n\n function GetSearchResults(){\n $(\".page-loader\").addClass(\"show\");\n // console.log(GetFilters())\n $.ajax({\n type: 'POST',\n // contentType: 'application/json;charset=utf-8',\n url: THOM_searchUrlContent,\n data: GetFilters(),\n dataType: 'html',\n success: function (data) { \n // console.log(data)\n $('#search-result').html(data);\n },\n error: function (xhr, ajaxOptions, thrownError) {\n console.log('error')\n console.log(xhr);\n console.log(ajaxOptions);\n },\n complete: function (xhr) {\n // console.log('complete')\n // console.log(xhr);\n if(xhr.statusText === \"success\" || xhr.statusText === \"OK\") { \n // console.log('1')\n var totalresult = $('#search-result').find('.news-list').data('result');\n \n if(initPagination === false){\n paginationInstance.reset(totalresult);\n initPagination = true;\n }\n\n myLazyLoad.update();\n\n $('html,body').animate({\n scrollTop: 0\n }, 600);\n \n $(\".page-loader\").removeClass(\"show\");\n \n if(totalresult <= resultsxpage){\n document.querySelector('.thom-search--pagination').style.display = 'none';\n } else {\n document.querySelector('.thom-search--pagination').style.display = 'block';\n }\n\n paginationContainer.style.opacity = 1;\n }\n }\n })\n }\n\n GetSearchResults();\n}\n\n// exist element\n$.fn.exists = function () {\n return this.length !== 0;\n};\n\ngsap.config({\n nullTargetWarn: false\n});\n\n// Modal default options\n$.modal.defaults = {\n clickClose: true,\n escapeClose: true,\n fadeDuration: 250,\n fadeDelay: 1.1,\n showClose: false,\n spinnerHtml: '
',\n blockerClass: \"jquery-modal\"\n}\n\nconst deviceType = () => {\n const ua = navigator.userAgent;\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\n return \"tablet\";\n }\n else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\n return \"mobile\";\n }\n return \"desktop\";\n};\n\nvar myLazyLoad;\nlet timelineInterval;\n\n// Form Response Action\nfunction MyThomFormResponseAction(title, text) {\n var mytitle;\n if (title !== undefined && title !== null && title !== \"\") {\n mytitle = \"
\" + title + \"
\";\n } else {\n mytitle = \"\";\n }\n\n var myHtml =\n '
' +\n '' +\n mytitle +\n \"
\" + text + \"
\"; +\n '
';\n\n $(myHtml).appendTo(\"body\").modal({\n blockerClass: \"dialog\"\n });\n}\n\nlet grecaptchaBadgeShow = () => {\n $(\".grecaptcha-badge\").removeClass('hide');\n}\nlet grecaptchaBadgeHide = () => {\n $(\".grecaptcha-badge\").addClass('hide');\n}\n\n// Job form append\nfunction jobControl(item) {\n \n if(item.hasClass('jobs--item')){\n \n var content = item.find('.jobs--item--content');\n var title = item.attr('data-job-title');\n var id = parseInt(item.attr(\"data-job-id\"));\n\n $(\"#formJob\").hide().appendTo(content).slideDown(100, function(){\n // Reset form\n $(\"#formJobOpportunities\").resetForm();\n $(\"#formJobOpportunities .thom-form__error\").hide(0);\n\n if ($(\"#formJobOpportunities\").find('input[type=file]').exists()) {\n $(\"#formJobOpportunities .thom-form-selectfile__label span\").html($(\"#formJobOpportunities\").find('input[type=file]').attr('placeholder'))\n } \n \n // Passo valori a campi nascosti\n $(\"#formJobOpportunities #TitoloLavoro\").val(title);\n $(\"#formJobOpportunities #JobId\").val(id);\n\n // Se id 0 mostro campi per Candidatura spontanea\n if(id == 0){\n $('#formJob').find('.only-for-free-application').show();\n $('#formJob').find('.only-for-free-application-el').attr('data-val-required', true);\n } else {\n $('#formJob').find('.only-for-free-application').hide();\n $('#formJob').find('.only-for-free-application-el').attr('data-val-required', false);\n }\n\n // Scroll update e riposizionamento\n setTimeout(function(){\n $('html,body').animate({\n scrollTop: item.offset().top - $('.navbar').height() * 2\n }, 300);\n }, 200);\n });\n }\n}\n\n// Start APP\nfunction myapp() {\n\n $('img')\n .on('dragstart', function(event) { \n event.preventDefault(); \n })\n .on('contextmenu', function(e) {\n return false;\n });\n \n myLazyLoad = null;\n myLazyLoad = new LazyLoad({\n unobserve_entered: true,\n elements_selector: \".lazy\",\n });\n\n $('.has-submenu').on({\n \"mouseenter\" : function(e){\n var _delay = ($(this).hasClass(\"has-submenu\")) ? 200 : 0 ;\n $(this).find(\".submenu\").stop(true);\n $(this).find(\".submenu\").delay(_delay).addClass('show');\n },\n \"mouseleave\" : function(e){\n $(this).find(\".submenu\").stop(true);\n $(this).find(\".submenu\").delay(50).removeClass('show');\n },\n })\n\n // Dropdown è resa globale\n window.thomDropdown = thomDropdown;\n\n window.thomDropdown();\n\n if($('.main-form').length > 0){\n ScrollTrigger.create({\n trigger: '.main-form',\n start: \"top 100%\",\n end: \"bottom 0\",\n // once: true,\n // markers: true,\n onEnter: grecaptchaBadgeShow,\n onEnterBack: grecaptchaBadgeShow,\n onLeave: grecaptchaBadgeHide,\n onLeaveBack: grecaptchaBadgeHide\n });\n }\n\n if($('.event-alert').length > 0){\n $('.event-alert .close-alert').on('click', function(e){\n e.preventDefault();\n $('.event-alert').slideUp();\n })\n }\n \n // Home Main Slider \n if(typeof(document.querySelector(\".main-slider\")) != 'undefined' && document.querySelector(\".main-slider\") != null){\n const mainSlider = document.querySelector(\".main-slider .slideshow\");\n let autoplayTime = 0;\n if(mainSlider.getAttribute('data-autoplay')){\n autoplayTime = Number(mainSlider.getAttribute('data-autoplay'))\n }\n \n var mainSliderFlkty = new Flickity( mainSlider, {\n autoPlay: autoplayTime,\n cellSelector: '.item',\n draggable: false,\n fade: true,\n prevNextButtons: false,\n pageDots: true,\n lazyLoad: true,\n on: {\n ready: function() {\n if($('.main-slider .flickity-page-dots .dot').length > 1){\n $('.main-slider .flickity-page-dots').show();\n }\n }\n }\n });\n\n // mainSliderFlkty.on('pointerUp', function (event, pointer) {\n // console.log(event)\n // mainSliderFlkty.player.play();\n // });\n\n var mainSliderTl = gsap.timeline({\n scrollTrigger: {\n trigger: document.querySelector(\".main-slider\"),\n start: \"top 80%\",\n end: \"bottom 15%\",\n // markers: true,\n onEnter: function(){\n mainSliderStart($(\".main-slider .slideshow .item.is-selected\"));\n },\n onEnterBack: function(){\n mainSliderStart($(\".main-slider .slideshow .item.is-selected\"));\n },\n onLeave: function(){\n $(\".main-slider .slideshow .item\").each(function(){\n if($(this).find(\".video\").length > 0){\n var videoElement = $(this).find(\".video\")[0];\n videoStop($(this), videoElement);\n }\n });\n },\n onLeaveBack: function(){\n $(\".main-slider .slideshow .item\").each(function(){\n if($(this).find(\".video\").length > 0){\n var videoElement = $(this).find(\".video\")[0];\n videoStop($(this), videoElement);\n }\n });\n },\n }\n });\n\n mainSliderFlkty.on('change', function(index) {\n mainSliderFlkty.player.play();\n $(\".main-slider .slideshow .item\").each(function(){\n if($(this).hasClass('is-selected')){\n mainSliderStart($(this));\n } else {\n if($(this).find(\".video\").length > 0){\n var videoElement = $(this).find(\".video\")[0];\n videoStop($(this), videoElement);\n }\n }\n });\n });\n\n var videoPlay = function(item, itemVideo){\n item.addClass('is-playing');\n itemVideo.play();\n item.find('.state').removeClass('stop');\n }\n\n var videoStop = function(item, itemVideo){\n item.removeClass('is-playing');\n itemVideo.pause();\n }\n\n var mainSliderStart = function(item){\n var $this = item;\n if($this.find(\".video\").length > 0){\n var videoElement = $this.find(\".video\")[0];\n \n if(!$this.hasClass('videoloaded')){\n let videoSrc = $this.find(\".video\").data('src');\n videoElement.src = videoSrc;\n videoElement.load();\n videoElement.addEventListener('canplay', (event) => {\n $this.addClass('videoloaded');\n videoPlay($this, videoElement);\n });\n videoElement.addEventListener('ended', (event) => {\n mainSliderFlkty.next(true, false);\n });\n\n if($this.find('.video--controls').length > 0){\n var controls = $this.find('.video--controls');\n var restart = controls.find('.skip-start');\n var volume = controls.find('.volume');\n var state = controls.find('.state');\n var progress = controls.find('.progress-bar');\n \n if(window.matchMedia(\"(min-width: 920px)\").matches){\n setTimeout(function(){\n controls.fadeOut();\n }, 2000);\n \n $this.hover(function(){\n controls.fadeIn();\n }, function(){\n controls.fadeOut();\n })\n }\n \n restart.on('click', function(){\n videoElement.pause();\n videoElement.currentTime = '0';\n videoElement.play();\n state.removeClass('stop');\n });\n \n volume.on('click', function(){\n $(this).toggleClass('on');\n if($(this).hasClass('on')){\n videoElement.muted = false;\n } else {\n videoElement.muted = true;\n }\n });\n \n state.on('click', function(){\n $(this).toggleClass('stop');\n if($(this).hasClass('stop')){\n videoElement.pause();\n } else {\n videoElement.play();\n }\n });\n }\n }else{\n videoPlay($this, videoElement);\n }\n }\n }\n }\n\n // Carousel\n if(typeof(document.querySelector(\".carousel\")) != 'undefined' && document.querySelector(\".carousel\") != null){\n const carousel = document.querySelector(\".carousel\");\n \n var carouselFlkty = new Flickity( carousel, {\n autoPlay: 0,\n groupCells: true,\n // cellAlign: 'left',\n contain: true,\n cellSelector: '.item',\n prevNextButtons: false,\n pageDots: true,\n lazyLoad: true,\n on: {\n ready: function() {\n if($('.carousel .flickity-page-dots .dot').length > 1){\n $('.carousel .flickity-page-dots').show();\n }\n\n $('.item').each(function(){\n var $this = $(this);\n\n if($this.find('.item--media')){\n var $thisMedia = $(this);\n if($this.find(\".video--item\").length > 0){\n var videoElement = $this.find(\".video--item\")[0];\n let videoSrc = $this.find(\".video--item\").data('src');\n \n videoElement.src = videoSrc;\n videoElement.load();\n\n $this.on({\n \"mouseenter\" : function(e){\n var _delay = ($this.find(\".video--item\")) ? 200 : 0 ;\n $this.find('.item--media').addClass('is-playing');\n videoElement.play();\n },\n \"mouseleave\" : function(e){\n $this.find('.item--media').removeClass('is-playing');\n videoElement.pause();\n },\n })\n }\n\n \n }\n })\n }\n }\n });\n\n }\n\n // Fade in animation\n const animFadeInEl = gsap.utils.toArray('.anim__fadeIn');\n // Set things up\n gsap.set(animFadeInEl, {autoAlpha: 0, yPercent: 5});\n animFadeInEl.forEach((el, i) => {\n // Set up your animation\n const animFadeInAnim = gsap.to(el, {duration: 1, autoAlpha: 1, yPercent: 0, paused: true});\n // Use callbacks to control the state of the animation\n ScrollTrigger.create({\n trigger: el,\n start: \"top 90%\",\n end: \"bottom 90%\",\n once: true,\n // markers: true,\n onEnter: self => {\n // If it's scrolled past, set the state\n // If it's scrolled to, play it\n self.progress === 1 ? animFadeInAnim.progress(1) : animFadeInAnim.play()\n }\n });\n });\n\n // Scroll Up in animation\n const animScrollUpEl = gsap.utils.toArray('.anim__scrollUp');\n ScrollTrigger.matchMedia({\"(min-width:640px)\": function() {\n animScrollUpEl.forEach((el, i) => {\n let animScrollUpTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"top bottom\",\n end: \"bottom 8%\",\n scrub: 0.5,\n // markers: true\n }\n });\n animScrollUpTl.to(el, {\n yPercent: -5,\n ease: \"power1.inOut\"\n })\n });\n }\n })\n\n // Scroll Down in animation\n const animScrollDownEl = gsap.utils.toArray('.anim__scrollDown');\n ScrollTrigger.matchMedia({\"(min-width:640px)\": function() {\n animScrollDownEl.forEach((el, i) => {\n let animScrollDownTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"top bottom\",\n end: \"bottom 8%\",\n scrub: 1,\n // markers: true\n }\n });\n animScrollDownTl.to(el, {\n yPercent: 5,\n ease: \"power1.inOut\"\n })\n });\n }\n })\n\n // Image ZoomIn animation\n const animZoomInEl = gsap.utils.toArray('.anim__zoomIn');\n animZoomInEl.forEach((el, i) => {\n let animZoomInTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"center bottom\",\n end: \"center top\",\n scrub: 1,\n // markers: true\n }\n });\n animZoomInTl.to(el, {\n scale: 1.1,\n ease: \"power1.inOut\"\n })\n });\n\n // Image ZoomOut animation\n const animZoomOutEl = gsap.utils.toArray('.anim__zoomOut');\n gsap.set(animZoomOutEl, {scale: 1.1});\n animZoomOutEl.forEach((el, i) => {\n let animZoomOutTl = gsap.timeline({\n scrollTrigger: {\n trigger: el,\n start: \"center bottom\",\n end: \"center top\",\n scrub: 1,\n // markers: true\n }\n });\n animZoomOutTl.to(el, {\n scale: 1,\n ease: \"power1.inOut\"\n })\n });\n\n // video media / Scrolltrigger\n if($('.media').exists()){\n $('.media').each(function(){\n var $this = $(this);\n if($this.find(\".video--item\").length > 0){\n var videoElement = $this.find(\".video--item\")[0];\n let videoSrc = $this.find(\".video--item\").data('src');\n\n videoElement.src = videoSrc;\n videoElement.load();\n\n\n\n if($this.find('.video--controls').length > 0){\n var controls = $this.find('.video--controls');\n var restart = controls.find('.skip-start');\n var volume = controls.find('.volume');\n var state = controls.find('.state');\n var progress = controls.find('.progress-bar');\n \n if(window.matchMedia(\"(min-width: 920px)\").matches){\n setTimeout(function(){\n controls.fadeOut();\n }, 2000);\n \n $this.hover(function(){\n controls.fadeIn();\n }, function(){\n controls.fadeOut();\n })\n }\n \n restart.on('click', function(){\n videoElement.pause();\n videoElement.currentTime = '0';\n videoElement.play();\n state.removeClass('stop');\n });\n \n volume.on('click', function(){\n $(this).toggleClass('on');\n if($(this).hasClass('on')){\n videoElement.muted = false;\n } else {\n videoElement.muted = true;\n }\n });\n \n state.on('click', function(){\n $(this).toggleClass('stop');\n if($(this).hasClass('stop')){\n videoElement.pause();\n } else {\n videoElement.play();\n }\n });\n }\n \n let itemOnEnter = () => {\n $this.addClass('is-playing');\n videoElement.play();\n }\n let itemOnLeave = () => {\n $this.removeClass('is-playing');\n videoElement.pause();\n }\n\n var mediaTl = gsap.timeline({\n scrollTrigger: {\n trigger: $this[0],\n start: \"top 80%\",\n end: \"bottom 10%\",\n // markers: true,\n onEnter: itemOnEnter,\n onEnterBack: itemOnEnter,\n onLeave: itemOnLeave,\n onLeaveBack: itemOnLeave,\n }\n });\n }\n })\n }\n\n if($('[data-type=\"tab\"]').exists()){\n var tabs = $('[data-type=\"tab\"]');\n \n tabs.each(function(){\n var $this = $(this);\n var tabNavItem = $this.find('[data-tab]');\n var tabNavContent = $this.find('[data-tab-content]');\n \n tabNavItem.each(function(){\n if($(this).hasClass('selected')){\n var tabContent = $(this).data('tab');\n $this.find('[data-tab-content = '+ tabContent + ']').slideDown();\n }\n })\n\n tabNavItem.on('click', function(e){\n e.preventDefault();\n var tabContent = $(this).data('tab');\n tabNavItem.removeClass('selected');\n $(this).addClass('selected');\n tabNavContent.slideUp();\n $this.find('[data-tab-content = '+ tabContent + ']').slideDown();\n })\n })\n }\n \n productDettIntroH()\n\n // Image Swap in product dett page\n if($('.image-swap').exists()){\n $('.image-swap').each(function(){\n var $this = $(this);\n var viewer = $this.find('.image-swap__viewer');\n var viewerSwitch = viewer.find('.over');\n var viewerSwitchImg = viewerSwitch.find('img');\n var viewerNav = $this.find('.image-swap__nav');\n var viewerNavItem = viewerNav.find('.item');\n\n viewerNavItem.each(function(){\n var $item = $(this);\n var imageSwitch = $item.data('image');\n \n $item.on({\n \"mouseenter\" : function(e){\n var _delay = (viewerSwitch.hasClass(\"show\")) ? 800 : 0 ;\n \n if(imageSwitch != undefined) {\n viewerSwitchImg.on(\"load\", function() {\n viewerSwitch.stop(true);\n viewerSwitch.delay(_delay).addClass('show');\n }).attr(\"src\", imageSwitch);\n }\n },\n \"mouseleave\" : function(e){\n viewerSwitch.stop(true);\n viewerSwitch.delay(50).removeClass('show');\n },\n })\n })\n })\n }\n\n if(document.querySelector('#productConfigurator')){\n let productConfiguratorElement = document.querySelector('#productConfigurator');\n let scrollingPropagation = productConfiguratorElement.querySelector('.scrolling-propagation');\n let iframeActive = 0;\n let cta = scrollingPropagation.querySelector('.cta');\n let productConfiguratorIframe = productConfiguratorElement.querySelector('#iframeConfigurator');\n \n if(cta != null){\n cta.addEventListener('click', function(){\n document.querySelector('html').style.overflowY = 'unset';\n productConfiguratorElement.classList.add('active');\n disableBodyScroll(productConfiguratorElement);\n if(iframeActive == 0) {\n productConfiguratorElement.classList.add('loaded');\n productConfiguratorIframe.setAttribute(\"src\", productConfiguratorIframe.getAttribute('data-src'));\n iframeActive = 1;\n }\n });\n }\n\n productConfiguratorElement.addEventListener('mouseleave', function(){\n document.querySelector('html').style.overflowY = 'scroll';\n productConfiguratorElement.classList.remove('active');\n enableBodyScroll(productConfiguratorElement);\n });\n }\n \n // Timeline\n if($('.timeline').exists()){\n var inputs = $('.timeline .input');\n var paras = $('.timeline--description').find('.title');\n var currentInput = $('.timeline .input.active');\n\n timelineFillingUpdate(currentInput);\n\n timelineInterval = setInterval(function(){\n timelineAuto(inputs, paras)\n }, 3000);\n \n inputs.each(function(){\n var t = $(this);\n var ind = t.index();\n var matchedPara = paras.eq(ind);\n var dot = t.find('.dot');\n\n dot.on('click', function(){\n timelineFillingUpdate(t);\n\n t.add(matchedPara).addClass('active');\n inputs.not(t).add(paras.not(matchedPara)).removeClass('active');\n\n clearInterval(timelineInterval);\n\n timelineInterval = setInterval(function(){\n timelineAuto(inputs, paras)\n }, 3000);\n })\n });\n\n }\n\n // Contacts Map\n if ($(\".map\").exists() && $(\".map #map\").exists()) {\n var map;\n\n const GoogleMapsLoader = new Loader({\n apiKey: _gmapkey,\n version: \"weekly\",\n libraries: [\"places\"],\n });\n\n GoogleMapsLoader.load()\n .then(() => {\n map = new google.maps.Map(document.getElementById(\"map\"), {\n center: { lat: params.latitude, lng: params.longitude },\n zoom: 8,\n maxZoom: 18,\n streetViewControl: false,\n mapTypeControl: false,\n scrollwheel: false,\n zoomControlOptions: {\n position: google.maps.ControlPosition.RIGHT_TOP,\n },\n });\n\n var image = {\n url: \"\" + _root + \"img/marker.png\",\n size: new google.maps.Size(130, 110),\n };\n var myMarker = new google.maps.Marker({\n position: { lat: params.latitude, lng: params.longitude },\n map: map,\n icon: image,\n });\n var bounds = new google.maps.LatLngBounds();\n bounds.extend(myMarker.getPosition());\n map.fitBounds(bounds);\n })\n .catch((e) => {\n // do something\n });\n }\n\n // Form\n if ($(\".thom-form\").exists()) {\n $(\".thom-form\").each(function(){ \n var myForm = $(this);\n myForm.thomForm({\n errorMsg: myForm.find(\".thom-form__error\"),\n errorCallback: function(myTitle, myMessage) {\n if (myTitle) {\n myTitle = \"
\" + myTitle + \"
\";\n }\n if (myMessage) {\n myMessage = \"
\" + myMessage + \"
\";\n }\n\n if (myTitle || myMessage) {\n myForm.find(\".thom-form__error\").html(myTitle + myMessage);\n }\n\n myForm.find(\".thom-form__error\").fadeIn(300);\n\n $('html,body').animate({\n scrollTop: myForm.offset().top - $('.navbar').height()\n }, 600);\n },\n myCallback: function(myTitle, myMessage) {\n MyThomFormResponseAction(myTitle, myMessage);\n }\n });\n })\n }\n\n // News\n // News list\n // if ($('.thom-search--results .news-list').exists()) {\n \n // // News list / pagination / filters\n // if ($(\".thom-search--filter-block\").exists()) {\n \n // let ThomAdvancedSearch = $('.thom-search').thomsearch({\n // filterClass: '.thom-search--filter-btn',\n // filtersContent: '.thom-search--filter-block',\n // itemsPerPage: THOM_searchItemsPerPage,\n // paginationChild: '.thom-search__pagination .page-item',\n // resultsCallback: function (data) {\n // $('.thom-search--results').html(data); \n // var items = $('.thom-search--results').find('.news-list--item');\n\n // for(var i = 0; i < items.length; i++){\n // var item = items[i];\n\n // if ($(item).find(\".lazy\").length > 0) {\n // myLazyLoad.update();\n // }\n\n // if((i + 1) == (items.length)){\n // ThomAdvancedSearch.thomsearch('loadingHide');\n // }\n // }\n // },\n // urlContent: THOM_searchUrlContent\n // });\n // }\n\n // }\n\n // Filters\n if ($(\"#search-result\").exists()){\n FiltersAndPagination();\n }\n\n // Accordion\n if ($(\".accordion-list\").exists()) {\n $(\".accordion-list\").each(function(){\n var $list = $(this);\n var elms = $list.find(\".accordion-item\");\n $(elms).each(function(){\n var el = $(this);\n\n if($(this).hasClass('open')){\n $(this).find(\".accordion-content\").slideDown(300, function(){ \n jobControl(el);\n });\n }\n }); \n\n elms.find('.accordion-title').on('click', function(){\n var $this = $(this).parent();\n\n if($list.hasClass('close-all')){\n if($this.hasClass('open')){\n $this.find(\".accordion-content\").stop().slideUp(300, function(){\n $this.removeClass('open');\n });\n } else {\n elms.find(\".accordion-content\").stop().slideUp(300);\n elms.removeClass('open');\n\n $this.find(\".accordion-content\").stop().slideDown(300, function(){\n jobControl($this);\n });\n\n $this.toggleClass(\"open\");\n }\n } else {\n $this.toggleClass(\"open\");\n }\n })\n });\n }\n \n // Open gallery from photogallery button\n if ($(\".btn-gallery\").exists()) {\n $(\".btn-gallery\").each(function () {\n var $this = $(this);\n var $lggallery = $(\"#\" + $this.data(\"gallery\"));\n\n lightGallery(document.getElementById($this.data(\"gallery\")), {\n plugins: [lgVideo],\n licenseKey: 'EB342F23-EEA8-48C2-B726-0CFCE5A4AECF', \n selector: \"img\",\n counter: false,\n download: false,\n getCaptionFromTitleOrAlt: false,\n vimeoPlayerParams: {\n byline : 0,\n portrait : 0,\n dnt: true\n },\n youTubePlayerParams: {\n modestbranding : 1,\n showinfo : 0,\n controls : 0,\n rel: 0\n }\n });\n\n $this.click(function (e) {\n e.preventDefault();\n $lggallery.find(\"img\").first().trigger(\"click\");\n });\n });\n }\n\n // add this code\n Flickity.prototype._createResizeClass = function () {\n this.element.classList.add(\"flickity-resize\");\n };\n Flickity.createMethods.push(\"_createResizeClass\");\n var FlickityResize = Flickity.prototype.resize;\n if ($(\".flickity-resize\").exists()) {\n Flickity.prototype.resize = function () {\n var $this = this;\n $(\".flickity-resize\").each(function () {\n $this.element.classList.remove(\"flickity-resize\");\n FlickityResize.call($this);\n $this.element.classList.add(\"flickity-resize\");\n });\n }\n }\n\n // Ajax modal\n $('a[rel=\"ajax:modal\"]').off('click');\n $('a[rel=\"ajax:modal\"]').on( 'click', function (event) {\n event.preventDefault();\n this.blur();\n\n $('.page-loader').addClass('show');\n\n $.ajax({\n url: $(this).attr(\"href\"),\n success: function (newHTML, textStatus, jqXHR) {\n var myHtml = $(newHTML).find(\".ajax-load\");\n $(myHtml).appendTo(\"body\");\n var newModal = $(myHtml).modal();\n newModal.on($.modal.OPEN, function(event, modal) {\n let simpleBar;\n if(deviceType() !== \"mobile\"){\n simpleBar = new SimpleBar(modal.$elm.find('.scroller')[0], { });\n }\n $('.page-loader').removeClass('show');\n }) \n }\n });\n return false;\n });\n\n // Inline modal \n if ($('.inline-modal[data-modal]').exists()){\n $('.inline-modal[data-modal]').off('click');\n $('.inline-modal[data-modal]').on('click', function (event) { \n event.preventDefault();\n this.blur();\n var filesmodal = $($(this).data(\"modal\"));\n filesmodal.modal();\n });\n }\n\n // scrollto\n $('[data-scrollto]').on('click', function(){\n var el = $(this).data('scrollto');\n $(\"html,body\").animate(\n {\n scrollTop: $('#' + el).offset().top,\n },\n 600\n );\n });\n\n $(window).on('resize', function() {\n rtime = new Date();\n if (timeout === false) {\n timeout = true;\n setTimeout(resizeend, delta);\n }\n });\n\n // update analytics\n if (typeof analyticsUpdate === \"function\") {\n analyticsUpdate();\n }\n}\n\nvar rtime;\nvar timeout = false;\nvar delta = 200;\n\nfunction resizeend() {\n if (new Date() - rtime < delta) {\n setTimeout(resizeend, delta);\n } else {\n timeout = false;\n if($('body').hasClass('navbar--opened') && window.matchMedia(\"(min-width: 1200px)\").matches){\n $('body').removeClass('navbar--opened')\n }\n productDettIntroH();\n } \n}\n\nfunction productDettIntroH() {\n if($('.product-dett-intro').exists()){\n var h = $('.product-dett-intro .media').first().height();\n $('.product-dett-intro .text').css('min-height', h)\n }\n}\n\nfunction timelineFillingUpdate(t) {\n var fillingLine = document.querySelector('.filling-line');\n var left = t[0].offsetLeft;\n var width = t.width();\n\n left = Number(left) + (Number(width)/2);\n\n if(t.index() === $('.timeline .input').length - 1){\n left = \"100%\"\n }\n\n gsap.to(fillingLine, {\n width: left\n });\n}\n\nfunction timelineAuto(inputs, paras) {\n var s = inputs.length;\n var currentInput = $('.timeline .timeline--wrap .input.active');\n var ind = currentInput.index() + 1;\n if(ind >= s){\n ind = 0;\n }\n\n var next = inputs.eq(ind);\n var matchedPara = paras.eq(ind);\n\n timelineFillingUpdate(next);\n next.add(matchedPara).addClass('active');\n inputs.not(next).add(paras.not(matchedPara)).removeClass('active');\n\n}\n\n// BARBA JS\n// start script\n// barba.use(barbaCss);\n\n// define a global hook\n// barba.hooks.once((data) => {\n// console.log('once')\n// navbar();\n// myapp();\n\n// // Remove appended div to modal after close\n// $(document).on($.modal.AFTER_CLOSE, function (event, modal) {\n// $(\".ajax-load.modal\").remove();\n// });\n\n// // Analytics update\n// $(document).on($.modal.OPEN, function (event, modal) {\n// $(modal.$anchor).find(\".close-modal\").attr(\"data-barba-prevent\", \"self\");\n// });\n\n// $(\".page-transition\").removeClass(\"show\");\n// });\n\n\n// barba.hooks.enter((data) => {\n// // console.log(\"enter\");\n// $.ajax({\n// url: data.next.url.href,\n// success: function (newHTML, textStatus, jqXHR) {\n// // Meta update\n// var headTags = [\n// \"meta[name='keywords']\",\n// \"meta[name='description']\",\n// \"meta[property^='og']\",\n// \"meta[name^='twitter']\",\n// \"meta[itemprop]\",\n// \"link[itemprop]\",\n// \"link[rel='prev']\",\n// \"link[rel='next']\",\n// \"link[rel='canonical']\",\n// ].join(\",\");\n// $(\"head\").find(headTags).remove();\n// $(newHTML).find(headTags).appendTo(\"head\");\n\n// // Menu Change\n// var newMenu = $(newHTML).find(\".navbar__collapse\").html();\n// $(\".navbar .navbar__collapse\").html(newMenu);\n\n// // Preview Menu Change\n// var newPreviewMenu = $(newHTML).find(\".navbar__menu-preview\").html();\n// $(\".navbar .navbar__menu-preview\").html(newPreviewMenu);\n\n// // Logo Menu Change\n// var newNavSx = $(newHTML).find(\".navbar__sx\").html();\n// $(\".navbar .navbar__sx\").html(newNavSx);\n\n// // script variables\n// // let js = data.next.container.querySelectorAll('main script');\n// // console.log(js)\n// // if(js != null){\n// // js.forEach((item) => {\n// // eval(item.innerHTML);\n// // });\n// // }\n\n// var js = $(newHTML).find(\"script\");\n// if (js != null) {\n// $.globalEval(js.html());\n// }\n \n// myapp();\n// },\n// error: function (xhr, ajaxOptions, thrownError) {\n// alert(xhr.status)\n// alert(xhr.statusText)\n// // alert(thrownError)\n// },\n// complete: function () {\n// },\n// });\n// });\n\n// barba.hooks.beforeLeave((data) => {\n// // console.log(\"beforeLeave\");\n// // spinner().show();\n// $(\".page-transition\").addClass(\"animIn\");\n\n// // document.querySelector('.js-navbar').classList.remove('on-stage', 'out-stage');\n// // navbar().navbarAddScrollListener;\n// })\n\n// barba.hooks.leave((data) => {\n// // this hook will be called for each transitions\n// // console.log(\"leave 1\");\n\n// if(timelineInterval){\n// clearInterval(timelineInterval);\n// }\n\n// $.modal.close(); \n// });\n\nconst theme = {\n value: window.matchMedia('(prefers-color-scheme: goldsmith)').matches ? 'goldsmith' : 'dental'\n}\ntheme.value = theme.value === 'dental' ? 'goldsmith' : 'dental';\n\n// barba.hooks.beforeEnter((data) => {\n// console.log('beforeEnter')\n\n// theme.value = data.next.container.dataset.theme;\n// document.firstElementChild.setAttribute('data-theme', theme.value);\n \n\n// $(\".wrapper\").removeAttr(\"style\");\n// $(\".main\").removeAttr(\"style\");\n\n// $(\"body\").removeClass(\"navbar--opened\");\n \n// $(\"html,body\").animate({\n// scrollTop: 0,\n// }, 0);\n\n// $(\".navbar\").removeClass(\"out-stage, on-stage--ico-menu, tween\");\n \n// ScrollTrigger.getAll().forEach(t => {\n// t.kill()\n// });\n\n// });\n\n// barba.hooks.afterEnter((data) => {\n// console.log('afterEnter')\n// // spinner().hide();\n// $(\".navbar\").addClass(\"tween\");\n// $(\".page-transition\").removeClass(\"animIn\");\n\n// var hash = $(location).attr('hash');\n// if(hash){\n// $(\"html,body\").animate({\n// scrollTop: $(hash).offset().top,\n// },400);\n// }\n// });\n\n// Back button and barba history\nif (history.scrollRestoration) {\n history.scrollRestoration = \"manual\";\n}\nlet scrollPosY = [0];\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n barba.init({\n timeout: 9000,\n cacheIgnore: true,\n prefetchIgnore: true,\n debug: FinalizationRegistry,\n transitions: [{\n async once(data) {\n theme.value = data.next.container.dataset.theme;\n document.firstElementChild.setAttribute('data-theme', theme.value);\n\n await navbar();\n await contentAnimation();\n },\n async leave(data) {\n await pageTransitionIn(data);\n // console.log('transitions leave')\n },\n async enter(data) {\n await pageTransitionOut(data.next.container, data, data.next.namespace);\n // console.log('transitions enter') \n },\n async beforeLeave(data) {\n // console.log('transitions before Leave')\n },\n async afterEnter(data) {\n // console.log('transitions after Enter')\n },\n async afterLeave(data) {\n data.current.container.remove()\n \n var newHTML = data.next.html;\n var headTags = [\n \"meta[name='keywords']\",\n \"meta[name='description']\",\n \"meta[property^='og']\",\n \"meta[name^='twitter']\",\n \"meta[itemprop]\",\n \"link[itemprop]\",\n \"link[rel='prev']\",\n \"link[rel='next']\",\n \"link[rel='canonical']\",\n ].join(\",\");\n\n $(\"head\").find(headTags).remove();\n $(newHTML).find(headTags).appendTo(\"head\");\n\n // Menu Change\n var newMenu = $(newHTML).find(\".navbar__collapse\").html();\n $(\".navbar .navbar__collapse\").html(newMenu);\n\n // Preview Menu Change\n var newPreviewMenu = $(newHTML).find(\".navbar__menu-preview\").html();\n $(\".navbar .navbar__menu-preview\").html(newPreviewMenu);\n\n // Logo Menu Change\n var newNavSx = $(newHTML).find(\".navbar__sx\").html();\n $(\".navbar .navbar__sx\").html(newNavSx);\n\n ScrollTrigger.getAll().forEach(t => {\n t.kill()\n });\n\n let tlChildren = gsap.globalTimeline.getChildren();\n if(tlChildren){\n tlChildren.forEach(child => {\n child.kill();\n child = null;\n });\n }\n\n // Inject scripts on page\n const js = data.next.container.querySelectorAll(\"script\");\n [].forEach.call(js, function (script) {\n // console.log(script);\n window.eval(script.innerHTML);\n });\n\n $(\".wrapper\").removeAttr(\"style\");\n $(\".main\").removeAttr(\"style\");\n\n // console.log('transitions after Leave')\n },\n async beforeEnter(data) {\n theme.value = data.next.container.dataset.theme;\n document.firstElementChild.setAttribute('data-theme', theme.value);\n\n // console.log('transitions before Enter')\n }\n }]\n });\n});\n\nfunction pageTransitionOut(container, data, namespace) {\n // console.log('page Transition Out')\n\n if(data && data.trigger !== \"back\") {\n scrollPosY.push(barba.history.current.scroll.y);\n }\n\n if(data.trigger !== \"back\") {\n window.scrollTo(0, 0, \"instant\");\n } else {\n window.scrollTo(0, scrollPosY.pop())\n }\n\n if(timelineInterval){\n clearInterval(timelineInterval);\n }\n \n // GSAP methods can be chained and return directly a promise\n return contentAnimation(container, data, namespace)\n}\n\nfunction pageTransitionIn(data) {\n $(\".page-transition\").addClass(\"animIn\");\n\n $.modal.close(); \n}\n\nfunction contentAnimation(container, data, namespace) {\n (async () => {\n // console.log('content Animation')\n\n let startMyApp = await myapp();\n let hideLoading = await pageTransitionLoadingHide();\n return {\n startMyApp,\n hideLoading\n };\n })() \n}\n\nfunction pageTransitionLoadingHide() {\n $(\".page-transition\").removeClass(\"show\");\n\n $(\".navbar\").addClass(\"tween\");\n $(\".page-transition\").removeClass(\"animIn\");\n\n var hash = $(location).attr('hash');\n if(hash){\n $(\"html,body\").animate({\n scrollTop: $(hash).offset().top,\n },400);\n }\n}\n","/* eslint-disable no-undef */\n/* eslint-disable no-unused-vars */\n/*! Thom Form - v1 - 2017-12-01\n * Copyright (c) 2017 THOM */\n\n// jQuery.validator.unobtrusive.adapters.add('shouldbetrue', new Array(), function (\n// options\n// ) {\n// options.rules['shouldbetrue'] = true\n// if (options.message) options.messages['shouldbetrue'] = options.message\n// })\n\n// jQuery.validator.addMethod('shouldbetrue', function (value, element) {\n// return jQuery(element).is(':checked')\n// })\n// Add client validator functionality for Checkboxes\nrequire('jquery-form');\nrequire('jquery-validation');\nrequire('jquery-validation-unobtrusive');\n\njQuery.validator.addMethod(\n 'shouldbetruemethod',\n function (value, element) {\n return $(element).is(':checked')\n },\n ''\n);\n\njQuery.validator.methods[\"date\"] = function (value, element) { return true; } \n\njQuery.validator.unobtrusive.adapters.addBool(\n 'shouldbetrue',\n 'shouldbetruemethod',\n 'date'\n);\n\n\n(function (root, factory) {\n if (typeof define === 'function' && define['amd']) {\n // AMD. Register as an anonymous module unless amdModuleId is set\n define(['jquery'], function (a0) {\n return factory(a0)\n })\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory(require('jquery'))\n } else {\n factory(root['jQuery'])\n }\n})(this, function ($) {\n // THOM MAP\n (function () {\n 'use strict'\n\n /* set default variables */\n var defaults = {\n errorMsg: null,\n errorCallback: function () {},\n myCallback: function () {},\n steps: false,\n stepsCallback: function () {}\n }\n\n /* variable */\n var $inputFile = null;\n var $inputFileLabel = '';\n var inputFileLabelVal = '';\n\n /* Plugin fn */\n class Plugin {\n constructor(element, options) {\n // Current select element\n this.el = element;\n // Current jquery element\n this.$el = $(element);\n // select settings\n this.s = $.extend({}, defaults, options);\n\n // select modules\n this.modules = {};\n\n this.init();\n\n return this;\n }\n /* INITIALIZE PLUGIN */\n init() {\n var _ = this;\n // Set Listeners\n _.listeners();\n }\n listeners() {\n var _ = this;\n\n var formClass = _.$el.attr('class'); \n \n if ($('.' + formClass).exists()) {\n jQuery.validator.unobtrusive.parse('.' + formClass);\n }\n\n // Button click\n _.$el.find('.thom-form__submit').unbind('click');\n _.$el.find('.thom-form__submit').click(function (e) {\n // e.preventDefault()\n $(this).prop('disabled', true);\n\n // Response Form\n _.gRecaptchaVerify();\n });\n\n // Input + Textarea keyboard button press\n _.$el.find('input').keypress(function (e) {\n // Enter pressed?\n if (e.which == 10 || e.which == 13) {\n _.gRecaptchaVerify();\n }\n });\n\n if (_.$el.find('input[type=file]').exists()) {\n $inputFile = _.$el.find('input[type=file]');\n $inputFileLabel = $inputFile.next('label');\n inputFileLabelVal = $inputFileLabel.html();\n\n $inputFile.on('change', function (e) {\n var fileName = '';\n\n if (this.files && this.files.length > 1) {\n fileName = (\n this.getAttribute('data-multiple-caption') || ''\n ).replace('{count}', this.files.length);\n }\n else if (e.target.value) {\n fileName = e.target.value.split('\\\\').pop();\n }\n\n if (fileName) {\n $inputFileLabel.find('span').html(fileName);\n }\n else {\n $inputFileLabel.html(inputFileLabelVal);\n }\n });\n\n // Firefox bug fix\n $inputFile\n .on('focus', function () {\n $inputFile.addClass('has-focus')\n })\n .on('blur', function () {\n $inputFile.removeClass('has-focus')\n });\n }\n\n // form datepicker\n if (_.$el.find('[data-toggle=\"datepicker\"]').exists()){\n var mydate = _.$el.find('[data-toggle=\"datepicker\"]').val().replace('00:00:00', '');\n _.$el.find('[data-toggle=\"datepicker\"]').val(mydate)\n _.$el.find('[data-toggle=\"datepicker\"]').datepicker({\n language: $('html').attr('lang')\n });\n }\n\n if(_.s.steps){\n if(_.$el.find(\".thom-form__error li\").length > 0){\n // console.log('2')\n _.$el.find(\".thom-form__error\").fadeIn(300);\n }\n\n $('.formSteps-nav-item.is-complete').unbind('click');\n $('.formSteps-nav-item.is-complete').click(function(e){\n e.preventDefault();\n\n $('.formSteps-nav-item').removeClass('is-selected');\n $(this).addClass('is-selected');\n\n _.loader('show');\n $.ajax({\n url: $(this).data('url'),\n })\n .done(function( data ) {\n _.replaceForm(data);\n });\n \n return false;\n });\n }\n }\n\n loader(action) {\n var _ = this;\n if (action === 'show') {\n var elem = document.createElement('div');\n elem.setAttribute('id', 'spinnerform');\n elem.innerHTML =\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
' +\n '
';\n\n _.$el.append(elem);\n $('#spinnerform').fadeIn();\n }\n\n if (action === 'hide') {\n $('#spinnerform').fadeOut(300, function(){\n $(this).remove();\n });\n }\n }\n /* RESIZE */\n resize() {\n var _ = this;\n }\n /* google recaptcha verify */\n gRecaptchaVerify() {\n var _ = this;\n if(_.$el.find(\".GoogleCaptchaToken\").length > 0){\n var rSiteKey = _.$el.find('.formSubmit').data('sitekey');\n var rAction = _.$el.find('.formSubmit').data('action');\n grecaptcha.ready(function() {\n grecaptcha.execute(rSiteKey, {action: rAction}).then(function(token) {\n // Add your logic to submit to your backend server here.\n // Response Form\n _.$el.find(\".GoogleCaptchaToken\").val(token);\n _.response();\n });\n });\n } else {\n _.response();\n }\n }\n /* Submit the form */\n response() {\n var _ = this; \n\n if (_.$el.valid()) {\n _.loader('show');\n var formdata = '';\n var dataType = 'json';\n\n if(_.s.steps){\n dataType = null;\n }\n\n // SUBMIT\n _.$el.ajaxSubmit({\n data: formdata,\n dataType: dataType,\n success: function (responseText) {\n _.loader('hide');\n var myStatus = responseText.Status;\n var myMessage = responseText.Message;\n var myTitle = responseText.Title;\n var myUrl = responseText.Url;\n\n if(_.s.steps){\n var nextStep = true;\n\n if($(responseText).hasClass('formSteps-end')){\n nextStep = false;\n $('.formSteps-nav').hide();\n\n if ( $.isFunction(window.ThomFormSuccessCallback) ) {\n ThomFormSuccessCallback();\n }\n }\n\n _.replaceForm(responseText, nextStep);\n\n } else {\n\n if (myStatus == true) {\n\n if ( $.isFunction(window.ThomFormSuccessCallback) ) {\n ThomFormSuccessCallback();\n }\n\n if (myUrl) {\n window.location.href = myUrl\n } else {\n _.s.myCallback(myTitle, myMessage);\n }\n\n // Reset form fields\n _.clearForm()\n } else {\n if (_.s.errorMsg != null) { \n _.s.errorCallback(myTitle, myMessage)\n }\n }\n\n // Reset form reCaptcha\n // if (_.$el.find('.thom-form__recaptcha').length != 0) {\n // grecaptcha.reset(\n // _.$el.find('.thom-form__recaptcha').attr('data-widget-id')\n // )\n // }\n\n // if (_.$el.find('.mtcaptcha-verifiedtoken').length != 0) {\n // var currId = _.$el.find('.mtcaptcha').attr('id')\n // mtcaptcha.resetUI(currId)\n // }\n }\n\n _.$el.find('.thom-form__submit').prop('disabled', false);\n }\n })\n } else {\n console.log('VALIDATION ERROR')\n if (_.s.errorMsg != null) {\n _.s.errorCallback()\n _.$el.find('.thom-form__submit').prop('disabled', false);\n }\n }\n }\n /* Reset the form */\n clearForm() {\n var _ = this\n\n _.$el.resetForm()\n\n if (_.s.errorMsg != null) {\n _.s.errorMsg.hide(0)\n }\n\n if (_.$el.find('input[type=file]').exists()) {\n $inputFileLabel.html(inputFileLabelVal)\n }\n }\n // Replace form\n replaceForm(res, goNextStep) {\n var _ = this;\n // console.log(res)\n\n var currAction = _.$el.attr('action');\n var resAction = $(res).attr('action');\n\n $('.thom-form-response').addClass('is-hidden');\n $('.thom-form-response').html(res);\n\n $('.thom-form-response').removeClass('is-hidden');\n _.loader('hide');\n\n if(goNextStep){\n _.$el.find('.thom-form__submit').prop('disabled', false);\n var currStep = $('.formSteps-nav .formSteps-nav-item.is-selected');\n var nextStep = currStep.next();\n\n if(resAction !== currAction){\n currStep\n .removeClass('is-selected')\n .addClass('is-complete');\n \n nextStep\n .attr('data-url', currAction)\n .addClass('is-selected');\n }\n }\n\n _.s.stepsCallback(); \n }\n }\n\n // ---------------------------\n // thomForm - fn\n // ---------------------------\n $.fn.thomForm = function (options) {\n return this.each(function () {\n if (!$.data(this, 'thomForm')) {\n $.data(this, 'thomForm', new Plugin(this, options))\n } else {\n try {\n $(this)\n .data('thomForm')\n .init()\n } catch (err) {\n console.error('thomForm has not initiated properly')\n }\n }\n })\n }\n\n $.fn.thomForm.modules = {}\n })()\n})\n"],"sourceRoot":""}