{"version":3,"file":"../main.js","names":["jQuery","noConflict","window","api","vars","lang","isIE","isEdge","isIE6To11","is","windW","windH","windOldW","windOldH","wresizetimer","resizetimeout","timerout","IframeAPIReady","youtubeSelectors","youtube_addedScriptToHead","googleMapReady","recaptchaReady","grecaptchaIds","scr","phone","tablet","desktop","datepicker","dateFormat","selectors","body","header","footer","slick","edgeFriction","speed","prevArrow","nextArrow","zoomLevel","detectors","fn","components","forms","resizeCommon","modules","cookies","accessibilities","e","t","exports","module","define","amd","this","constructor","then","n","resolve","reject","o","f","call","r","status","reason","i","value","length","TypeError","Array","prototype","slice","_state","_handled","_value","undefined","_deferreds","l","_immediateFn","onFulfilled","onRejected","u","promise","push","c","apply","arguments","_unhandledRejectionFn","a","setTimeout","all","allSettled","race","setImmediate","console","warn","s","self","global","Error","Promise","$","widget","options","_create","wrap","element","document","on","iniSlick","hasClass","slidesToShow","slidesToScroll","dots","arrows","infinite","variableWidth","opts","_setOption","key","getOption","opt","panel","find","aside","parent","positionPanel","pointEventLayer","stickyBox","trigger","removeAttr","removeClass","stick_in_parent","offset_top","addClass","hasAside","css","left","offset","width","next","each","tooltipEl","getElementById","attr","bootstrap","Tooltip","container","addEventListener","_addBodyClass","_mobSlideToggle","resize","hide","show","title","toggleElem","click","toggleClass","slideToggle","iframe","appendTo","target","href","remove","active","useOptsActive","activeItm","acc","getData","qsHeaderId","getParameterByName","Math","floor","index","animate","accordion","navigation","heightStyle","collapsible","create","event","ui","moveWindowToObj","beforeActivate","activate","appear","_","accX","accY","_initSlick","rows","appendArrows","parents","responsive","breakpoint","settings","evt","by","_createDotContainer","appendDots","insertBefore","carousel","items","_arrowDown","_loadAllImgs","_createArrowPlaceholder","aria_slick_arrows","autoplay","autoplaySpeed","pauseOnHover","arrowHolder","indx","item","rightBg","lazyLoad","currentSlide","nextSlide","lazy","_iniVars","_createLine","_toShowSubMenu","activeMainMenu","_iniMainMenu","_iniSubMenu","_iniMegaMenu","_iniSideMenu","_inactiveLinks","_showIconsLabel","_resetInactiveLnks","_closeSubmenu","_onMegaMenu","_resetMegaMenuActiveItem","_setArrowLnk","_hideMegaMenu","delayMainMenuReset","delaySubMenuReset","delayShowSubMenu","delayMegaMenuReset","delaySideMenuReset","delayShowSideMenu","delayShowMegaMenu","mainMenuTimer","subMenuTimer","megaMenuTimer","showMegaMenuTimer","sideMenuTimer","timerResetDefault","menuItems","subMenu","subMenuItems","activeSubMenu","subLine","megaMenu","megaMenuItems","megaMenuItem","megaMenuLinks","megaMenuLinksParent","_moveLine","actSubMenu","transform","outerWidth","ARIA_toggleContent","clearTimeout","_setActiveMainMenu","_resetSubMenu","_resetToDefault","_toResetMainMenu","_toHideMegaMenu","_removeActiveMainMenu","lnk","_resetMainMenu","delay","_showSubMenu","not","_toResetSubMenu","_setActiveSubMenu","_removeActiveSubMenu","_addInactiveSubMenu","_subRemoveActive","_hideSideMenu","_toShowMegaMenu","activeMegaMenu","_showMegaMenu","_showMegaMenuItem","slideDown","_hideMegaMenuItems","_subAddActive","_toShowSideMenu","li","activeSideMenu","log","_showSideMenu","mouseenter","mouseleave","mouseover","timeout","didScroll","lastScrollTop","navbarHeight","outerHeight","delta","scroll","_hasScrolled","st","scrollTop","abs","height","_update","_stickyMenu","onlySticky","_scrollOnClick","_checkActiveSection","ul","liItems","hrefs","preventDefault","off","hash","stop","top","menu_pos","activeId","activeHref","getHeaderHeight","_init","mover","windowW","_getWindowWidth","_resetPosition","_checkIfActive","newWindowW","_events","offsetX","isDown","offsetLeft","clientX","finalX","_moveOverlay","moverW","scrollWidth","parentW","margL","minX","innerWidth","documentElement","clientWidth","googleReady","_initContactMap","mapIcon","locationData","data","mapStyles","optionsStylesMap","map","google","maps","Map","zoom","center","LatLng","latitude","longitude","mapTypeId","MapTypeId","ROADMAP","styles","Marker","position","icon","obj","bool","Aria_controls","controlObjId","getWindDims","dims","viewport","checkTouchDevice","isTouch","checkFontsIconsLoad","className","indexOf","FontFaceObserver","weight","load","disableBodyScroll","winTopMemory","enableBodyScroll","onEnterTriggerBtn","inpt","keyCode","which","btnId","setAnchors","toFocus","slc","focus","toFocusThis","focusfix","selector","blur","onEscTriggerReset","txtId","val","btn","resetTxt","iniPostPreloader","ToPrepend","getBtnSize","w","h","btnDisplay","btnSizes","prel","insertAfter","prev","removePostPreloader","btnWrap","datastr","defVal","str","shuffle","j","x","parseInt","random","printPage","id","pageTitle","html","innerHTML","printWin","open","write","close","print","callback","objToPos","headerH","clearQueue","moveWindowToScrollPoint","scrlPoint","getQueryByName","name","replace","results","RegExp","exec","location","search","decodeURIComponent","mediaQueryCallbacks","devicesToWatch","matchCallback","unmatchCallback","mediaMatch","mediaIs","checkForYouTube","addYouTubeApi","tag","createElement","src","firstScriptTag","getElementsByTagName","parentNode","recaptchaLoaded","getScrollPosition","doc","pos","pageXOffset","scrollLeft","clientLeft","pageYOffset","clientTop","getDate","date","parseDate","error","youtube_embed","vId","highlight","txt","text","substring","smsLnk","link","SMSLink","replaceAll","pad","preloadBodyMarkup","preloaderMarkup","preloadBody","state","instant","_toggleBodyPreloader","callBack","timer","fadeIn","fadeOut","addTextToBodyPreloader","prBody","modalLnk","modalLnkTrigger","modalId","resetForm","modal","substr","resetFields","resetCaptcha","iniCaptcha","toggle","sortByButton","backToTop","convertLnkAddToEdit","nodeId","convertLnkEditToAdd","hasCookie","test","encodeURIComponent","cookie","iniWaypointElements","elem","Waypoint","handler","direction","removeInlineImgSizes","img","googleMapsReady","preloadContentLikeVue","parentObj","preloadedItem","cleanBreak","url","setUrlParameter","history","replaceState","setUrlParameter_fn","baseUrl","split","urlQueryString","newParam","params","updateRegex","removeRegex","match","updateQueryStringParameter","uri","re","separator","removeURLParameter","removeURLParameter_fn","parameter","urlparts","prefix","pars","lastIndexOf","splice","join","uniqueValues","theArray","contains","newArrr","v","arr","concat","round","devicePixelRatio","iniShareLinks","shareUrl","suffle","sanitizeString","trim","groupedArray","ceil","fill","hexToRgb","hex","m","g","b","result","validEmail","email","acceptNumber","toFix","toFixed","addCommasFilter","nStr","septhou","sepdec","x1","x2","rgx","getNumberFromCustomDec","isNaN","comma","intPart","decPart","outp","removeDotsOrCommas","equalMinHeights","elements","minHeight","tallest","redirectToJobPage","updateFavicon","matcher","matchMedia","lightSchemeIcon","querySelector","darkSchemeIcon","matches","head","append","clone","getRegExpFlags","regExp","source","flags","ignoreCase","multiline","sticky","unicode","isArray","type","toString","Date","getTime","passiveListeners","special","touchstart","setup","ns","handle","passive","includes","touchmove","wheel","mousewheel","downloadFile","download","appendChild","removeChild","inputWithPasswords","closest","inptId","MSInputMethodContext","documentMode","setDefaults","regional","breadcrumb","hero","benefitsCarousel","productGroup","infoPanel","downloadList","accordionSection","productPromo","quickActionsCarousel","fullwidthGallery","carouselCards","partnerCarousel","articleCards","asideMenu","contactMap","searchresultsCarousel","jsCallbacks","pagemode_edit","inViewport","cls","plgn","isOnScreen","scrolling","scrolltimer","section","win","onScreenCls","right","bottom","bounds","headeroffset","_trigger","mixins","loading","errorMsgs","globalerror","methods","getFormAction","form","getAttribute","removeDuplicates","array","filter","objName","getDataText","entry","makeid","characters","charAt","validateFields","names","validArray","forEach","valid","getAllFields","elemId","fieldsArray","iniReCaptcha","Vue","nextTick","reCaptcha","grecaptcha","render","sitekey","scrollToError","offsetY","scrollToValidation","barH","first","scrollToTop","scrollToElem","getIndex","hasValue","showErrorDialog","message","errorDialog","errorMsg","dictionary","serverErrorMsg","getAjaxResponseMessages","messages","msg","msgList","getRandomInt","max","getUrlVars","getUrlParam","defaultvalue","urlparameter","getCharPosition","string","char","appendUrlParam","URL","search_params","searchParams","urlParamExists","set","new_url","pushState","appendUrlParams","parameters","values","field","coordinatesAreValid","long","lat","trimChar","charToRemove","getCharacteristicTooltip","tooltip","getInfoWindowContentString","address","ajax","axios","post","response","hasError","errorMessages","allItems","handleAjaxError","handleAjaxSuccess","catch","errors","err","JSON","parse","changeAllNodes","currentNode","k","findNode","nodeName","currentChild","findValues","findValuesHelper","list","children","Object","keys","mixin_viewport","screen","mounted","defineScreen","mixin_intro_tabs","tab","changeTab","newTab","activeClass","wizardSteps","currentStep","allSteps","stepModel","locked","subSteps","beforeMount","updateStepModel","updateSubSteps","keyCounter","scrollTo","$nextTick","$el","z","step","current","nextStep","prevStep","closeAllSteps","goToStep","num","isActiveStep","stepsActiveClass","indexOfSubStep","findIndex","el","getCurrentSubStep","prevSupStep","nextSupStep","goToSupStep","to","wizardModel","greReady","captchaSiteKey","captchaAction","recaptchaResponse","criticalError","submitHandler","sessionId","model","finalMessage","critical","criticalErrorCode","$refs","modalCritical","cloneModel","newData","updateModel","assign","updateModelAndContinue","validate","ref","recaptchaResponseUpdate","newToken","scrollBackToForm","scrollToInfo","handleError","sendCaptcha","callCaptcha","execute","action","updateToken","token","$emit","makeFormData","entries","dataToSend","FormData","wizardEditable","props","checkForDisable","Boolean","default","editable","btnEditStr","String","btnCancelStr","btnSaveStr","disabled","isSaved","$watch","newobj","old","immediate","enableFields","disableFields","save","saved","saving","cancel","wizardHelpers","stringifyPrice","toLocaleString","minimumFractionDigits","maximumFractionDigits","commonComponents","slickCarousel","template","beforeUnmount","onDestroy","$slick","onAfterChange","onBeforeChange","onBreakpoint","onEdge","onInit","onReInit","onSetPosition","onSwipe","onLazyLoaded","onLazyLoadError","destroy","reSlick","pause","play","goTo","dontAnimate","add","addBefore","removeBefore","filterData","unfilter","option","setOption","refresh","setPosition","image","imageSource","alertDanger","var","alertSuccess","infinityScroll","hasMore","handleScroll","getBoundingClientRect","innerHeight","bMediaItemFile","card","bAutoCompleter","clickable","useCaptcha","records","computed","isActive","doSearch","reset","handleSuccess","stopSearch","itemTypeClass","stopPropagate","stopPropagation","clicked","bTabs","activeTab","tabs","iniTabs","bPagination","maxVisibleButtons","Number","required","totalRecords","perPage","currentPage","inactiveClass","totalPages","startPage","endPage","min","pages","range","isDisabled","isInFirstPage","isInLastPage","onClickFirstPage","onClickPreviousPage","onClickPage","page","onClickNextPage","onClickLastPage","isPageActive","photoItem","cardBg","thumb","mediaItem","customLightbox","galleryImages","mainTitle","prevTitle","nextTitle","$this","imageLoaded","selectedItem","selectedIndex","imgUrl","loadMore","keyup","closeLayer","prevItem","nextItem","showItem","setSelectedItem","loadImg","onImgLoad","loadMoreComplete","showPrev","showNext","isImageLoaded","showWhenLoadMore","searchInput","label","inputId","placeholder","minCharacters","maxCharacters","delaytime","autocompleteHandler","buttonType","buttonText","clearText","errorLength","errorRequired","debounceTimer","startSearch","searchBtnDisabled","onFocus","checkToSearch","triggerOnInput","clearInput","setFocus","searchFailed","searchCompleted","closeAutocomplete","headerCard","enableCache","checkToEnable","bg","eLoader","absolute","vueDatepicker","isOpen","datepickerLoaded","datepickerDiv","targetElems","docReady","iniDatepicker","formattedDate","format","formatDate","inputClass","showOtherMonths","maxDate","maxdate","minDate","mindate","showButtonPanel","onSelect","dateText","clear","dif","watch","tableAccordion","_iniAccordion","expandableText","maxHeight","expanded","showToggleButton","scrollHeight","maxH","ini","style","setProperty","expandedClass","disabledClass","customTabs","selected","isOpened","manyTabs","topClass","accordionTabComponet","btnMoreTxt","btnHelpTxt","viewAccordionLimit","interactDiv","selectedTab","selectedGroup","loadData","sort","groups","refreshAccordion","onClickTab","onClickGroup","isExpaned","isExpanded","topNode","faqs","faq","expandSelected","doInteract","div","subTitle","slideUpDown","_this","toggleSlide","newVal","oldVal","animated","slideUp","bAccordion","iniAccordion","setActive","svgSourcePrint","imgSrc","getSource","fetch","resp","ok","initDirective","created","binding","vnode","prevVnode","vm","instance","arg","toCamelCase","$data","toLowerCase","group1","toUpperCase","delayInitDirective","emptyApps","emptyAppDivs","querySelectorAll","createApp","component","mount","headerMenu","flipped","headerDesktop","headerScroll","isSelectedCard","selectedCard","headerMenuApp","selHeader","headerMenuDevices","showMenu","activeIds","activeTexts","noscrollClassName","toggleMenu","closeMenu","openMenu","openSubMenu","goBack","onClickHeader","includedInPath","parentId","parentText","showBack","headerMenuDevicesApp","selHeaderDevices","headerMenuDevicesMounted","introTabs","carouselitems","slickOptions","introTabsApp","introTabsDivs","directive","homeNews","isLoading","isMobile","featuredArticles","listArticles","fade","cssEase","slickListOptions","appendDotsToSlicks","checkMobileScreen","fetchArticles","isFeatured","news","newslist","homeNewsApp","homeNewsDivs","newsletter","isMounted","culture","hasApproved","postUrl","successMsgs","defaults","headers","common","sNewsletterForm","submitForm","postData","getAxiosConfig","successMessages","newsletterEmail","newsletterApp","selNewsletter","accordionTabs","accordionTabsApp","accordionTabsDivs","searchModal","toggleSearch","closeSearch","openSearch","searchModalApp","searchResults","tabItem","tabChanged","setLazy","pageChanged","newPage","searchResultsApp","appointmentForm","sAppointmentForm","openAppointment","appointmentFormApp","mediaLanding","itemsPerRow","lightbox","mediaClicked","itemsPerRowClass","mediaLandingApp","mediaLandingDiv","pressReleases","year","month","iniTabData","roots","tags","tabOutTimer","setIniTabData","filterChanged","beforeLoad","pressReleasesApp","pressReleasesDiv","board","myModal","boardData","selectedBoard","myModalEl","Modal","removeBoard","setBoard","boardApp","simpleTable","tableData","itemsPerPage","start","end","simpleTableApp","contactForm","subject","company","fullname","telephone","comments","contactFormApp","selMyAccountContactForm"],"sources":["main.js"],"mappings":"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","sourcesContent":["jQuery.noConflict();\r\n\r\n\r\nwindow.api = {\r\n\r\n vars: {\r\n lang: 'el',\r\n\r\n isIE: false,\r\n isEdge: false,\r\n isIE6To11: false,\r\n is: \"desktop\",\r\n windW: 0,\r\n windH: 0,\r\n windOldW: 0,\r\n windOldH: 0,\r\n\r\n wresizetimer: 100,\r\n resizetimeout: 0,\r\n timerout: 0,\r\n\r\n IframeAPIReady: false,\r\n\r\n youtubeSelectors: [],\r\n youtube_addedScriptToHead: false,\r\n\r\n googleMapReady: false,\r\n recaptchaReady: false,\r\n\r\n grecaptchaIds: [],\r\n\r\n scr: {\r\n phone: 0,\r\n tablet: 768,\r\n\t\t\tdesktop: 1025\r\n\t\t},\r\n\r\n datepicker: {\r\n dateFormat: \"dd/mm/yy\"\r\n },\r\n\r\n selectors: {\r\n body: \"body\",\r\n header: \".header\",\r\n footer: \".footer\",\r\n },\r\n\r\n slick: {\r\n edgeFriction: 0,\r\n speed: 300,\r\n prevArrow: '',\r\n nextArrow: ''\r\n },\r\n\r\n zoomLevel: 100\r\n\r\n },\r\n\r\n detectors: {},\r\n\r\n fn: {},\r\n\r\n components: {},\r\n\r\n forms: {},\r\n\r\n resizeCommon: {},\r\n\r\n modules: {},\r\n\r\n cookies: {},\r\n\r\n accessibilities: {}\r\n\r\n};\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t():\"function\"==typeof define&&define.amd?define(t):t()}(0,function(){\"use strict\";function e(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}function t(e){return new this(function(t,n){function o(e,n){if(n&&(\"object\"==typeof n||\"function\"==typeof n)){var f=n.then;if(\"function\"==typeof f)return void f.call(n,function(t){o(e,t)},function(n){r[e]={status:\"rejected\",reason:n},0==--i&&t(r)})}r[e]={status:\"fulfilled\",value:n},0==--i&&t(r)}if(!e||\"undefined\"==typeof e.length)return n(new TypeError(typeof e+\" \"+e+\" is not iterable(cannot read property Symbol(Symbol.iterator))\"));var r=Array.prototype.slice.call(e);if(0===r.length)return t([]);for(var i=r.length,f=0;r.length>f;f++)o(f,r[f])})}function n(e){return!(!e||\"undefined\"==typeof e.length)}function o(){}function r(e){if(!(this instanceof r))throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof e)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=undefined,this._deferreds=[],l(e,this)}function i(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var o;try{o=n(e._value)}catch(r){return void u(t.promise,r)}f(t.promise,o)}else(1===e._state?f:u)(t.promise,e._value)})):e._deferreds.push(t)}function f(e,t){try{if(t===e)throw new TypeError(\"A promise cannot be resolved with itself.\");if(t&&(\"object\"==typeof t||\"function\"==typeof t)){var n=t.then;if(t instanceof r)return e._state=3,e._value=t,void c(e);if(\"function\"==typeof n)return void l(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,c(e)}catch(o){u(e,o)}}function u(e,t){e._state=2,e._value=t,c(e)}function c(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;n>t;t++)i(e,e._deferreds[t]);e._deferreds=null}function l(e,t){var n=!1;try{e(function(e){n||(n=!0,f(t,e))},function(e){n||(n=!0,u(t,e))})}catch(o){if(n)return;n=!0,u(t,o)}}var a=setTimeout;r.prototype[\"catch\"]=function(e){return this.then(null,e)},r.prototype.then=function(e,t){var n=new this.constructor(o);return i(this,new function(e,t,n){this.onFulfilled=\"function\"==typeof e?e:null,this.onRejected=\"function\"==typeof t?t:null,this.promise=n}(e,t,n)),n},r.prototype[\"finally\"]=e,r.all=function(e){return new r(function(t,o){function r(e,n){try{if(n&&(\"object\"==typeof n||\"function\"==typeof n)){var u=n.then;if(\"function\"==typeof u)return void u.call(n,function(t){r(e,t)},o)}i[e]=n,0==--f&&t(i)}catch(c){o(c)}}if(!n(e))return o(new TypeError(\"Promise.all accepts an array\"));var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);for(var f=i.length,u=0;i.length>u;u++)r(u,i[u])})},r.allSettled=t,r.resolve=function(e){return e&&\"object\"==typeof e&&e.constructor===r?e:new r(function(t){t(e)})},r.reject=function(e){return new r(function(t,n){n(e)})},r.race=function(e){return new r(function(t,o){if(!n(e))return o(new TypeError(\"Promise.race accepts an array\"));for(var i=0,f=e.length;f>i;i++)r.resolve(e[i]).then(t,o)})},r._immediateFn=\"function\"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){a(e,0)},r._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn(\"Possible Unhandled Promise Rejection:\",e)};var s=function(){if(\"undefined\"!=typeof self)return self;if(\"undefined\"!=typeof window)return window;if(\"undefined\"!=typeof global)return global;throw Error(\"unable to locate global object\")}();\"function\"!=typeof s.Promise?s.Promise=r:s.Promise.prototype[\"finally\"]?s.Promise.allSettled||(s.Promise.allSettled=t):s.Promise.prototype[\"finally\"]=e});\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.benefitsCarousel\", {\r\n options: {},\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n $(document).on(\"window-resized\", () => {\r\n this.iniSlick();\r\n });\r\n\r\n this.iniSlick();\r\n },\r\n\r\n iniSlick: function () {\r\n if (api.vars.windW < api.vars.scr.tablet) {\r\n if (!this.wrap.hasClass(\"slick-initialized\")) {\r\n this.wrap.slick({\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: false,\r\n arrows: false,\r\n infinite: false,\r\n variableWidth: true,\r\n });\r\n }\r\n } else {\r\n if (this.wrap.hasClass(\"slick-initialized\")) {\r\n this.wrap.slick(\"unslick\");\r\n }\r\n }\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.productGroup\", {\r\n opts: {},\r\n\r\n _setOption: function (key, value) {\r\n var plgn = this;\r\n plgn.opts[key] = value;\r\n },\r\n\r\n getOption: function (opt) {\r\n var plgn = this;\r\n return plgn.opts[opt];\r\n },\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this.panel = this.wrap.find(\".b-info-panel\");\r\n this.aside = this.panel.parent();\r\n\r\n this.positionPanel();\r\n\r\n $(document).on(\"window-resized\", () => {\r\n this.positionPanel();\r\n this.pointEventLayer();\r\n });\r\n\r\n $(window).on(\"scroll\", () => {\r\n setTimeout(() => {\r\n if (api.vars.windW > api.vars.scr.desktop) {\r\n this.positionPanel();\r\n this.pointEventLayer();\r\n }\r\n\r\n this.stickyBox();\r\n });\r\n });\r\n\r\n jQuery(document.body).on(\"accordion-activated\", () => {\r\n if(this.panel.hasClass('in-bottom')){\r\n this.panel.trigger(\"sticky_kit:detach\");\r\n this.panel.removeAttr(\"style\").removeClass('in-bottom').removeClass('is_stuck')\r\n\r\n setTimeout(() => {\r\n this.stickyBox();\r\n })\r\n }\r\n });\r\n\r\n this.stickyBox();\r\n },\r\n\r\n stickyBox() {\r\n if (api.vars.windW > api.vars.scr.desktop) {\r\n this.panel\r\n .stick_in_parent({\r\n offset_top: 20,\r\n parent: this.wrap,\r\n //recalc_every: 500,\r\n })\r\n .on(\"sticky_kit:bottom\", (e) => {\r\n this.panel.addClass(\"in-bottom\");\r\n })\r\n .on(\"sticky_kit:unbottom\", (e) => {\r\n this.panel.removeClass(\"in-bottom\");\r\n })\r\n .on(\"sticky_kit:stick\", (e) => {\r\n this.positionPanel();\r\n })\r\n .on(\"sticky_kit:unstick\", (e) => {\r\n this.positionPanel();\r\n });\r\n setTimeout(() => {\r\n this.pointEventLayer();\r\n });\r\n } else {\r\n this.panel.trigger(\"sticky_kit:detach\");\r\n }\r\n },\r\n\r\n positionPanel() {\r\n var hasAside = this.wrap.find(\".g-product-group__aside\").length;\r\n\r\n if (api.vars.windW > api.vars.scr.desktop && hasAside) {\r\n this.panel.css({\r\n left: this.aside.offset().left,\r\n width: this.aside.width(),\r\n });\r\n }\r\n },\r\n\r\n pointEventLayer() {\r\n this.panel.next().css(\"pointer-events\", \"none\");\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.infoPanel\", {\r\n opts: {},\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n $('[data-bs-toggle=\"tooltip\"]', this.wrap).each(function () {\r\n var tooltipEl = document.getElementById($(this).attr(\"id\"));\r\n var tooltip = new bootstrap.Tooltip(tooltipEl, {\r\n container: $(this).parent(),\r\n });\r\n\r\n tooltipEl.addEventListener(\"show.bs.tooltip\", function () {\r\n // do something...\r\n });\r\n });\r\n\r\n this._addBodyClass();\r\n this._mobSlideToggle();\r\n\r\n $(window).resize(function () {\r\n if (api.vars.windW < api.vars.scr.desktop) { \r\n $(\".b-info-panel__title\", this.wrap).removeClass(\"open\");\r\n \r\n $(\".b-info-panel__nav, .b-info-panel__cta, .b-info-panel__top p\", this.wrap).hide();\r\n } if (api.vars.windW > api.vars.scr.desktop) {\r\n \r\n $(\r\n \".b-info-panel__nav, .b-info-panel__cta, .b-info-panel__top p\", this.wrap\r\n )\r\n .show();\r\n }\r\n });\r\n },\r\n\r\n _addBodyClass: function () {\r\n $(\"body\").addClass(\"p-product\");\r\n },\r\n\r\n _mobSlideToggle: function () {\r\n var title = this.wrap.find(\".b-info-panel__title\");\r\n var toggleElem = this.wrap.find(\r\n \".b-info-panel__nav, .b-info-panel__cta, .b-info-panel__top p\"\r\n );\r\n\r\n title.click(function () {\r\n if (api.vars.windW < api.vars.scr.desktop) {\r\n $(this).toggleClass(\"open\");\r\n toggleElem.slideToggle();\r\n }\r\n });\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n\r\n;(function ($) {\r\n\r\n $.widget(\"nsp.downloadList\", {\r\n opts: {\r\n },\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n $('a', this.wrap).on(\"click\", (e)=>{\r\n //e.preventDefault()\r\n var iframe = $(``).appendTo('body')\r\n $(iframe).attr('url', e.target.href)\r\n\r\n setTimeout(()=>{\r\n $('#my-frame').remove()\r\n })\r\n })\r\n \r\n }\r\n\r\n\r\n });\r\n})(jQuery);\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.accordionSection\", {\r\n options: {\r\n header: 'h3',\r\n active: 0,\r\n useOptsActive:false // if true will skip active by data\r\n },\r\n\r\n _create: function () {\r\n this.acc = this.element;\r\n\r\n var activeItm\r\n\r\n if(this.options.useOptsActive){\r\n activeItm = this.options.active;\r\n }else{\r\n activeItm = api.fn.getData(this.acc, \"active\", 0);\r\n }\r\n\r\n\r\n var qsHeaderId = api.fn.getParameterByName(\"q\");\r\n var header = null;\r\n\r\n if (qsHeaderId) {\r\n header = this.acc.find(\"#\" + qsHeaderId);\r\n\r\n if (header.length) {\r\n activeItm = Math.floor(header.index() / 2);\r\n }\r\n }\r\n\r\n var animate = api.fn.getData(this.acc, 'animate', 200);\r\n\r\n this.acc.accordion({\r\n navigation: true,\r\n animate: animate,\r\n header: this.options.header,\r\n heightStyle: \"content\",\r\n collapsible: true,\r\n active: activeItm,\r\n create: function (event, ui) {\r\n if (activeItm >= 0 && qsHeaderId && header.length) {\r\n api.fn.moveWindowToObj(header)\r\n }\r\n },\r\n beforeActivate: function (event, ui) {\r\n },\r\n activate: function (event, ui) {\r\n\r\n setTimeout(()=>{\r\n jQuery(document.body).trigger(\"accordion-activated\");\r\n }, animate)\r\n }\r\n });\r\n\r\n\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n\r\n;(function ($) {\r\n\r\n $.widget(\"nsp.productPromo\", {\r\n opts: {\r\n },\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this.wrap.appear(_=> {\r\n \r\n this.wrap.addClass('is-onscreen')\r\n \r\n\r\n }, { accX: 0, accY: -200 })\r\n \r\n \r\n }\r\n\r\n\r\n });\r\n})(jQuery);\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.carouselCards\", {\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this._initSlick();\r\n },\r\n\r\n _initSlick() {\r\n this.wrap.slick({\r\n edgeFriction: 0,\r\n infinite: false,\r\n arrows: true,\r\n dots: false,\r\n rows: 0,\r\n variableWidth: true,\r\n slidesToShow: 4,\r\n appendArrows: this.wrap\r\n .parents(\".s-carousel-cards__wrp\")\r\n .find(\".carousel_arrows\"),\r\n slidesToScroll: 1,\r\n responsive: [\r\n {\r\n breakpoint: api.vars.scr.tablet - 1,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n },\r\n },\r\n ],\r\n });\r\n\r\n this.wrap.on(\"edge\", (evt, fn, by) => {});\r\n\r\n // this.wrap.on(\"beforeChange\", (slick, currentSlide, nextSlide) => {\r\n // this.wrap.find(\"[data-src]\").lazy();\r\n\r\n // console.log(\"nextSlide\", nextSlide);\r\n // });\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n\r\n;(function ($) {\r\n\r\n $.widget(\"nsp.quickActionsCarousel\", {\r\n options: {\r\n },\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this._createDotContainer();\r\n\r\n $(document).on(\"window-resized\", ()=> {\r\n this.iniSlick();\r\n })\r\n\r\n this.iniSlick();\r\n },\r\n\r\n iniSlick: function () {\r\n\r\n if (api.vars.windW < api.vars.scr.tablet) { \r\n if (!this.wrap.hasClass('slick-initialized')) {\r\n this.wrap.slick({\r\n rows: 0,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n arrows: false,\r\n infinite: false,\r\n variableWidth: true,\r\n appendDots: this.wrap.parent().find('.carousel_dots')\r\n });\r\n }\r\n } \r\n else {\r\n if (this.wrap.hasClass('slick-initialized')) {\r\n this.wrap.slick('unslick');\r\n }\r\n }\r\n\r\n },\r\n\r\n _createDotContainer() {\r\n $('
').insertBefore(this.wrap);\r\n }\r\n\r\n });\r\n})(jQuery);\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.hero\", {\r\n options: {},\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n this.wrap.addClass(\"ready\")\r\n this.carousel = $(\".s-hero__conts\", this.wrap);\r\n\r\n this.items = $(\".s-hero__item\", this.wrap);\r\n\r\n this._arrowDown()\r\n\r\n this._loadAllImgs()\r\n\r\n if (this.items.length > 1) {\r\n\r\n this._createArrowPlaceholder();\r\n\r\n this.carousel.on('init', (event, slick)=>{\r\n api.accessibilities.aria_slick_arrows(this.wrap)\r\n \r\n });\r\n\r\n //console.log(this.wrap, api.fn.getData(this.wrap, 'autoplay-speed', 10000))\r\n\r\n this.carousel.slick({\r\n rows: 0,\r\n infinite: true,\r\n dots: false,\r\n arrows: true,\r\n prevArrow: api.vars.slick.prevArrow,\r\n nextArrow: api.vars.slick.nextArrow,\r\n edgeFriction: api.vars.slick.edgeFriction,\r\n autoplay: api.fn.getData(this.wrap, 'autoplay', false),\r\n autoplaySpeed: api.fn.getData(this.wrap, 'autoplay-speed', 10000),\r\n pauseOnHover: false,\r\n appendArrows: this.arrowHolder.find('.s-hero__arrows__ins')\r\n });\r\n\r\n // this.carousel.on('beforeChange', (slick, currentSlide, nextSlide)=>{\r\n // this.carousel.find('[data-src]').lazy();\r\n // });\r\n \r\n // this.carousel.on('afterChange', (slick, currentSlide)=>{\r\n // this.carousel.find('[data-src]').lazy();\r\n // })\r\n }\r\n },\r\n\r\n _loadAllImgs(){\r\n\r\n this.wrap.find('.s-hero__item').each( (indx, item) =>{\r\n if($(item).attr('data-src') && $(item).attr('data-src') !==\"\"){\r\n $(item).css('background-image', `url(${$(item).attr('data-src')}`)\r\n }\r\n\r\n var rightBg = $('.s-hero__img-right__bg', $(item))\r\n if(rightBg.length){\r\n if(rightBg.attr('data-src') && rightBg.attr('data-src') !==\"\"){\r\n rightBg.css('background-image', `url(${rightBg.attr('data-src')}`)\r\n }\r\n }\r\n })\r\n\r\n },\r\n\r\n _createArrowPlaceholder(){\r\n this.arrowHolder = $('
').appendTo(this.wrap)\r\n },\r\n\r\n _arrowDown(){\r\n $('.e-arrow--down', this.wrap).on('click', ()=>{\r\n api.fn.moveWindowToObj(this.wrap.next());\r\n })\r\n }\r\n\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.fullwidthGallery\", {\r\n options: {},\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this._initSlick();\r\n },\r\n\r\n _initSlick() {\r\n this.carousel = this.wrap.find(\".s-fullwidth-gallery__carousel\");\r\n\r\n this.carousel.slick({\r\n edgeFriction: api.vars.slick.edgeFriction,\r\n infinite: false,\r\n arrows: true,\r\n appendArrows: this.wrap.find(\".carousel_arrows\"),\r\n dots: false,\r\n rows: 0,\r\n slidesToShow: 1,\r\n slidesToScroll:1,\r\n responsive: [\r\n {\r\n breakpoint: api.vars.scr.tablet - 1,\r\n settings: {\r\n appendDots: this.wrap.find(\".carousel_dots\"),\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.articleCards\", {\r\n _create: function () {\r\n this.wrap = this.element;\r\n this._initSlick();\r\n },\r\n\r\n _initSlick() {\r\n this.wrap.slick({\r\n lazyLoad: \"progressive\",\r\n edgeFriction: api.vars.slick.edgeFriction,\r\n infinite: false,\r\n arrows: true,\r\n dots: false,\r\n rows: 0,\r\n appendArrows: this.wrap\r\n .parents(\".s-carousel-article__wrp\")\r\n .find(\".carousel_arrows\"),\r\n slidesToShow: 1,\r\n slidesToScroll:1,\r\n variableWidth: false,\r\n responsive: [\r\n {\r\n breakpoint: api.vars.scr.tablet,\r\n settings: {\r\n dots: false,\r\n variableWidth: true,\r\n },\r\n },\r\n ],\r\n });\r\n\r\n //console.log('item',this.wrap.attr('data-scrollItems'))\r\n\r\n this.wrap.on(\"beforeChange\", (slick, currentSlide, nextSlide) => {\r\n this.wrap.find(\"[data-src]\").lazy();\r\n });\r\n\r\n // this.wrap.on('afterChange', function(event, slick, currentSlide, nextSlide){\r\n // if(currentSlide != 0){\r\n // $('.s-carousel-article__wrp').addClass('opacityLeft')\r\n // }\r\n // else{\r\n // $('.s-carousel-article__wrp').removeClass('opacityLeft')\r\n // }\r\n // });\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.headerDesktop\", {\r\n options: {},\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this._iniVars();\r\n\r\n this._createLine();\r\n\r\n this._toShowSubMenu(this.activeMainMenu, 0);\r\n\r\n this._iniMainMenu();\r\n\r\n this._iniSubMenu();\r\n\r\n this._iniMegaMenu();\r\n\r\n this._iniSideMenu();\r\n\r\n this._inactiveLinks();\r\n\r\n this._showIconsLabel();\r\n\r\n this._resetInactiveLnks();\r\n\r\n this._closeSubmenu();\r\n this._onMegaMenu();\r\n this._resetMegaMenuActiveItem();\r\n this._setArrowLnk();\r\n\r\n this.wrap.find(\".btn--close\").on(\"click\", () => {\r\n this._hideMegaMenu();\r\n this._resetInactiveLnks();\r\n });\r\n },\r\n\r\n _iniVars() {\r\n // delays\r\n this.delayMainMenuReset = 1000;\r\n this.delaySubMenuReset = 1000;\r\n this.delayShowSubMenu = 200;\r\n this.delayMegaMenuReset = 1000;\r\n this.delaySideMenuReset = 1000;\r\n this.delayShowSideMenu = 200;\r\n this.delayShowMegaMenu = 500;\r\n\r\n //hover timers\r\n this.mainMenuTimer = 0;\r\n this.subMenuTimer = 0;\r\n this.megaMenuTimer = 0;\r\n this.showMegaMenuTimer = 0;\r\n this.sideMenuTimer = 0;\r\n\r\n this.timerResetDefault = 0;\r\n\r\n this.menuItems = this.wrap.find(\".header__menu__item\");\r\n this.activeMainMenu = this.wrap.find(\".header__menu .active a\");\r\n\r\n this.subMenu = this.wrap.find(\".header__sub\");\r\n this.subMenuItems = this.subMenu.find(\".header__sub__item\");\r\n this.activeSubMenu = this.subMenu.find(\".active a\");\r\n this.subLine = null;\r\n\r\n this.megaMenu = this.wrap.find(\".header__mega\");\r\n this.megaMenuItems = this.megaMenu.find(\".header__mega__items\");\r\n this.megaMenuItem = this.megaMenu.find(\".header__mega__item\");\r\n this.megaMenuLinks = this.megaMenu.find(\r\n \".header__mega__col .header__mega__item\"\r\n );\r\n this.megaMenuLinksParent = this.megaMenu.find(\".header__mega__items li\");\r\n },\r\n\r\n _createLine() {\r\n this.subLine = $('
').appendTo(\r\n this.subMenu\r\n );\r\n },\r\n\r\n _moveLine() {\r\n var actSubMenu = this.subMenu.find(\"li.active:visible\");\r\n if (actSubMenu.length) {\r\n this.subLine.css({\r\n transform: `translateX(${actSubMenu.offset().left}px)`,\r\n width: actSubMenu.outerWidth(),\r\n });\r\n } else {\r\n this.subLine.css({\r\n width: 0,\r\n });\r\n }\r\n },\r\n\r\n /* #region main menu and submenu */\r\n _iniMainMenu() {\r\n this.menuItems\r\n .on(\"mouseover focus\", (e) => {\r\n var item = $(e.target);\r\n\r\n api.accessibilities.ARIA_toggleContent(this.menuItems, false);\r\n api.accessibilities.ARIA_toggleContent(item, true);\r\n\r\n clearTimeout(this.mainMenuTimer);\r\n clearTimeout(this.megaMenuTimer);\r\n clearTimeout(this.timerResetDefault);\r\n\r\n this._hideMegaMenu();\r\n\r\n this._setActiveMainMenu(item);\r\n\r\n if (item.attr(\"aria-haspopup\") === \"true\") {\r\n this.subMenu.show();\r\n this._toShowSubMenu(item, this.delayShowSubMenu);\r\n\r\n this._resetSubMenu();\r\n\r\n this._moveLine();\r\n } else {\r\n $(\".header__sub__items\", this.subMenu).removeClass(\"active\").hide();\r\n\r\n this.subMenu.hide();\r\n }\r\n })\r\n .on(\"mouseout\", (e) => {\r\n var item = $(e.target);\r\n\r\n this.timerResetDefault = setTimeout(() => {\r\n this._resetToDefault();\r\n }, 1000);\r\n\r\n this._toResetMainMenu();\r\n this._toHideMegaMenu();\r\n });\r\n },\r\n\r\n _resetToDefault() {\r\n if (\r\n $(\".header__menu li.main-active a\", this.wrap).attr(\"aria-haspopup\") ===\r\n \"true\"\r\n ) {\r\n this.subMenu.show();\r\n } else {\r\n this.subMenu.hide();\r\n }\r\n },\r\n\r\n _removeActiveMainMenu() {\r\n this.menuItems.parent().removeClass(\"active\");\r\n },\r\n\r\n _setActiveMainMenu(lnk) {\r\n this._removeActiveMainMenu();\r\n lnk.parent().addClass(\"active\");\r\n },\r\n\r\n _toResetMainMenu() {\r\n this.mainMenuTimer = setTimeout(() => {\r\n this._resetMainMenu();\r\n }, this.delayMainMenuReset);\r\n },\r\n\r\n _resetMainMenu() {\r\n this._setActiveMainMenu(this.activeMainMenu);\r\n this._toShowSubMenu(this.activeMainMenu, 0);\r\n\r\n api.accessibilities.ARIA_toggleContent(this.menuItems, false);\r\n api.accessibilities.ARIA_toggleContent(this.activeMainMenu, true);\r\n },\r\n\r\n _toShowSubMenu(item, delay) {\r\n if (item.attr(\"aria-haspopup\") === \"true\") {\r\n var activeSubMenu = $(`#${item.attr(\"aria-controls\")}`);\r\n\r\n this.mainMenuTimer = setTimeout(() => {\r\n this._showSubMenu(activeSubMenu);\r\n }, delay);\r\n }\r\n },\r\n\r\n _showSubMenu(activeSubMenu) {\r\n $(\".header__sub__items\", this.subMenu)\r\n .not(activeSubMenu)\r\n .removeClass(\"active\")\r\n .hide();\r\n activeSubMenu.show();\r\n\r\n setTimeout(() => {\r\n activeSubMenu.addClass(\"active\");\r\n setTimeout(() => {\r\n this._moveLine();\r\n }, 100);\r\n }, 10);\r\n },\r\n\r\n /* #endregion */\r\n\r\n /* #region submenu */\r\n _iniSubMenu() {\r\n this.subMenu\r\n .on(\"mouseover focus\", (e) => {\r\n var item = $(e.target);\r\n\r\n clearTimeout(this.mainMenuTimer);\r\n clearTimeout(this.megaMenuTimer);\r\n clearTimeout(this.subMenuTimer);\r\n clearTimeout(this.timerResetDefault);\r\n })\r\n .on(\"mouseout\", (e) => {\r\n this._toResetMainMenu();\r\n this._toResetSubMenu();\r\n this._toHideMegaMenu();\r\n });\r\n },\r\n\r\n _setActiveSubMenu(lnk) {\r\n this._removeActiveSubMenu();\r\n this._addInactiveSubMenu(lnk);\r\n lnk.parent().removeClass(\"inactive\").addClass(\"active\");\r\n this._moveLine();\r\n },\r\n\r\n _removeActiveSubMenu() {\r\n this.subMenuItems.parent().removeClass(\"active\");\r\n this._moveLine();\r\n },\r\n\r\n _addInactiveSubMenu(lnk) {\r\n this.subMenuItems.not(lnk).parent().addClass(\"inactive\");\r\n },\r\n\r\n _toResetSubMenu() {\r\n this.subMenuTimer = setTimeout(() => {\r\n this._resetSubMenu();\r\n }, this.delaySubMenuReset);\r\n },\r\n\r\n _resetSubMenu() {\r\n this._setActiveSubMenu(this.activeSubMenu);\r\n this.subMenuItems.parent().removeClass(\"inactive\");\r\n },\r\n /* #endregion */\r\n\r\n /* #region megaMenu */\r\n _iniMegaMenu() {\r\n this.subMenuItems\r\n .on(\"mouseover focus\", (e) => {\r\n var item = $(e.target);\r\n\r\n clearTimeout(this.mainMenuTimer);\r\n clearTimeout(this.megaMenuTimer);\r\n clearTimeout(this.subMenuTimer);\r\n clearTimeout(this.showMegaMenuTimer);\r\n\r\n api.accessibilities.ARIA_toggleContent(this.subMenuItems, false);\r\n api.accessibilities.ARIA_toggleContent(item, true);\r\n\r\n this._subRemoveActive();\r\n\r\n this._hideSideMenu();\r\n\r\n this._setActiveSubMenu(item);\r\n\r\n this._toShowMegaMenu(item);\r\n })\r\n .on(\"mouseout\", (e) => {\r\n var item = $(e.target);\r\n });\r\n\r\n this.megaMenu\r\n .on(\"mouseover\", (e) => {\r\n clearTimeout(this.mainMenuTimer);\r\n clearTimeout(this.megaMenuTimer);\r\n clearTimeout(this.subMenuTimer);\r\n clearTimeout(this.showMegaMenuTimer);\r\n })\r\n .on(\"mouseout\", (e) => {\r\n this._toHideMegaMenu();\r\n });\r\n },\r\n\r\n _toShowMegaMenu(item, delay) {\r\n if (item.attr(\"aria-haspopup\") === \"true\") {\r\n var activeMegaMenu = $(`#${item.attr(\"aria-controls\")}`);\r\n\r\n if (activeMegaMenu.length) {\r\n this.showMegaMenuTimer = setTimeout(() => {\r\n this._showMegaMenu(activeMegaMenu);\r\n }, this.delayShowMegaMenu);\r\n } else {\r\n this._hideMegaMenu();\r\n }\r\n }\r\n },\r\n\r\n _showMegaMenu(activeMegaMenu) {\r\n if (this.megaMenu.hasClass(\"active\")) {\r\n this.megaMenu.show();\r\n this.wrap.addClass(\"mega-menu-opened\");\r\n this._showMegaMenuItem(activeMegaMenu);\r\n $(\"html, body\").addClass(\"noscroll-desktops\");\r\n } else {\r\n this._showMegaMenuItem(activeMegaMenu);\r\n this.megaMenu.slideDown(250, \"linear\", () => {\r\n this.megaMenu.addClass(\"active\");\r\n this.wrap.addClass(\"mega-menu-opened\");\r\n $(\"html, body\").addClass(\"noscroll-desktops\");\r\n });\r\n }\r\n },\r\n\r\n _showMegaMenuItem(activeMegaMenu) {\r\n this._hideMegaMenuItems(activeMegaMenu);\r\n activeMegaMenu.show();\r\n },\r\n\r\n _hideMegaMenuItems(activeMegaMenu) {\r\n this.megaMenuItems.not(activeMegaMenu).hide();\r\n $(\"html, body\").removeClass(\"noscroll-desktops\");\r\n },\r\n\r\n _toHideMegaMenu() {\r\n clearTimeout(this.showMegaMenuTimer);\r\n this.megaMenuTimer = setTimeout(() => {\r\n this._hideMegaMenu();\r\n }, 0);\r\n },\r\n\r\n _hideMegaMenu() {\r\n this._hideMegaMenuItems();\r\n this.megaMenu.removeClass(\"active\").hide();\r\n this.wrap.removeClass(\"mega-menu-opened\");\r\n api.accessibilities.ARIA_toggleContent(this.subMenuItems, false);\r\n },\r\n /* #endregion */\r\n\r\n /* #region megaMenu */\r\n _iniSideMenu() {\r\n this.megaMenuLinks\r\n .on(\"mouseover\", (e) => {\r\n var item = $(e.target);\r\n\r\n clearTimeout(this.mainMenuTimer);\r\n clearTimeout(this.megaMenuTimer);\r\n clearTimeout(this.subMenuTimer);\r\n clearTimeout(this.sideMenuTimer);\r\n\r\n this._subAddActive(item);\r\n\r\n this._toShowSideMenu(item, this.delayShowSideMenu);\r\n })\r\n .on(\"mouseout\", (e) => {\r\n var item = $(e.target);\r\n });\r\n },\r\n\r\n _inactiveLinks() {\r\n this.megaMenuItem\r\n .on(\"mouseover\", (e) => {\r\n var item = $(e.target);\r\n\r\n var li = item.parents(\"li\");\r\n\r\n if (li.hasClass(\"inActive\")) {\r\n li.removeClass(\"inActive\");\r\n }\r\n\r\n item.parents(\"ul\").find(\"li\").not(li).addClass(\"inActive\");\r\n })\r\n .on(\"mouseout\", (e) => {\r\n var item = $(e.target);\r\n });\r\n },\r\n _resetInactiveLnks() {\r\n this.megaMenuLinksParent.removeClass(\"inActive\");\r\n\r\n this.wrap\r\n .find(\".header__top\")\r\n .on(\"mouseover\", (e) => {\r\n this.megaMenuLinksParent.removeClass(\"inActive , active\");\r\n })\r\n .on(\"mouseout\", (e) => {});\r\n },\r\n\r\n _subAddActive(item) {\r\n this._subRemoveActive();\r\n var parent = item.parents(\".header__mega__col\");\r\n if (parent.length) {\r\n item.addClass(\"active\");\r\n }\r\n },\r\n\r\n _subRemoveActive(item) {\r\n this.megaMenu.find(\".header__mega__col .active\").removeClass(\"active\");\r\n },\r\n\r\n _toShowSideMenu(item, delay) {\r\n if (item.attr(\"aria-haspopup\") === \"true\") {\r\n var activeSideMenu = $(`#${item.attr(\"aria-controls\")}`);\r\n\r\n if (activeSideMenu.length === 1) {\r\n $(this).addClass(\"arrow\");\r\n }\r\n\r\n console.log(\"activeSideMenu\", activeSideMenu, activeSideMenu.length);\r\n\r\n this.sideMenuTimer = setTimeout(() => {\r\n this._showSideMenu(activeSideMenu);\r\n }, delay);\r\n } else {\r\n this._hideSideMenu();\r\n }\r\n },\r\n\r\n _setArrowLnk: function () {\r\n var items = this.megaMenu.find(\".header__mega__li-link a\");\r\n\r\n items.each(function () {\r\n var item = $(this);\r\n var controls = item.attr(\"aria-controls\");\r\n\r\n if (controls !== undefined) {\r\n $(this).addClass(\"arrow\");\r\n }\r\n });\r\n },\r\n\r\n _showSideMenu(activeSideMenu) {\r\n this._hideSideMenu();\r\n activeSideMenu.parents(\".header__mega__side\").addClass(\"active\");\r\n activeSideMenu.show();\r\n },\r\n\r\n _hideSideMenu() {\r\n $(\".header__mega__side__item\", this.megaMenu).hide();\r\n $(\".header__mega__side\", this.megaMenu).removeClass(\"active\");\r\n },\r\n\r\n _showIconsLabel() {\r\n var items = $(\".header__tools__anim\", this.wrap);\r\n\r\n items.each(function () {\r\n $(this).mouseenter(function () {\r\n $(this).addClass(\"expand\");\r\n $(this).find(\"a:first-child\").addClass(\"blue\");\r\n });\r\n\r\n $(this).mouseleave(function () {\r\n $(this).removeClass(\"expand\");\r\n $(this).find(\"a:first-child\").removeClass(\"blue\");\r\n });\r\n });\r\n },\r\n\r\n /* #endregion */\r\n\r\n _closeSubmenu() {\r\n $(\".header__sub\", this.wrap).mouseleave(function () {\r\n if (\r\n $(\"li.main-active a\", this.wrap).attr(\"aria-haspopup\") === \"false\"\r\n ) {\r\n $(\".header__sub\", this.wrap).hide();\r\n\r\n $(\".header__menu li\", this.wrap).removeClass(\"active\");\r\n // $(\".header__sub__items\", this.subMenu).removeClass(\"active\");\r\n } else {\r\n $(\".header__sub\", this.wrap).show();\r\n }\r\n });\r\n },\r\n\r\n _onMegaMenu() {\r\n $(\".header__mega__conts\", this.wrap).mouseenter(function () {\r\n $(\".header__sub\", this.wrap).show();\r\n });\r\n },\r\n\r\n _resetMegaMenuActiveItem() {\r\n $(\".header__sub\", this.wrap).mouseover(function () {\r\n // $(\"header__mega__item\", this.wrap).removeClass(\"active\");\r\n\r\n $(\".header__mega__li-link\", this.wrap).removeClass(\"inActive\");\r\n });\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.headerScroll\", {\r\n options: {},\r\n\r\n _create: function () {\r\n this.header = this.element;\r\n\r\n this.timeout = 0\r\n this.didScroll;\r\n this.lastScrollTop = 0;\r\n this.navbarHeight = this.header.outerHeight();\r\n this.delta = this.navbarHeight / 2;\r\n \r\n $(window).scroll((event) =>{\r\n //clearTimeout(this.timeout)\r\n this.didScroll = true;\r\n \r\n setTimeout(()=>{\r\n if (this.didScroll) {\r\n this._hasScrolled();\r\n this.didScroll = false;\r\n }\r\n }, 250)\r\n }); \r\n \r\n },\r\n\r\n _hasScrolled() {\r\n var st = $(window).scrollTop();\r\n\r\n \r\n // Make sure they scroll more than delta\r\n if(Math.abs(this.lastScrollTop - st) <= this.delta)\r\n return;\r\n\r\n if (st > this.lastScrollTop && st > this.navbarHeight){\r\n this.header.removeClass('nav-down').addClass('nav-up');\r\n } else {\r\n // Scroll Up\r\n if(st + $(window).height() < $(document).height()) {\r\n this.header.removeClass('nav-up').addClass('nav-down');\r\n }\r\n } \r\n this.lastScrollTop = st;\r\n }\r\n\r\n \r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n(function ($) {\r\n jQuery.widget(\"nsp.asideMenu\", {\r\n options: {},\r\n _setOption: function (key, value) {\r\n this.options[key] = value;\r\n this._update();\r\n },\r\n _create: function () {\r\n this._iniVars();\r\n\r\n this._stickyMenu();\r\n\r\n if (!this.onlySticky) {\r\n this._scrollOnClick();\r\n\r\n setTimeout(() => {\r\n this._checkActiveSection();\r\n }, 100);\r\n\r\n $(window).on(\"scroll\", () => {\r\n this._checkActiveSection();\r\n });\r\n }\r\n },\r\n\r\n _iniVars: function () {\r\n this.wrap = this.element;\r\n this.onlySticky = this.wrap.hasClass(\"only-sticky\") ? true : false;\r\n this.ul = $(\"ul\", this.wrap);\r\n this.liItems = $(\"li\", this.wrap);\r\n this.hrefs = $(\"ul li a\", this.wrap);\r\n },\r\n\r\n _scrollOnClick: function () {\r\n if (!this.onlySticky) {\r\n this.hrefs.on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n $(document).off(\"scroll\");\r\n\r\n var target = this.hash,\r\n target = $(target);\r\n\r\n $(\"html, body\")\r\n .stop()\r\n .animate(\r\n {\r\n scrollTop: target.offset().top - 100,\r\n },\r\n 600,\r\n \"swing\"\r\n );\r\n });\r\n }\r\n },\r\n\r\n _checkActiveSection: function () {\r\n if (!this.onlySticky) {\r\n var menu_pos =\r\n this.element.offset().top + this.element.scrollTop() + 40;\r\n\r\n var sections = $(\".s-hr__section\");\r\n\r\n sections.each(function () {\r\n if (menu_pos >= $(this).offset().top) {\r\n var activeId = $(this).attr(\"id\");\r\n var activeHref = $('a[href=\"#' + activeId + '\"]');\r\n var activeLi = activeHref.parent();\r\n\r\n $(\".b-aside-menu li a\").removeClass(\"active\");\r\n\r\n activeHref.addClass(\"active\");\r\n }\r\n });\r\n }\r\n },\r\n\r\n _stickyMenu: function () {\r\n this.element.stick_in_parent({\r\n offset_top: api.fn.getHeaderHeight(),\r\n });\r\n },\r\n });\r\n})(jQuery);\r\n\n/// \r\n\r\n\r\n;(function ($) {\r\n\r\n $.widget(\"nsp.searchresultsCarousel\", {\r\n options: {\r\n },\r\n\r\n _create: function () {\r\n this.wrap = this.element;\r\n \r\n\r\n $(document).on(\"window-resized\", ()=> {\r\n this.iniSlick();\r\n })\r\n\r\n this.iniSlick();\r\n },\r\n\r\n iniSlick: function () { \r\n \r\n if (api.vars.windW <= 836) { \r\n if (!this.wrap.hasClass('slick-initialized')) {\r\n this.wrap.slick({\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: false,\r\n arrows: false,\r\n infinite: false,\r\n variableWidth: true \r\n });\r\n \r\n }\r\n } \r\n else {\r\n if (this.wrap.hasClass('slick-initialized')) {\r\n this.wrap.slick('unslick');\r\n }\r\n }\r\n\r\n } \r\n\r\n });\r\n})(jQuery);\n/// \r\n\r\n\r\n;(function ($) {\r\n\r\n $.widget(\"nsp.breadcrumb\", {\r\n options: {},\r\n\r\n _create: function () {\r\n\r\n if($('html').hasClass(\"no-touchevents\")){\r\n this._init()\r\n }\r\n\r\n },\r\n\r\n _init(){\r\n this.wrap = this.element;\r\n this.mover = $('ul', this.wrap);\r\n this.windowW = this._getWindowWidth()\r\n\r\n this._resetPosition()\r\n this._checkIfActive();\r\n\r\n\r\n $(document).on(\"window-resized\", ()=>{\r\n var newWindowW = this._getWindowWidth()\r\n\r\n if(this.windowW != newWindowW){\r\n this.windowW = this._getWindowWidth()\r\n this._resetPosition()\r\n this._checkIfActive();\r\n }\r\n \r\n });\r\n\r\n this._events();\r\n },\r\n\r\n _events() {\r\n\r\n var offsetX = 0;\r\n var isDown = false;\r\n $('.s-breadcrumb__conts')[0].addEventListener('mousedown', (e) => {\r\n isDown = true;\r\n offsetX = this.mover[0].offsetLeft - e.clientX;\r\n \r\n }, true);\r\n\r\n document.addEventListener('mouseup', (e) => {\r\n isDown = false;\r\n }, true);\r\n\r\n document.addEventListener('mousemove', (e) => {\r\n //event.preventDefault();\r\n if (isDown) {\r\n var finalX = e.clientX + offsetX\r\n this._moveOverlay(finalX)\r\n }\r\n }, true);\r\n\r\n },\r\n\r\n _checkIfActive() {\r\n var moverW = this.mover[0].scrollWidth;\r\n var parentW = this.mover.parent().outerWidth();\r\n\r\n if (moverW + this.margL > parentW) {\r\n this.wrap.removeClass('not-active').addClass('movable')\r\n return true\r\n } else {\r\n this.wrap.addClass('not-active').removeClass('movable')\r\n return false\r\n }\r\n },\r\n\r\n _moveOverlay(finalX) {\r\n\r\n if (this._checkIfActive()) {\r\n\r\n finalX = finalX <= 0 ? finalX : 0;\r\n var moverW = this.mover[0].scrollWidth;\r\n var parentW = this.mover.parent().outerWidth();\r\n var minX = - moverW - this.margL - 50 + parentW\r\n finalX = finalX >= minX ? finalX : minX\r\n \r\n this.mover.css('left', `${finalX}px`)\r\n }\r\n\r\n },\r\n\r\n _getWindowWidth() {\r\n return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\r\n },\r\n\r\n _resetPosition(){\r\n this.mover.css('left', 0)\r\n this.margL = this.mover.offset().left;\r\n }\r\n\r\n });\r\n})(jQuery);\n/// \r\n\r\n(function ($) {\r\n $.widget(\"nsp.partnerCarousel\", {\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n this._createDotContainer();\r\n\r\n this._initSlick();\r\n },\r\n\r\n _initSlick() {\r\n this.wrap.slick({\r\n edgeFriction: 0,\r\n infinite: false,\r\n arrows: true,\r\n dots: false,\r\n rows: 0,\r\n variableWidth: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n appendArrows: this.wrap\r\n .parents(\".s-partner__wrp\")\r\n .find(\".carousel_arrows\"),\r\n responsive: [\r\n {\r\n breakpoint: api.vars.scr.tablet - 1,\r\n settings: {\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n });\r\n\r\n this.wrap.on(\"edge\", (evt, fn, by) => {});\r\n\r\n this.wrap.on(\"beforeChange\", (slick, currentSlide, nextSlide) => {\r\n this.wrap.find(\"[data-src]\").lazy();\r\n\r\n console.log(\"nextSlide\", nextSlide);\r\n });\r\n },\r\n\r\n _createDotContainer() {\r\n $('
').insertBefore(this.wrap);\r\n },\r\n });\r\n})(jQuery);\r\n\n(function ($) {\r\n $.widget(\"nsp.contactMap\", {\r\n _create: function () {\r\n this.wrap = this.element;\r\n\r\n if (window.googleReady) {\r\n this._initContactMap();\r\n } else {\r\n document.addEventListener(\"google-map-ready\", (event) => {\r\n this._initContactMap();\r\n });\r\n }\r\n },\r\n\r\n _initContactMap: function () {\r\n var mapIcon =\r\n window.locationData[0].mapIcon !== \"undefined\"\r\n ? window.locationData[0].mapIcon\r\n : \"\";\r\n var data = window.locationData !== \"undefined\" ? window.locationData : [];\r\n var mapStyles =\r\n window.optionsStylesMap.data !== \"undefined\"\r\n ? window.optionsStylesMap.data\r\n : {};\r\n\r\n if (data != null) {\r\n var map = new google.maps.Map(document.getElementById(\"map\"), {\r\n zoom: 15,\r\n center: new google.maps.LatLng(data[0].latitude, data[0].longitude),\r\n mapTypeId: google.maps.MapTypeId.ROADMAP,\r\n styles: mapStyles,\r\n });\r\n\r\n //var infowindow = new google.maps.InfoWindow();\r\n var marker, i;\r\n\r\n for (i = 0; i < data.length; i++) {\r\n marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(\r\n data[i].latitude,\r\n data[i].longitude\r\n ),\r\n map: map,\r\n icon: mapIcon,\r\n });\r\n }\r\n }\r\n },\r\n });\r\n})(jQuery);\r\n\n(function ($) {\r\n\r\n api.accessibilities = {\r\n \r\n ARIA_toggleContent: function (obj, bool) {\r\n\t\t\t$(obj).attr({'aria-expanded':bool});\r\n\t\t},\r\n\r\n\t\tAria_controls: function (obj, controlObjId) {\r\n\t\t\t$(obj).attr('aria-controls', controlObjId);\r\n\t\t},\r\n\r\n\t\taria_slick_arrows: function(wrap){\r\n\t\t\twrap.find('.slick-prev').attr('aria-label', \"previous slide\")\r\n\t\t\twrap.find('.slick-next').attr('aria-label', \"next slide\")\r\n\t\t}\r\n\r\n }\r\n\r\n})(jQuery);\n/// \r\n/// \r\n\r\n(function ($) {\r\n api.fn = {\r\n getWindDims: function () {\r\n var dims = api.fn.viewport();\r\n api.vars.windW = dims.width;\r\n api.vars.windH = dims.height;\r\n\r\n api.vars.is = api.fn.is();\r\n\r\n //console.log(\"resp:\", resp)\r\n\r\n // console.log(\"is\", api.vars.is)\r\n },\r\n\r\n is: function () {\r\n if (api.vars.windW < api.vars.scr.tablet) {\r\n return \"phone\";\r\n } else if (api.vars.windW < api.vars.scr.desktop) {\r\n return \"tablet\";\r\n }\r\n return \"desktop\";\r\n },\r\n\r\n checkTouchDevice: function () {\r\n api.isTouch = $(\"html\").hasClass(\"touchevents\");\r\n },\r\n\r\n checkFontsIconsLoad: function () {\r\n if (document.documentElement.className.indexOf(\"font-icons-loaded\") > -1) {\r\n return;\r\n }\r\n var fontIcons = new FontFaceObserver(\"icons\", {\r\n weight: 400\r\n });\r\n\r\n fontIcons.load(null, 15000).then(function () {\r\n document.documentElement.className += \" font-icons-loaded\";\r\n }, function () {\r\n document.documentElement.className += \" font-icons-loaded\";\r\n });\r\n },\r\n\r\n disableBodyScroll: function () {\r\n var scrollTop = $(window).scrollTop();\r\n\r\n api.winTopMemory = scrollTop;\r\n\r\n $(\"body\").css({\r\n position: \"fixed\",\r\n width: \"100%\",\r\n top: -scrollTop,\r\n });\r\n $(\"html, body\").addClass(\"scrollDisabled\");\r\n },\r\n\r\n enableBodyScroll: function () {\r\n $(\"body\").css({\r\n position: \"static\",\r\n top: \"auto\",\r\n });\r\n $(window).scrollTop(api.winTopMemory);\r\n $(\"html, body\").removeClass(\"scrollDisabled\");\r\n },\r\n\r\n onEnterTriggerBtn: function () {\r\n $(\".triggerEnter\").on(\"keydown\", function (e) {\r\n var inpt = $(this);\r\n var code = e.keyCode ? e.keyCode : e.which;\r\n if (code === 13) {\r\n var btnId = inpt.data(\"triggerbtn\");\r\n $(\"#\" + btnId).trigger(\"click\");\r\n return false;\r\n }\r\n });\r\n },\r\n\r\n setAnchors: function () {\r\n $(\".anchorLnk\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n\r\n var lnk = $(this);\r\n var target = $(lnk.attr(\"href\"));\r\n if (target.length) api.fn.moveWindowToObj(target);\r\n });\r\n },\r\n\r\n toFocus: function (slc) {\r\n $(\".toFocus\").on(\"touchstart\", function () {\r\n $(this).focus();\r\n });\r\n },\r\n\r\n toFocusThis: function (obj) {\r\n $(obj).on(\"touchstart\", function () {\r\n $(this).focus();\r\n });\r\n },\r\n\r\n focusfix: function (selector, className) {\r\n $(selector).focus(function () {\r\n $(this).addClass(className);\r\n });\r\n // Removes class when focus is lost\r\n $(selector).blur(function () {\r\n $(this).removeClass(className);\r\n });\r\n },\r\n\r\n viewport: function () {\r\n var e = window,\r\n a = \"inner\";\r\n if (!(\"innerWidth\" in window)) {\r\n a = \"client\";\r\n e = document.documentElement || document.body;\r\n }\r\n return { width: e[a + \"Width\"], height: e[a + \"Height\"] };\r\n },\r\n\r\n onEscTriggerReset: function () {\r\n function resetTxt(btn) {\r\n var txtId = btn.data(\"textreset\");\r\n $(\"#\" + txtId).val(\"\");\r\n btn.hide();\r\n }\r\n\r\n var txtId = $(\".resetTxtBtn\").data(\"textreset\");\r\n if ($(\"#\" + txtId).val() === \"\") {\r\n //$('.resetTxtBtn').hide();\r\n }\r\n\r\n $(\".resetTxtBtn\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n var btn = $(this);\r\n resetTxt(btn);\r\n return false;\r\n });\r\n\r\n $(\".resetEsc\").on(\"keydown\", function (e) {\r\n var inpt = $(this);\r\n var btnId = inpt.data(\"triggerreset\");\r\n var btn = $(\"#\" + btnId);\r\n btn.show();\r\n var code = e.keyCode ? e.keyCode : e.which;\r\n if (code === 27) {\r\n btn.trigger(\"click\");\r\n //resetTxt(btn);\r\n return false;\r\n }\r\n });\r\n },\r\n\r\n /*-- PRELOADER REPLACING BUTTONS : START --*/\r\n iniPostPreloader: function (selector, ToPrepend) {\r\n function getBtnSize(btn) {\r\n return {\r\n w: btn.outerWidth(),\r\n h: btn.outerHeight(),\r\n };\r\n }\r\n\r\n var btn = $(selector);\r\n var btnDisplay = btn.css(\"display\");\r\n var btnSizes = getBtnSize(btn);\r\n var btnWrap = btn.parent();\r\n btn.hide();\r\n var prel = $(\r\n '
'\r\n );\r\n\r\n if (ToPrepend) {\r\n prel.insertBefore(btn);\r\n } else {\r\n prel.insertAfter(btn);\r\n }\r\n\r\n $(window).on(\"resize.preloader\", function () {\r\n var btn = prel.prev();\r\n btn.show();\r\n btnSizes = getBtnSize(btn);\r\n prel.css({\r\n width: btnSizes.w,\r\n height: btnSizes.h,\r\n });\r\n btn.hide();\r\n });\r\n },\r\n\r\n removePostPreloader: function (selector) {\r\n var btn = $(selector);\r\n var btnWrap = btn.parent();\r\n $(window).off(\"resize.preloader\");\r\n btnWrap.find(\".btnPreloader\").remove();\r\n btn.show();\r\n },\r\n /*-- PRELOADER REPLACING BUTTONS : END --*/\r\n\r\n getData: function (obj, datastr, defVal) {\r\n var str = \"\";\r\n if (typeof defVal !== \"undefined\") str = defVal;\r\n if (typeof obj.data(datastr) !== \"undefined\")\r\n str = obj.data(datastr);\r\n return str;\r\n },\r\n\r\n shuffle: function (o) {\r\n for (\r\n var j, x, i = o.length;\r\n i;\r\n j = parseInt(Math.random() * i),\r\n x = o[--i],\r\n o[i] = o[j],\r\n o[j] = x\r\n );\r\n return o;\r\n },\r\n\r\n /*-- Print Specified Element by Id --*/\r\n printPage: function (id, pageTitle) {\r\n pageTitle = pageTitle ? pageTitle : \"\";\r\n var html =\r\n \"\" +\r\n pageTitle +\r\n \"\";\r\n html += document.getElementById(id).innerHTML;\r\n html += \"\";\r\n var printWin = window.open(\r\n \"\",\r\n \"\",\r\n \"left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status=0\"\r\n );\r\n printWin.document.write(html);\r\n printWin.document.close();\r\n printWin.focus();\r\n printWin.print();\r\n printWin.close();\r\n },\r\n\r\n getHeaderHeight: function () {\r\n return $(\".header\").outerHeight();\r\n },\r\n\r\n moveWindowToObj: function (obj, offset, callback) {\r\n var windowscrollTop = $(window).scrollTop();\r\n offset = !offset ? 0 : offset;\r\n var objToPos = 0;\r\n if (obj.is(\":hidden\")) {\r\n obj.show();\r\n objToPos = $(obj).offset();\r\n obj.hide();\r\n } else {\r\n objToPos = $(obj).offset();\r\n }\r\n\r\n var headerH = api.fn.getHeaderHeight();\r\n headerH = headerH ? headerH : 0\r\n\r\n $(\"html,body\").clearQueue();\r\n $(\"html,body\").stop();\r\n $(\"html,body\")\r\n .stop()\r\n .animate(\r\n { scrollTop: objToPos.top + offset - headerH },\r\n 400,\r\n function () {\r\n if (callback) {\r\n if (typeof callback === \"function\") {\r\n callback();\r\n }\r\n }\r\n }\r\n );\r\n },\r\n\r\n moveWindowToScrollPoint: function (scrlPoint, callback) {\r\n $(\"html,body\").clearQueue();\r\n $(\"html,body\").stop();\r\n $(\"html,body\")\r\n .stop()\r\n .animate({ scrollTop: scrlPoint.top }, 400, function () {\r\n if (callback) {\r\n if (typeof callback === \"function\") {\r\n callback();\r\n }\r\n }\r\n });\r\n },\r\n\r\n getQueryByName: function (name) {\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n results = regex.exec(location.search);\r\n return results === null\r\n ? \"\"\r\n : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n },\r\n\r\n mediaQueryCallbacks: function (\r\n devicesToWatch /* ['desktop', 'tablet', 'phone'] */,\r\n matchCallback,\r\n unmatchCallback\r\n ) {\r\n var mediaMatch = false;\r\n\r\n var mediaIs = api.vars.is; //.split(\" \");\r\n\r\n for (var i = 0; i < devicesToWatch.length; i++) {\r\n if (mediaIs.indexOf(devicesToWatch[i]) >= 0) {\r\n mediaMatch = true;\r\n }\r\n }\r\n\r\n if (mediaMatch) {\r\n if (matchCallback && typeof matchCallback() === \"function\") {\r\n matchCallback();\r\n }\r\n } else {\r\n if (\r\n unmatchCallback &&\r\n typeof unmatchCallback() === \"function\"\r\n ) {\r\n unmatchCallback();\r\n }\r\n }\r\n\r\n return mediaMatch;\r\n },\r\n\r\n checkForYouTube: function () {\r\n api.vars.youtubeSelectors = $(\".for_youtube\");\r\n\r\n if (api.vars.youtubeSelectors.length) {\r\n api.fn.addYouTubeApi();\r\n }\r\n },\r\n\r\n addYouTubeApi: function () {\r\n if (!api.fn.youtube_addedScriptToHead) {\r\n api.fn.youtube_addedScriptToHead = true;\r\n\r\n var tag = document.createElement(\"script\");\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName(\"script\")[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n }\r\n },\r\n\r\n recaptchaLoaded: function () {\r\n api.vars.recaptchaReady = true;\r\n $(document).trigger(\"recaptcha-loaded\");\r\n },\r\n\r\n getScrollPosition: function () {\r\n var doc = document.documentElement;\r\n var pos = {};\r\n pos.left =\r\n (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\r\n pos.top =\r\n (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\r\n return pos;\r\n },\r\n\r\n getDate: function (element) {\r\n var date;\r\n try {\r\n date = $.datepicker.parseDate(\r\n api.vars.datepicker.dateFormat,\r\n element.value\r\n );\r\n } catch (error) {\r\n date = null;\r\n }\r\n return date;\r\n },\r\n\r\n youtube_embed: function () {\r\n function createEmbed(parent) {\r\n var youtube_embed = $(\".youtube_embed\", parent);\r\n\r\n var vId = api.fn.getData(youtube_embed, \"vid\", false);\r\n\r\n if (vId) {\r\n $(\r\n ''\r\n ).appendTo(youtube_embed);\r\n }\r\n }\r\n\r\n $(\".icon-video-play\").on(\"click\", function () {\r\n var lnk = $(this);\r\n createEmbed(lnk.parents(\".b-video\"));\r\n\r\n lnk.parent().hide();\r\n });\r\n //$('').appendTo(videoHolder);\r\n },\r\n\r\n highlight: function (selector, txt) {\r\n var innerHTML = selector.text();\r\n var index = innerHTML.indexOf(txt);\r\n if (index >= 0) {\r\n innerHTML =\r\n innerHTML.substring(0, index) +\r\n \"\" +\r\n innerHTML.substring(index, index + txt.length) +\r\n \"\" +\r\n innerHTML.substring(index + txt.length);\r\n selector.html(innerHTML);\r\n }\r\n },\r\n\r\n smsLnk: function () {\r\n link = new SMSLink.link();\r\n link.replaceAll();\r\n },\r\n\r\n pad: function (n) {\r\n if (n < 10) return \"0\" + n;\r\n return n;\r\n },\r\n\r\n preloadBodyMarkup: function () {\r\n return '
';\r\n },\r\n\r\n preloaderMarkup: function () {\r\n return '
';\r\n },\r\n\r\n preloadBody: function (state, callback, instant) {\r\n if (state) {\r\n if ($(\".preloaderBody\").length) {\r\n api.fn._toggleBodyPreloader(state, callback, instant);\r\n } else {\r\n $(api.fn.preloadBodyMarkup()).appendTo(\"body\");\r\n api.fn._toggleBodyPreloader(state, callback, instant);\r\n }\r\n } else {\r\n if ($(\".preloaderBody\").length) {\r\n api.fn._toggleBodyPreloader(state, callback, instant);\r\n }\r\n }\r\n },\r\n\r\n _toggleBodyPreloader: function (state, callBack, instant) {\r\n var timer = instant ? 0 : 300;\r\n\r\n $(\".preloaderBody__txt\").html(\"\");\r\n\r\n if (state) {\r\n $(\".preloaderBody\").fadeIn(timer, function () {\r\n $(\"body\").addClass(\"loading\");\r\n if (typeof callBack == \"function\") callBack();\r\n });\r\n } else {\r\n $(\".preloaderBody\").fadeOut(timer, function () {\r\n $(\"body\").removeClass(\"loading\");\r\n if (typeof callBack == \"function\") callBack();\r\n });\r\n }\r\n },\r\n\r\n addTextToBodyPreloader(txt) {\r\n var prBody = $(\".preloaderBody\");\r\n if (prBody.length) {\r\n if ($(\".preloaderBody__txt\").length) {\r\n $(\".preloaderBody__txt\").text(txt);\r\n } else {\r\n $(\r\n `${txt}`\r\n ).appendTo(prBody);\r\n }\r\n }\r\n },\r\n\r\n modalLnk: function () {\r\n $(\"body\").on(\"click.modalLnk\", \".modalLnk\", function (e) {\r\n e.preventDefault();\r\n\r\n\r\n api.fn.modalLnkTrigger($(this));\r\n\r\n\r\n });\r\n },\r\n\r\n modalLnkTrigger: function (lnk) {\r\n const modalId = $(lnk.attr(\"href\"));\r\n const resetForm = api.fn.getData(lnk, \"reset-form\", false);\r\n $(\".modal.show\").modal(\"hide\");\r\n $(modalId).modal(\"show\");\r\n \r\n $(document).trigger(\"modal-triggered\", {\r\n lnk, \r\n modalId: lnk.attr(\"href\").substr(1)\r\n });\r\n\r\n\r\n if (resetForm) {\r\n api.forms.resetFields($(modalId));\r\n }\r\n\r\n if ($(modalId).find(\".g-recaptcha\").length) {\r\n setTimeout(function () {\r\n api.forms.resetCaptcha();\r\n api.forms.iniCaptcha($(modalId));\r\n }, 500);\r\n }\r\n },\r\n\r\n modal: function (modalId, toggle) {\r\n var modal = $(\"#\" + modalId);\r\n if (modal && modal.length) {\r\n if (toggle === true) {\r\n $(\".modal.show\").modal(\"hide\");\r\n modal.modal(\"show\");\r\n } else {\r\n modal.modal(\"hide\");\r\n }\r\n }\r\n },\r\n\r\n sortByButton: function () {\r\n $(\"body\").on(\"click.sortByButton\", \".btn--sortby\", function (e) {\r\n e.preventDefault();\r\n\r\n var btn = $(this);\r\n if (btn.hasClass(\"asc\")) {\r\n btn.removeClass(\"asc\").addClass(\"desc\");\r\n } else if (btn.hasClass(\"desc\")) {\r\n btn.removeClass(\"desc\");\r\n } else {\r\n btn.addClass(\"asc\");\r\n }\r\n\r\n var attr = api.fn.getData(btn, \"rel\", false);\r\n\r\n if (attr) {\r\n $(attr).removeClass(\"asc\").removeClass(\"desc\");\r\n }\r\n });\r\n },\r\n\r\n backToTop: function () {\r\n $(\".footer .e-back-top\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n api.fn.moveWindowToObj($(\".header\"));\r\n });\r\n },\r\n\r\n convertLnkAddToEdit: function (nodeId) {\r\n $('.e-add-note[data-node-id=\"' + nodeId + '\"]')\r\n .removeClass(\"e-add-note\")\r\n .addClass(\"e-add-note-filled\");\r\n },\r\n\r\n convertLnkEditToAdd: function (nodeId) {\r\n $('.e-add-note-filled[data-node-id=\"' + nodeId + '\"]')\r\n .removeClass(\"e-add-note-filled\")\r\n .addClass(\"e-add-note\");\r\n },\r\n\r\n enableBodyScroll: function () {\r\n $(\"body\").css({\r\n position: \"static\",\r\n top: \"auto\",\r\n });\r\n $(window).scrollTop(api.winTopMemory);\r\n $(\"html, body\").removeClass(\"scrollDisabled\");\r\n },\r\n\r\n hasCookie: function (key) {\r\n if (\r\n !key ||\r\n /^(?:expires|max\\-age|path|domain|secure)$/i.test(key)\r\n ) {\r\n return false;\r\n }\r\n return new RegExp(\r\n \"(?:^|;\\\\s*)\" +\r\n encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") +\r\n \"\\\\s*\\\\=\"\r\n ).test(document.cookie);\r\n },\r\n\r\n iniWaypointElements: function () {\r\n var offset = $(window).height() - 300;\r\n\r\n $(\r\n \".s-img-banner__text__ins, .s-img-banner__img, .s-logos-list, .s-extra-info\"\r\n ).each(function () {\r\n var elem = $(this)[0];\r\n var inview = new Waypoint({\r\n element: elem,\r\n handler: function (direction) {\r\n $(this.element).addClass(\"onScreen\");\r\n },\r\n offset: offset,\r\n });\r\n });\r\n },\r\n\r\n removeInlineImgSizes: function (img) {\r\n if (img.length) {\r\n img.css({\r\n width: \"auto\",\r\n height: \"auto\",\r\n });\r\n }\r\n },\r\n\r\n googleMapsReady: function () {\r\n api.vars.googleMapReady = true;\r\n $(document).trigger(\"google-map-ready\");\r\n },\r\n\r\n preloadContentLikeVue: function (parentObj, callback) {\r\n $(parentObj).find(\".preloader-abs\").addClass(\"loaded\");\r\n $(parentObj).find(\".preloader-rel\").addClass(\"loaded\");\r\n\r\n setTimeout(function () {\r\n $(parentObj).find(\".preloader-abs\").addClass(\"entered\");\r\n $(parentObj).find(\".preloader-rel\").addClass(\"entered\");\r\n if (typeof callBack == \"function\") callBack();\r\n }, 500);\r\n },\r\n\r\n preloadedItem: function (obj, callback) {\r\n $(obj).addClass(\"loaded\");\r\n\r\n setTimeout(function () {\r\n $(obj).addClass(\"entered\");\r\n if (typeof callBack == \"function\") callBack();\r\n }, 500);\r\n },\r\n\r\n cleanBreak: function (str) {\r\n return str\r\n .replace(/
/g, \"
\")\r\n .replace(/
/g, \"
\")\r\n .replace(//g, \"
\");\r\n },\r\n\r\n getParameterByName: function (name, url) {\r\n if (!url) url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return \"\";\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n },\r\n\r\n setUrlParameter: function (key, value) {\r\n window.history.replaceState(\r\n \"\",\r\n \"\",\r\n api.fn.setUrlParameter_fn(key, value)\r\n );\r\n },\r\n\r\n setUrlParameter_fn: function (key, value) {\r\n var url = window.location.href,\r\n baseUrl = url.split(\"?\")[0],\r\n urlQueryString =\r\n url.split(\"?\").length > 1 ? \"?\" + url.split(\"?\")[1] : \"\",\r\n newParam = key + \"=\" + value,\r\n params = \"?\" + newParam;\r\n\r\n // If the \"search\" string exists, then build params from it\r\n if (urlQueryString) {\r\n var updateRegex = new RegExp(\"([?&])\" + key + \"[^&]*\");\r\n var removeRegex = new RegExp(\"([?&])\" + key + \"=[^&;]+[&;]?\");\r\n\r\n if (\r\n typeof value === \"undefined\" ||\r\n value === null ||\r\n value === \"\"\r\n ) {\r\n // Remove param if value is empty\r\n params = urlQueryString.replace(removeRegex, \"$1\");\r\n params = params.replace(/[&;]$/, \"\");\r\n } else if (urlQueryString.match(updateRegex) !== null) {\r\n // If param exists already, update it\r\n params = urlQueryString.replace(\r\n updateRegex,\r\n \"$1\" + newParam\r\n );\r\n } else {\r\n // Otherwise, add it to end of query string\r\n params =\r\n urlQueryString == \"\"\r\n ? \"?\" + newParam\r\n : urlQueryString + \"&\" + newParam;\r\n }\r\n }\r\n\r\n // no parameter was set so we don't need the question mark\r\n params = params === \"?\" ? \"\" : params;\r\n\r\n return baseUrl + params;\r\n },\r\n\r\n updateQueryStringParameter: function (uri, key, value) {\r\n // remove the hash part before operating on the uri\r\n var i = uri.indexOf(\"#\");\r\n var hash = i === -1 ? \"\" : uri.substr(i);\r\n uri = i === -1 ? uri : uri.substr(0, i);\r\n\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\r\n var separator = uri.indexOf(\"?\") !== -1 ? \"&\" : \"?\";\r\n\r\n if (!value) {\r\n // remove key-value pair if value is empty\r\n uri = uri.replace(\r\n new RegExp(\"([?&]?)\" + key + \"=[^&]*\", \"i\"),\r\n \"\"\r\n );\r\n if (uri.slice(-1) === \"?\") {\r\n uri = uri.slice(0, -1);\r\n }\r\n // replace first occurrence of & by ? if no ? is present\r\n if (uri.indexOf(\"?\") === -1) uri = uri.replace(/&/, \"?\");\r\n } else if (uri.match(re)) {\r\n uri = uri.replace(re, \"$1\" + key + \"=\" + value + \"$2\");\r\n } else {\r\n uri = uri + separator + key + \"=\" + value;\r\n }\r\n return uri + hash;\r\n },\r\n\r\n removeURLParameter: function (key) {\r\n window.history.replaceState(\r\n \"\",\r\n \"\",\r\n api.fn.removeURLParameter_fn(key)\r\n );\r\n },\r\n\r\n removeURLParameter_fn: function (parameter) {\r\n var url = window.location.href;\r\n //prefer to use l.search if you have a location/link object\r\n var urlparts = url.split(\"?\");\r\n if (urlparts.length >= 2) {\r\n var prefix = encodeURIComponent(parameter) + \"=\";\r\n var pars = urlparts[1].split(/[&;]/g);\r\n\r\n //reverse iteration as may be destructive\r\n for (var i = pars.length; i-- > 0; ) {\r\n //idiom for string.startsWith\r\n if (pars[i].lastIndexOf(prefix, 0) !== -1) {\r\n pars.splice(i, 1);\r\n }\r\n }\r\n\r\n return (\r\n urlparts[0] + (pars.length > 0 ? \"?\" + pars.join(\"&\") : \"\")\r\n );\r\n }\r\n return url;\r\n },\r\n\r\n uniqueValues: function (theArray) {\r\n function contains(newArrr, v) {\r\n for (var i = 0; i < newArrr.length; i++) {\r\n if (newArrr[i] === v) return true;\r\n }\r\n return false;\r\n }\r\n\r\n var arr = [];\r\n for (var i = 0; i < theArray.length; i++) {\r\n if (!contains(arr, theArray[i])) {\r\n arr.push(theArray[i]);\r\n }\r\n }\r\n return arr.concat([]);\r\n },\r\n\r\n zoomLevel: function () {\r\n api.vars.zoomLevel = Math.round(window.devicePixelRatio * 100);\r\n\r\n if (api.vars.zoomLevel < 100) {\r\n $(\"html\").addClass(\"zoomout\");\r\n } else {\r\n $(\"html\").removeClass(\"zoomout\");\r\n }\r\n },\r\n\r\n iniShareLinks: function () {\r\n var shareUrl = window.location.href;\r\n\r\n jQuery(\"body\").on(\"click\", \".sharemenu .slnk_fb\", function (e) {\r\n e.preventDefault();\r\n\r\n var lnk = jQuery(this);\r\n if (typeof lnk.data(\"shareurl\") == \"string\")\r\n shareUrl = lnk.data(\"shareurl\");\r\n shareUrl = shareUrl\r\n .replace(/(ifr=)[^\\&]+/, \"\")\r\n .replace(\"?&\", \"?\");\r\n\r\n window.open(\r\n \"https://www.facebook.com/sharer/sharer.php?u=\" +\r\n encodeURIComponent(shareUrl),\r\n \"Facebook\",\r\n \"width=626,height=436\"\r\n );\r\n });\r\n\r\n jQuery(\"body\").on(\"click\", \".sharemenu .slnk_twit\", function (e) {\r\n e.preventDefault();\r\n\r\n var lnk = jQuery(this);\r\n if (typeof lnk.data(\"shareurl\") == \"string\")\r\n shareUrl = lnk.data(\"shareurl\");\r\n shareUrl = shareUrl\r\n .replace(/(ifr=)[^\\&]+/, \"\")\r\n .replace(\"?&\", \"?\");\r\n window.open(\r\n \"http://twitter.com/home?status=\" +\r\n encodeURIComponent(shareUrl),\r\n \"twitter-share-dialog\",\r\n \"width=650,height=450\"\r\n );\r\n });\r\n\r\n jQuery(\"body\").on(\"click\", \".sharemenu .slnk_lin\", function (e) {\r\n e.preventDefault();\r\n\r\n var lnk = jQuery(this);\r\n if (typeof lnk.data(\"shareurl\") == \"string\")\r\n shareUrl = lnk.data(\"shareurl\");\r\n shareUrl = shareUrl\r\n .replace(/(ifr=)[^\\&]+/, \"\")\r\n .replace(\"?&\", \"?\");\r\n window.open(\r\n \"https://www.linkedin.com/cws/share?url=\" +\r\n encodeURIComponent(shareUrl),\r\n \"linkedin-share-dialog\",\r\n \"width=650,height=450\"\r\n );\r\n });\r\n\r\n jQuery(\"body\").on(\"click\", \"a.slnk_print\", function (e) {\r\n e.preventDefault();\r\n\r\n print();\r\n });\r\n },\r\n\r\n suffle: function (o) {\r\n for (\r\n var j, x, i = o.length;\r\n i;\r\n j = parseInt(Math.random() * i),\r\n x = o[--i],\r\n o[i] = o[j],\r\n o[j] = x\r\n );\r\n return o;\r\n },\r\n\r\n sanitizeString(str) {\r\n //https://stackoverflow.com/questions/23187013/is-there-a-better-way-to-sanitize-input-with-javascript\r\n str = str.replace(/[^a-z0-9áéíóúñü \\.,_-]/gim, \"\");\r\n return str.trim();\r\n },\r\n\r\n groupedArray(items, n) {\r\n return new Array(Math.ceil(items.length / n))\r\n .fill()\r\n .map((_) => items.splice(0, n));\r\n },\r\n\r\n hexToRgb(hex) {\r\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\r\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n hex = hex.replace(shorthandRegex, function (m, r, g, b) {\r\n return r + r + g + g + b + b;\r\n });\r\n\r\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result\r\n ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16),\r\n }\r\n : null;\r\n },\r\n\r\n validEmail(email) {\r\n var re =\r\n /^(([^<>()[\\]\\\\.,;:\\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 return re.test(email);\r\n },\r\n\r\n acceptNumber(phone) {\r\n var x = phone\r\n .replace(/\\D/g, \"\")\r\n .match(/(\\d{0,3})(\\d{0,3})(\\d{0,4})/);\r\n return !x[2]\r\n ? x[1]\r\n : \"(\" + x[1] + \") \" + x[2] + (x[3] ? \"-\" + x[3] : \"\");\r\n },\r\n toFix (value) {\r\n return value.toFixed(2)\r\n },\r\n addCommasFilter (nStr, septhou, sepdec) {\r\n nStr += '';\r\n x = nStr.split('.');\r\n x1 = x[0];\r\n x2 = x.length > 1 ? sepdec + x[1] : '';\r\n var rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, '$1' + septhou + '$2');\r\n }\r\n return x1 + x2;\r\n },\r\n getNumberFromCustomDec: function (val) {\r\n \tif(!isNaN(val))\r\n return val\r\n\r\n \tvar comma = val.indexOf(',');\r\n\r\n \tif (comma) {\r\n \t\tvar intPart = val.split(',')[0];\r\n \t\tvar decPart = val.split(',')[1];\r\n \t}\r\n \tvar outp = \"\";\r\n \toutp += intPart;\r\n \tif (comma > 0) outp += \".\" + decPart;\r\n \treturn outp;\r\n },\r\n removeDotsOrCommas: function(str, comma){\r\n var hasComma = str.indexOf(comma);\r\n return str.replace(/[.,]+/g, \"\");\r\n },\r\n\r\n equalMinHeights: function (elements, minHeight) {\r\n tallest = minHeight ? minHeight : 0;\r\n elements.each(function () {\r\n if ($(this).outerHeight() > tallest) {\r\n tallest = $(this).outerHeight();\r\n }\r\n });\r\n\r\n return elements.each(function () {\r\n $(this).css(\"min-height\", tallest);\r\n });\r\n },\r\n\r\n redirectToJobPage: function () {\r\n $(\".s-hr__select .form-select\").on(\"change\", function () {\r\n var url = $(this).val();\r\n if (url) {\r\n // require a URL\r\n window.location = url; // redirect\r\n }\r\n return false;\r\n });\r\n },\r\n\r\n updateFavicon: function () {\r\n matcher = window.matchMedia(\"(prefers-color-scheme: dark)\");\r\n lightSchemeIcon = document.querySelector(\"link#light-scheme-icon\");\r\n darkSchemeIcon = document.querySelector(\"link#dark-scheme-icon\");\r\n\r\n if (matcher.matches) {\r\n lightSchemeIcon.remove();\r\n document.head.append(darkSchemeIcon);\r\n } else {\r\n document.head.append(lightSchemeIcon);\r\n darkSchemeIcon.remove();\r\n }\r\n },\r\n\r\n clone(obj) {\r\n // from just-clone https://github.com/angus-c/just#just-clone\r\n\r\n function getRegExpFlags(regExp) {\r\n if (typeof regExp.source.flags == \"string\") {\r\n return regExp.source.flags;\r\n } else {\r\n var flags = [];\r\n regExp.global && flags.push(\"g\");\r\n regExp.ignoreCase && flags.push(\"i\");\r\n regExp.multiline && flags.push(\"m\");\r\n regExp.sticky && flags.push(\"y\");\r\n regExp.unicode && flags.push(\"u\");\r\n return flags.join(\"\");\r\n }\r\n }\r\n if (typeof obj == \"function\") {\r\n return obj;\r\n }\r\n var result = Array.isArray(obj) ? [] : {};\r\n for (var key in obj) {\r\n // include prototype properties\r\n var value = obj[key];\r\n var type = {}.toString.call(value).slice(8, -1);\r\n if (type == \"Array\" || type == \"Object\") {\r\n result[key] = api.fn.clone(value);\r\n } else if (type == \"Date\") {\r\n result[key] = new Date(value.getTime());\r\n } else if (type == \"RegExp\") {\r\n result[key] = RegExp(value.source, getRegExpFlags(value));\r\n } else {\r\n result[key] = value;\r\n }\r\n }\r\n return result;\r\n },\r\n\r\n passiveListeners() {\r\n\r\n jQuery.event.special.touchstart = {\r\n setup: function( _, ns, handle ) {\r\n this.addEventListener(\"touchstart\", handle, { passive: !ns.includes(\"noPreventDefault\") });\r\n }\r\n };\r\n jQuery.event.special.touchmove = {\r\n setup: function( _, ns, handle ) {\r\n this.addEventListener(\"touchmove\", handle, { passive: !ns.includes(\"noPreventDefault\") });\r\n }\r\n };\r\n jQuery.event.special.wheel = {\r\n setup: function( _, ns, handle ){\r\n this.addEventListener(\"wheel\", handle, { passive: true });\r\n }\r\n };\r\n jQuery.event.special.mousewheel = {\r\n setup: function( _, ns, handle ){\r\n this.addEventListener(\"mousewheel\", handle, { passive: true });\r\n }\r\n };\r\n\r\n },\r\n\r\n downloadFile (url) {\r\n var a = document.createElement('A');\r\n a.href = url;\r\n a.download = url.substr(url.lastIndexOf('/') + 1);\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n };\r\n})(jQuery);\r\n\n/// \r\n/// \r\n\r\n(function ($) {\r\n api.forms = {\r\n inputWithPasswords: function () {\r\n document.addEventListener(\r\n \"click\",\r\n function (e) {\r\n const btn = $(e.target).closest(\".btn--show-password\");\r\n\r\n if (btn.length) {\r\n btn.toggleClass(\"active\");\r\n const inptId = btn.attr(\"aria-controls\");\r\n const inpt = inptId ? $(\"#\" + inptId) : null;\r\n\r\n if (inpt && inpt.length) {\r\n if (btn.hasClass(\"active\")) {\r\n inpt.attr('type', \"text\")\r\n } else {\r\n inpt.attr('type', \"password\")\r\n }\r\n }\r\n }\r\n },\r\n true\r\n );\r\n } \r\n };\r\n})(jQuery);\r\n\n(function ($) {\r\n $(function () {\r\n api.fn.passiveListeners();\r\n\r\n api.fn.checkTouchDevice();\r\n\r\n api.vars.isIE = !!window.MSInputMethodContext && !!document.documentMode;\r\n\r\n var lang = $(\"html\").attr(\"lang\");\r\n if (lang) api.vars.lang = lang;\r\n\r\n jQuery.datepicker.setDefaults(\r\n jQuery.datepicker.regional[\"\" + api.vars.lang + \"\"]\r\n );\r\n\r\n //api.components.iniResponsive();\r\n\r\n api.fn.toFocus();\r\n api.fn.getWindDims();\r\n api.fn.onEnterTriggerBtn();\r\n api.fn.onEscTriggerReset();\r\n api.fn.zoomLevel();\r\n api.fn.iniShareLinks();\r\n api.fn.modalLnk();\r\n api.fn.redirectToJobPage();\r\n api.fn.checkFontsIconsLoad();\r\n //api.fn.updateFavicon()\r\n\r\n // forms\r\n api.forms.inputWithPasswords();\r\n\r\n //api.components.responsiveImgs();\r\n\r\n // lazy load\r\n $(\"[data-src]\").lazy();\r\n\r\n // widgets\r\n $(\".s-breadcrumb\").breadcrumb();\r\n $(\".s-hero\").hero();\r\n $(\".s-benefits__items\").benefitsCarousel();\r\n\r\n $(\".g-product-group\").productGroup();\r\n $(\".b-info-panel\").infoPanel();\r\n $(\".b-download-list\").downloadList();\r\n $(\".b-accordion\").accordionSection({\r\n header: \".b-accordion__head\",\r\n });\r\n $(\".s-product-promo\").productPromo();\r\n\r\n $(\".s-quick-actions__items, .s-service-way__items\").quickActionsCarousel();\r\n $(\".s-fullwidth-gallery\").fullwidthGallery();\r\n\r\n $(\".s-carousel-cards__carousel\").carouselCards();\r\n $(\".s-partner__carousel\").partnerCarousel();\r\n\r\n $(\".b-product-card--accordion\").accordionSection({\r\n header: \".b-product-card__title\",\r\n });\r\n\r\n $(\".s-carousel-article__carousel\").articleCards();\r\n\r\n $(\".b-aside-menu\").asideMenu();\r\n\r\n $(\".s-map__map\").contactMap();\r\n\r\n $(\".s-search-results-org__wrp\").searchresultsCarousel();\r\n\r\n // ini rest page script block elements used with docReady\r\n $.each(jsCallbacks, function (i, val) {\r\n val($);\r\n });\r\n\r\n $(document).trigger(\"ini-ready\");\r\n\r\n // resize\r\n $(window).on(\"resize\", function () {\r\n // api.forms.resizeCaptch();\r\n api.fn.getWindDims();\r\n //api.components.responsive();\r\n api.fn.zoomLevel();\r\n\r\n $(document).trigger(\"window-resized\");\r\n });\r\n\r\n $(window).on(\"load\", function () {\r\n $(document).trigger(\"window-loaded\");\r\n });\r\n\r\n if (!api.vars.pagemode_edit) {\r\n $(\".inViewport\").inViewport();\r\n } else {\r\n $(\".inViewport\").removeClass(\"inViewport\");\r\n }\r\n });\r\n})(jQuery);\r\n\n/// \r\n/// \r\n\r\n\r\n(function ($) {\r\n\r\n\t$.widget(\"nsp.inViewport\", {\r\n\t\toptions: {\r\n\t\t\toffset:100,\r\n\t\t\tcls: \"onScreen\"\r\n\t\t},\r\n\t\t_create: function () {\r\n\t\t\tvar plgn = this;\r\n\t\t\tvar section = plgn.element;\r\n\r\n\t\t\t$(document).on(\"window-loaded\", ()=> {\r\n\t\t\t\tplgn.isOnScreen();\r\n\t\t\t})\r\n\t\t\tplgn.isOnScreen();\r\n\r\n\t\t\tplgn.scrolling = false;\r\n\t\t\tplgn.scrolltimer = 0;\r\n\t\t\t$(window).on('scroll', function () {\r\n\t\t\t\tplgn.scrolling = true;\r\n\t\t\t\tclearTimeout(plgn.scrolltimer);\r\n\t\t\t\tscrolltimer = setTimeout(function () {\r\n\t\t\t\t\tplgn.isOnScreen();\r\n\t\t\t\t}, 300);\r\n\t\t\t});\r\n\r\n\t\t\t$(window).on('resize', function () {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tplgn.isOnScreen();\r\n\t\t\t\t}, 300);\r\n\t\t\t});\r\n\r\n\t\t},\r\n\t\tisOnScreen: function () {\r\n\t\t\tvar plgn = this;\r\n\t\t\tvar section = plgn.element;\r\n\r\n\t\t\tvar win = $(window);\r\n\r\n\t\t\tsection.onScreenCls = !section.onScreenCls ? plgn.options.cls : section.onScreenCls;\r\n\r\n\r\n\t\t\tvar viewport = {\r\n\t\t\t\ttop: win.scrollTop(),\r\n\t\t\t\tleft: win.scrollLeft()\r\n\t\t\t};\r\n\t\t\tviewport.right = viewport.left + win.width();\r\n\t\t\tviewport.bottom = viewport.top + win.height();\r\n\r\n\t\t\tvar bounds = section.offset();\r\n\t\t\tbounds.right = bounds.left + section.outerWidth();\r\n\t\t\tbounds.bottom = bounds.top + section.outerHeight();\r\n\r\n\t\t\tvar headeroffset = 0;\r\n\t\t\tif ($('.header__outer').length) {\r\n\t\t\t\theaderoffset = $('.header__outer').outerHeight();\r\n\t\t\t}\r\n\r\n\t\t\tvar offset = headeroffset + plgn.options.offset;\r\n\r\n\r\n\t\t\tif (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top + offset || viewport.top > bounds.bottom - offset)) {\r\n\t\t\t\tsection.addClass(section.onScreenCls);\r\n\t\t\t\tsection.addClass(\"onScreenOnce\");\r\n\r\n\t\t\t\tplgn._trigger('onScreen', null, { item: section });\r\n\r\n\t\t\t} else {\r\n\t\t\t\tsection.removeClass(section.onScreenCls);\r\n\r\n\t\t\t\tplgn._trigger('offScreen', null, { item: section });\r\n\t\t\t}\r\n\r\n\r\n\t\t}\r\n\t});\r\n\r\n\r\n})(jQuery);\nvar mixins = {\r\n data () {\r\n return {\r\n loading: true,\r\n errorMsgs: [],\r\n globalerror: \"Ενα σφάλμα προέκυψε\"\r\n }\r\n },\r\n methods: {\r\n getFormAction: function (form) {\r\n return form.getAttribute(\"action\");\r\n },\r\n\r\n removeDuplicates: function (array) {\r\n return array.filter((c, index) => {\r\n return array.indexOf(c) === index;\r\n });\r\n },\r\n\r\n getData: function (objName) {\r\n return typeof window[objName] !== \"undefined\"\r\n ? window[objName]\r\n : null;\r\n },\r\n\r\n getDataText: function (objName, val) {\r\n if (typeof window[objName] === \"undefined\") {\r\n return \"\";\r\n }\r\n var entry = window[objName].find((i) => i.value === val);\r\n\r\n if (typeof entry === \"undefined\") {\r\n return \"\";\r\n }\r\n\r\n return entry.text;\r\n },\r\n\r\n makeid: function (length = 10) {\r\n var result = \"\";\r\n var characters =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(\r\n Math.floor(Math.random() * charactersLength)\r\n );\r\n }\r\n return result;\r\n },\r\n\r\n validateFields: function (names) {\r\n if (names === \"\") {\r\n return true;\r\n }\r\n\r\n var validArray = [];\r\n\r\n names.split(\",\").forEach((item, index) => {\r\n validArray.push(jQuery(`*[name =\"${item.trim()}\"]`).valid());\r\n });\r\n\r\n if (validArray.includes(false)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n getAllFields: function (elemId) {\r\n var fieldsArray = [];\r\n var inputs = jQuery(`#${elemId}`).find(\":input\");\r\n\r\n inputs.each(function () {\r\n var name = jQuery(this).attr(\"name\");\r\n if (name !== \"\" && typeof name !== \"undefined\") {\r\n fieldsArray.push(name);\r\n }\r\n });\r\n\r\n return fieldsArray.join();\r\n },\r\n\r\n iniReCaptcha: function (elem) {\r\n var self = this;\r\n\r\n Vue.nextTick(function () {\r\n self.reCaptcha = jQuery(\".e-g-recaptcha\", elem);\r\n\r\n grecaptcha.render(self.reCaptcha.attr(\"id\"), {\r\n sitekey: self.reCaptcha.data(\"sitekey\"),\r\n });\r\n });\r\n },\r\n\r\n scrollToError: function (offsetY = 0) {\r\n Vue.nextTick(function () {\r\n jQuery([document.documentElement, document.body]).animate(\r\n {\r\n scrollTop: jQuery(\".alert\").offset().top - offsetY,\r\n },\r\n 100,\r\n \"linear\"\r\n );\r\n });\r\n },\r\n\r\n scrollToValidation: function (offsetY = 50) {\r\n Vue.nextTick(function () {\r\n var barH = jQuery(\".s-booking-bar\").length\r\n ? jQuery(\".s-booking-bar\").outerHeight()\r\n : 0;\r\n\r\n var elem = jQuery(\".error--text\").first();\r\n if (!elem.length) {\r\n return false;\r\n }\r\n\r\n jQuery([document.documentElement, document.body]).animate(\r\n {\r\n scrollTop: elem.offset().top - offsetY - barH,\r\n },\r\n 100,\r\n \"linear\"\r\n );\r\n });\r\n },\r\n\r\n scrollToTop: function () {\r\n Vue.nextTick(function () {\r\n jQuery([document.documentElement, document.body]).animate(\r\n {\r\n scrollTop: jQuery(\"html\").offset().top,\r\n },\r\n 'slow',\r\n \"linear\"\r\n );\r\n });\r\n },\r\n\r\n scrollToElem: function (elem, offsetY = 0) {\r\n Vue.nextTick(function () {\r\n jQuery([document.documentElement, document.body]).animate(\r\n {\r\n scrollTop: elem.offset().top - offsetY,\r\n },\r\n 'slow',\r\n \"linear\"\r\n );\r\n });\r\n },\r\n\r\n getIndex: function (index) {\r\n return index + 1;\r\n },\r\n\r\n hasValue: function (val) {\r\n return typeof val !== \"undefined\" && val !== null && val !== \"\";\r\n },\r\n\r\n showErrorDialog: function (message) {\r\n this.errorDialog = true;\r\n this.errorMsg = this.hasValue(this.dictionary)\r\n ? this.dictionary.serverErrorMsg\r\n : \"\";\r\n\r\n if (this.hasValue(message)) {\r\n this.errorMsg = message;\r\n }\r\n },\r\n\r\n getAjaxResponseMessages: function (messages) {\r\n let msg = Array.isArray(messages) ? messages[0] : messages;\r\n\r\n if (messages.length > 1 && Array.isArray(messages)) {\r\n let msgList = \"
    \";\r\n messages.forEach((item) => {\r\n msgList += `
  • ${item}
  • `;\r\n });\r\n msgList += \"
\";\r\n msg = msgList;\r\n }\r\n\r\n return msg;\r\n },\r\n\r\n getRandomInt: function (max) {\r\n return Math.floor(Math.random() * Math.floor(max));\r\n },\r\n\r\n getUrlVars: function () {\r\n var vars = {};\r\n var parts = window.location.href.replace(\r\n /[?&]+([^=&]+)=([^&]*)/gi,\r\n function (m, key, value) {\r\n vars[key] = value;\r\n }\r\n );\r\n return vars;\r\n },\r\n\r\n getUrlParam: function (parameter, defaultvalue) {\r\n var urlparameter = defaultvalue;\r\n if (window.location.href.indexOf(parameter) > -1) {\r\n urlparameter = this.getUrlVars()[parameter];\r\n }\r\n return urlparameter;\r\n },\r\n\r\n getCharPosition: function (string, char, index) {\r\n return string.split(char, index).join(char).length;\r\n },\r\n\r\n appendUrlParam: function (parameter, value) {\r\n var url = new URL(window.location.href);\r\n var search_params = url.searchParams;\r\n\r\n if (this.urlParamExists(parameter)) {\r\n search_params.set(parameter, value);\r\n } else {\r\n search_params.append(parameter, value);\r\n }\r\n\r\n url.search = search_params.toString();\r\n\r\n var new_url = decodeURIComponent(url.toString());\r\n\r\n history.pushState({}, null, new_url);\r\n },\r\n\r\n appendUrlParams: function (parameters, values) {\r\n var url = new URL(window.location.href);\r\n var search_params = url.searchParams;\r\n\r\n var i;\r\n for (i = 0; i < parameters.length; i++) {\r\n if (this.urlParamExists(parameters[i])) {\r\n search_params.set(parameters[i], values[i]);\r\n } else {\r\n search_params.append(parameters[i], values[i]);\r\n }\r\n }\r\n\r\n url.search = search_params.toString();\r\n\r\n var new_url = decodeURIComponent(url.toString());\r\n\r\n history.pushState({}, null, new_url);\r\n },\r\n\r\n urlParamExists: function (field) {\r\n var url = window.location.href;\r\n if (url.indexOf(\"?\" + field + \"=\") != -1) return true;\r\n else if (url.indexOf(\"&\" + field + \"=\") != -1) return true;\r\n return false;\r\n },\r\n\r\n coordinatesAreValid: function (long, lat) {\r\n if (!this.hasValue(long)) {\r\n return false;\r\n }\r\n\r\n if (!this.hasValue(lat)) {\r\n return false;\r\n }\r\n\r\n if (lat === 0) {\r\n return false;\r\n }\r\n\r\n if (long === 0) {\r\n return false;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n trimChar: function (string, charToRemove) {\r\n while (string.charAt(0) == charToRemove) {\r\n string = string.substring(1);\r\n }\r\n\r\n while (string.charAt(string.length - 1) == charToRemove) {\r\n string = string.substring(0, string.length - 1);\r\n }\r\n\r\n return string;\r\n },\r\n\r\n getCharacteristicTooltip: function (item) {\r\n if (this.hasValue(item.tooltip)) {\r\n return `${item.text}: ${item.tooltip}`;\r\n }\r\n\r\n return item.text;\r\n },\r\n\r\n getInfoWindowContentString: function (item) {\r\n var url = this.hasValue(item.url) ? item.url : \"javascript:void(0)\";\r\n var className = this.hasValue(item.url) ? \"\" : \"void\";\r\n var target = this.hasValue(item.url) ? \"_blank\" : \"\";\r\n\r\n return `
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t

${item.title}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

${item.address}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
`;\r\n },\r\n\r\n ajax(handler, obj){\r\n try {\r\n axios\r\n .post(handler, obj)\r\n .then((response) => {\r\n var { hasError, errorMessages, data, allItems } = response.data;\r\n\r\n if (hasError) { \r\n this.handleAjaxError(errorMessages);\r\n return false;\r\n } \r\n \r\n this.handleAjaxSuccess(data, response.data);\r\n })\r\n .catch((errors) => {\r\n this.handleAjaxError([this.globalerror]);\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } catch (err) {\r\n this.loading = false;\r\n this.handleAjaxError(JSON.parse(err));\r\n }\r\n },\r\n \r\n handleAjaxError(messages) {\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n },\r\n\r\n changeAllNodes: function(currentNode, callback){\r\n for (var k in currentNode) {\r\n if (typeof currentNode[k] == \"object\" && currentNode[k] !== null)\r\n this.changeAllNodes(currentNode[k], callback);\r\n else {\r\n if(typeof callback === \"function\"){\r\n callback(currentNode)\r\n }\r\n }\r\n }\r\n }, \r\n findNode: function(id, currentNode, nodeName, callback) {\r\n var i, currentChild, result;\r\n\r\n if (id == currentNode.id) {\r\n return currentNode;\r\n } else {\r\n if(currentNode && currentNode[nodeName]){\r\n for (i = 0; i < currentNode[nodeName].length; i += 1) {\r\n currentChild = currentNode[nodeName][i];\r\n result = this.findNode(id, currentChild, callback);\r\n if (result) {\r\n if(!callback){\r\n return result;\r\n } else {\r\n if(typeof callback === \"function\"){\r\n callback(currentChild, result)\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n },\r\n findValues(obj, key){\r\n return this.findValuesHelper(obj, key, []);\r\n },\r\n findValuesHelper: function(obj, key, list) {\r\n if (!obj) return list;\r\n if (obj instanceof Array) {\r\n for (var i in obj) {\r\n list = list.concat(this.findValuesHelper(obj[i], key, []));\r\n }\r\n return list;\r\n }\r\n if (obj[key]) list.push(obj);\r\n \r\n if ((typeof obj == \"object\") && (obj !== null) ){\r\n var children = Object.keys(obj);\r\n if (children.length > 0){\r\n for (i = 0; i < children.length; i++ ){\r\n list = list.concat(this.findValuesHelper(obj[children[i]], key, []));\r\n }\r\n }\r\n }\r\n return list;\r\n }\r\n\r\n },\r\n};\r\n\nvar mixin_viewport = {\r\n data () {\r\n return {\r\n screen: '' // phone, tablet, desktop\r\n }\r\n },\r\n mounted(){\r\n\r\n jQuery(document).on(\"ini-ready\", ()=>{\r\n this.defineScreen()\r\n })\r\n\r\n jQuery(document).on(\"window-resized\", ()=>{\r\n this.defineScreen()\r\n });\r\n\r\n },\r\n methods:{\r\n defineScreen(){\r\n this.screen = api.vars.is\r\n }\r\n }\r\n}\nvar mixin_intro_tabs = {\r\n data() {\r\n return {\r\n tab: null\r\n }\r\n },\r\n methods:{\r\n changeTab(newTab){\r\n this.tab = newTab\r\n },\r\n activeClass(tab){\r\n if(this.tab === tab){\r\n return 'ui-tabs-active'\r\n }\r\n return ''\r\n }\r\n }\r\n}\nvar wizardSteps = {\r\n mixins: [mixins, mixin_viewport],\r\n data() {\r\n return {\r\n currentStep: 0, // zero based\r\n allSteps: 1, // integer based\r\n stepModel: [{ active: true, locked: false }],\r\n subSteps: [], //{ \"step\": 1, \"length\": 1, \"current\": 1 }\r\n };\r\n },\r\n beforeMount() {},\r\n mounted() {\r\n this.updateStepModel();\r\n this.updateSubSteps();\r\n },\r\n methods: {\r\n updateStepModel() {\r\n this.keyCounter++;\r\n for (var i = 0; i <= this.allSteps - 1; i++) {\r\n this.stepModel[i] = {\r\n active: i == this.currentStep,\r\n locked: i < this.currentStep,\r\n };\r\n }\r\n this.scrollTo();\r\n },\r\n\r\n scrollTo() {\r\n this.$nextTick(() => {\r\n if (this.screen === \"phone\") {\r\n setTimeout(() => {\r\n this.scrollToElem(\r\n jQuery(this.$el).find(\".step-wizard__item.active\")\r\n );\r\n }, 900);\r\n }\r\n });\r\n },\r\n\r\n updateSubSteps() {\r\n this.keyCounter++;\r\n for (var i = 0; i <= this.allSteps - 1; i++) {\r\n for (var z = 0; z <= this.subSteps.length - 1; z++) {\r\n if (this.subSteps[z].step && i == this.subSteps[z].step) {\r\n this.subSteps[z].current = 1;\r\n }\r\n }\r\n }\r\n },\r\n\r\n nextStep() {\r\n if (this.currentStep < this.allSteps) {\r\n this.currentStep++;\r\n this.updateStepModel();\r\n }\r\n },\r\n prevStep() {\r\n if (this.currentStep > 0) {\r\n this.currentStep--;\r\n this.updateStepModel();\r\n }\r\n },\r\n closeAllSteps() {\r\n for (var i = 0; i <= this.allSteps - 1; i++) {\r\n this.stepModel[i].active = false;\r\n }\r\n },\r\n goToStep(num) {\r\n if (num >= 1 || num < this.allSteps) {\r\n this.currentStep = num;\r\n this.updateStepModel();\r\n }\r\n },\r\n isActiveStep(num) {\r\n return num == this.currentStep;\r\n },\r\n stepsActiveClass(num) {\r\n if (num == this.currentStep) {\r\n return \"active\";\r\n } else {\r\n if (num < this.currentStep) {\r\n return \"completed\";\r\n }\r\n }\r\n return \"disabled\";\r\n },\r\n\r\n // substeps\r\n indexOfSubStep(step) {\r\n return this.subSteps.findIndex((el) => {\r\n return el.step === step;\r\n });\r\n },\r\n getCurrentSubStep(step, current) {\r\n var index = this.indexOfSubStep(step);\r\n if (index >= 0) {\r\n return this.subSteps[index].current === current;\r\n }\r\n return false;\r\n },\r\n prevSupStep(step) {\r\n var index = this.indexOfSubStep(step);\r\n if (index >= 0) {\r\n if (this.subSteps[index].current > 1) this.subSteps[index].current--;\r\n }\r\n },\r\n nextSupStep(step) {\r\n var index = this.indexOfSubStep(step);\r\n if (index >= 0) {\r\n if (this.subSteps[index].length > this.subSteps[index].current)\r\n this.subSteps[index].current++;\r\n }\r\n },\r\n goToSupStep(step, to) {\r\n var index = this.indexOfSubStep(step);\r\n if (index >= 0) {\r\n if (this.subSteps[index].length >= to)\r\n this.subSteps[index].current = to;\r\n }\r\n },\r\n },\r\n};\r\n\nconst wizardModel = {\r\n data() {\r\n return {\r\n greReady: false,\r\n captchaSiteKey:\"\",\r\n captchaAction:\"\",\r\n recaptchaResponse:\"\",\r\n criticalError: false,\r\n submitHandler: \"\",\r\n sessionId:\"\",\r\n model:{},\r\n loading: true,\r\n finalMessage: \"\",\r\n sessionId:\"\",\r\n globalerror: \"Ενα σφάλμα προέκυψε\"\r\n }\r\n },\r\n mounted(){\r\n jQuery(document).on(\"recaptcha-loaded\", ()=>{\r\n this.loading = false\r\n this.greReady = true \r\n });\r\n },\r\n methods:{\r\n critical(criticalErrorCode){\r\n this.criticalError = true\r\n this.$refs.modalCritical.show(criticalErrorCode)\r\n }, \r\n cloneModel(){\r\n this.model = api.fn.clone(newData)\r\n }, \r\n updateModel(newData){\r\n this.model = Object.assign(this.model, newData) //api.fn.clone(newData)\r\n },\r\n updateModelAndContinue(newData){\r\n this.updateModel(newData)\r\n //this.model = api.fn.clone(newData)\r\n this.$nextTick(()=>{\r\n this.nextStep()\r\n })\r\n \r\n },\r\n validate(ref){\r\n this.$refs[ref].validate()\r\n },\r\n recaptchaResponseUpdate(newToken){\r\n this.recaptchaResponse = newToken\r\n },\r\n scrollBackToForm(e){\r\n e.preventDefault()\r\n api.fn.moveWindowToObj(jQuery('.s-two-sides__right'))\r\n },\r\n scrollToInfo(e){\r\n e.preventDefault()\r\n api.fn.moveWindowToObj(jQuery('.s-two-sides__bottom'))\r\n },\r\n handleError(errors){\r\n this.errorMsgs = [].concat(errors)\r\n this.$nextTick(()=>{\r\n if(jQuery(this.$el).find('.alert-danger').length)\r\n api.fn.moveWindowToObj(jQuery(this.$el).find('.alert-danger'))\r\n })\r\n }\r\n }\r\n}\nconst sendCaptcha = {\r\n methods: {\r\n async callCaptcha(){\r\n \r\n if(this.greReady){ \r\n try{\r\n return await grecaptcha.execute(this.captchaSiteKey, { action: this.captchaAction })\r\n } catch(e) {\r\n console.warn(\"invalid captcha\")\r\n }\r\n \r\n }\r\n\r\n return false\r\n \r\n },\r\n updateToken(token){\r\n this.$emit(\"tokenUpdated\", token);\r\n }\r\n }\r\n}\nconst makeFormData = {\r\n methods:{\r\n makeFormData(data){\r\n\r\n const entries = Object.entries(api.fn.clone(data))\r\n const dataToSend = new FormData()\r\n entries.forEach(val=>{\r\n dataToSend.append(val[0], val[1])\r\n });\r\n\r\n\r\n return dataToSend\r\n\r\n\r\n }\r\n }\r\n}\nconst wizardEditable = {\r\n props: {\r\n // enable disable fields\r\n checkForDisable:{ // if true then check the editable prop\r\n type: Boolean,\r\n default: false\r\n },\r\n editable: {\r\n type: Boolean,\r\n default: false\r\n }, \r\n btnEditStr: {\r\n type: String,\r\n default: 'Edit'\r\n },\r\n btnCancelStr: {\r\n type: String,\r\n default: 'Cancel'\r\n },\r\n btnSaveStr: {\r\n type: String,\r\n default: 'Save'\r\n }\r\n },\r\n data () {\r\n\t\treturn {\r\n disabled: true,\r\n isSaved: false\r\n }\r\n },\r\n mounted(){\r\n\r\n this.$watch(() => this.editable, (newobj, old) => {\r\n this.disabled = !this.editable\r\n }, {\r\n immediate: true\r\n })\r\n\r\n },\r\n methods:{\r\n // enable disable fields\r\n enableFields(){\r\n this.disabled = false\r\n this.isSaved = false\r\n this.$emit(\"enabled\")\r\n },\r\n disableFields(){\r\n this.disabled = true\r\n },\r\n save(){\r\n if(this.validate()){\r\n this.saved()\r\n this.isSaved = true\r\n }\r\n },\r\n saved(){\r\n this.saving = false\r\n this.disableFields()\r\n this.updateModel()\r\n },\r\n cancel(){\r\n this.disableFields()\r\n this.$emit(\"canceled\")\r\n this.$nextTick(()=>{\r\n this.$emit(\"validate\")\r\n })\r\n }\r\n }\r\n}\nconst wizardHelpers = {\r\n methods:{\r\n // stringifyPrice(str){\r\n // str = api.fn.getNumberFromCustomDec(str)\r\n // try{\r\n // if(!isNaN(str))\r\n // str = api.fn.toFix(parseFloat(str))\r\n // } catch(err){\r\n // console.log(\"error\",str, err)\r\n // }\r\n\r\n // str = api.fn.addCommasFilter(str, this.comma, this.period)\r\n // var val = api.fn.getNumberFromCustomDec(str)\r\n // val = val ? val : 0\r\n\r\n // var res = api.fn.addCommasFilter(str, this.comma, this.period)\r\n // return res\r\n // }\r\n stringifyPrice(value){\r\n return value.toLocaleString(this.lang, {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n }\r\n }\r\n}\nlet commonComponents = [];\nconst slickCarousel = {\r\n props: {\r\n options: {\r\n type: Object,\r\n default: function () {\r\n return {};\r\n },\r\n },\r\n },\r\n template: \"
\",\r\n mounted: function () {\r\n var self = this;\r\n //console.log(\"mounted\")\r\n\r\n this.$nextTick(() => {\r\n self.create();\r\n\r\n jQuery(this.$el).find('[data-src]').lazy();\r\n\r\n jQuery(this.$el).on('beforeChange', (slick, currentSlide, nextSlide)=>{\r\n jQuery(this.$el).find('[data-src]').lazy();\r\n });\r\n\r\n jQuery(this.$el).on('afterChange', (slick, currentSlide)=>{\r\n jQuery(this.$el).find('[data-src]').lazy();\r\n })\r\n \r\n });\r\n\r\n },\r\n beforeUnmount: function () {\r\n this.onDestroy()\r\n },\r\n\r\n methods: {\r\n create: function () {\r\n var $slick = jQuery(this.$el);\r\n\r\n if ($slick.find(\".item\").length > 1) {\r\n $slick.on(\"afterChange\", this.onAfterChange);\r\n $slick.on(\"beforeChange\", this.onBeforeChange);\r\n $slick.on(\"breakpoint\", this.onBreakpoint);\r\n $slick.on(\"destroy\", this.onDestroy);\r\n $slick.on(\"edge\", this.onEdge);\r\n $slick.on(\"init\", this.onInit);\r\n $slick.on(\"reInit\", this.onReInit);\r\n $slick.on(\"setPosition\", this.onSetPosition);\r\n $slick.on(\"swipe\", this.onSwipe);\r\n $slick.on(\"lazyLoaded\", this.onLazyLoaded);\r\n $slick.on(\"lazyLoadError\", this.onLazyLoadError);\r\n $slick.slick(this.options);\r\n }\r\n },\r\n\r\n destroy: function () {\r\n var $slick = jQuery(this.$el);\r\n\r\n if (jQuery(this.$el).hasClass(\"slick-initialized\")) {\r\n $slick.off(\"afterchange\", this.onAfterChange);\r\n $slick.off(\"beforeChange\", this.onBeforeChange);\r\n $slick.off(\"breakpoint\", this.onBreakpoint);\r\n $slick.off(\"destroy\", this.onDestroy);\r\n $slick.off(\"edge\", this.onEdge);\r\n $slick.off(\"init\", this.onInit);\r\n $slick.off(\"reInit\", this.onReInit);\r\n $slick.off(\"setPosition\", this.onSetPosition);\r\n $slick.off(\"swipe\", this.onSwipe);\r\n $slick.off(\"lazyLoaded\", this.onLazyLoaded);\r\n $slick.off(\"lazyLoadError\", this.onLazyLoadError);\r\n $slick.removeClass(\"slick-initialized\");\r\n jQuery(this.$el).slick(\"unslick\");\r\n }\r\n },\r\n\r\n reSlick: function () {\r\n this.destroy();\r\n this.create();\r\n },\r\n\r\n next: function () {\r\n jQuery(this.$el).slick(\"slickNext\");\r\n },\r\n\r\n prev: function () {\r\n jQuery(this.$el).slick(\"slickPrev\");\r\n },\r\n\r\n pause: function () {\r\n jQuery(this.$el).slick(\"slickPause\");\r\n },\r\n\r\n play: function () {\r\n jQuery(this.$el).slick(\"slickPlay\");\r\n },\r\n\r\n goTo: function (index, dontAnimate) {\r\n jQuery(this.$el).slick(\"slickGoTo\", index, dontAnimate);\r\n },\r\n\r\n currentSlide: function () {\r\n return jQuery(this.$el).slick(\"slickCurrentSlide\");\r\n },\r\n\r\n add: function (element, index, addBefore) {\r\n jQuery(this.$el).slick(\"slickAdd\", element, index, addBefore);\r\n },\r\n\r\n remove: function (index, removeBefore) {\r\n jQuery(this.$el).slick(\"slickRemove\", index, removeBefore);\r\n },\r\n\r\n filter: function (filterData) {\r\n jQuery(this.$el).slick(\"slickFilter\", filterData);\r\n },\r\n\r\n unfilter: function () {\r\n jQuery(this.$el).slick(\"slickUnfilter\");\r\n },\r\n\r\n getOption: function (option) {\r\n jQuery(this.$el).slick(\"slickGetOption\", option);\r\n },\r\n\r\n setOption: function (option, value, refresh) {\r\n jQuery(this.$el).slick(\"slickSetOption\", option, value, refresh);\r\n },\r\n\r\n setPosition: function () {\r\n jQuery(this.$el).slick(\"setPosition\");\r\n },\r\n\r\n // Events\r\n onAfterChange: function (event, slick, currentSlide) {\r\n this.$emit(\"afterchange\", event, slick, currentSlide);\r\n },\r\n\r\n onBeforeChange: function (event, slick, currentSlide, nextSlide) {\r\n this.$emit(\"beforechange\", event, slick, currentSlide, nextSlide);\r\n },\r\n\r\n onBreakpoint: function (event, slick, breakpoint) {\r\n this.$emit(\"breakpoint\", event, slick, breakpoint);\r\n },\r\n\r\n onDestroy: function (event, slick) {\r\n this.$emit(\"destroy\", event, slick);\r\n },\r\n\r\n onEdge: function (event, slick, direction) {\r\n this.$emit(\"edge\", event, slick, direction);\r\n },\r\n\r\n onInit: function (event, slick) {\r\n this.$emit(\"init\", event, slick);\r\n },\r\n\r\n onReInit: function (event, slick) {\r\n this.$emit(\"reinit\", event, slick);\r\n },\r\n\r\n onSetPosition: function (event, slick) {\r\n this.$emit(\"setposition\", event, slick);\r\n },\r\n\r\n onSwipe: function (event, slick, direction) {\r\n this.$emit(\"swipe\", event, slick, direction);\r\n },\r\n\r\n onLazyLoaded: function (event, slick, image, imageSource) {\r\n this.$emit(\"lazyloaded\", event, slick, image, imageSource);\r\n },\r\n\r\n onLazyLoadError: function (event, slick, image, imageSource) {\r\n this.$emit(\"lazyloaderror\", event, slick, image, imageSource);\r\n }\r\n },\r\n};\r\n\nconst alertDanger = {\r\n props: [\"msgs\", \"dismissible\"],\r\n template: `\r\n
\r\n
    \r\n
  • \r\n {{ msg }}\r\n
  • \r\n
\r\n \r\n
`\r\n}\r\n\r\ncommonComponents.push({\r\n name: 'alert-danger',\r\n var: alertDanger\r\n})\nconst alertSuccess = {\r\n props: [\"msgs\", \"dismissible\"],\r\n template: `\r\n
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n \r\n
`\r\n}\r\n\r\ncommonComponents.push({\r\n name: 'alert-success',\r\n var: alertSuccess\r\n})\nconst infinityScroll = {\r\n props: {\r\n loading:{\r\n type: Boolean,\r\n default: true\r\n },\r\n hasMore: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n template: \r\n `
\r\n \r\n
\r\n
\r\n
`,\r\n data: function () {\r\n\t\treturn {\r\n }\r\n },\r\n mounted(){\r\n\r\n jQuery(window).on('scroll.infinity', (e)=> {\r\n this.handleScroll()\r\n })\r\n },\r\n beforeUnmount: function () {\r\n jQuery(window).off('scroll.infinity')\r\n },\r\n methods:{\r\n handleScroll(e){\r\n let element = this.$el\r\n\t\t\tif ( element.getBoundingClientRect().bottom < window.innerHeight && element.getBoundingClientRect().bottom>0) {\r\n if(!this.loading && this.hasMore){\r\n this.$emit(\"onloadMore\")\r\n }\r\n\t\t\t}\r\n }\r\n }\r\n}\r\n\nconst bMediaItemFile = {\r\n props: {\r\n card: {\r\n type: Object,\r\n default() {\r\n return null;\r\n },\r\n }\r\n },\r\n template: \r\n `\r\n
\r\n
\r\n
\r\n \r\n
\r\n
`\r\n\r\n}\nconst bAutoCompleter = {\r\n mixins: [mixins, sendCaptcha],\r\n props: {\r\n value: {\r\n type: String,\r\n default: ''\r\n },\r\n handler:{\r\n type: String,\r\n default: ''\r\n },\r\n clickable:{ // if clickable then not use autocomplete with url but rather emit click event to parent\r\n type: Boolean,\r\n default: false\r\n },\r\n useCaptcha: { \r\n type: Boolean,\r\n default: false\r\n },\r\n greReady: false,\r\n captchaSiteKey: \"\",\r\n captchaAction: \"\"\r\n },\r\n data() {\r\n return {\r\n loading: false,\r\n records: [],\r\n errorMsgs: [],\r\n }\r\n },\r\n template: \r\n `
\r\n \r\n \r\n \r\n
`,\r\n mounted() {\r\n\r\n jQuery(window).on('click.autocomplete', (e) => {\r\n this.close()\r\n })\r\n },\r\n computed: {\r\n isActive(){\r\n return this.loading || this.records.length > 0\r\n },\r\n activeClass(){\r\n return ''\r\n }\r\n },\r\n beforeUnmount: function () {\r\n jQuery(window).off('click.autocomplete')\r\n },\r\n methods: {\r\n async doSearch() {\r\n\r\n if (this.handler !== '' && this.value !== '') {\r\n this.loading = true\r\n this.reset() \r\n \r\n try {\r\n\r\n var token = \"\";\r\n if (this.useCaptcha) {\r\n token = await this.callCaptcha()\r\n if (token) {\r\n this.updateToken(token)\r\n }\r\n }\r\n\r\n axios\r\n .post(this.handler, { value: this.value, recaptchaResponse: token })\r\n .then((response) => {\r\n var { hasError, errorMessages, data } = response.data;\r\n\r\n if (hasError) {\r\n this.handleError(errorMessages);\r\n return false;\r\n }\r\n\r\n this.handleSuccess(data);\r\n\r\n })\r\n .catch((errors) => {\r\n this.handleError([this.globalerror]);\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } catch (err) {\r\n this.loading = false;\r\n this.handleError(JSON.parse(err));\r\n }\r\n\r\n }\r\n },\r\n stopSearch(){\r\n this.reset() \r\n this.loading = false\r\n this.close()\r\n },\r\n close(){\r\n this.$emit(\"closeAutocomplete\")\r\n },\r\n handleError(messages) {\r\n this.loading = false\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n this.$emit(\"searchFailed\", this.errorMsgs)\r\n },\r\n handleSuccess(data) {\r\n \r\n if(data.length){\r\n this.records.push(...data);\r\n this.$emit(\"searchCompleted\")\r\n } else {\r\n this.$emit(\"noData\")\r\n }\r\n },\r\n reset(){\r\n this.records = []\r\n },\r\n itemTypeClass(item){\r\n if(!item.type)\r\n return 'b-auto-completer__item-li'\r\n\r\n if(item.type==='group'){\r\n return 'b-auto-completer__item-more'\r\n }\r\n return 'b-auto-completer__item-li'\r\n },\r\n stopPropagate(e){\r\n e.stopPropagation()\r\n },\r\n clicked(item){\r\n this.$emit(\"clicked\", item)\r\n }\r\n }\r\n}\r\n\nconst bTabs = {\r\n props: {\r\n activeTab:{\r\n type: String,\r\n default: ''\r\n },\r\n tabs: {\r\n type: Array,\r\n default(){\r\n return []\r\n }\r\n }\r\n },\r\n data(){\r\n return {\r\n tab: null,\r\n }\r\n },\r\n template:\r\n `
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
`,\r\n mounted(){\r\n this.iniTabs();\r\n \r\n },\r\n methods:{\r\n iniTabs(){\r\n if(this.activeTab!==''){\r\n this.tab = this.activeTab \r\n } else {\r\n if(this.tabs.length && this.tabs[0].id)\r\n this.tab = this.tabs[0].id\r\n }\r\n this.$emit(\"onTabInit\", this.tab)\r\n },\r\n changeTab(newTab){\r\n this.tab = newTab\r\n this.$emit(\"onTabChanged\", this.tab)\r\n },\r\n activeClass(tab){\r\n if(this.tab === tab){\r\n return 'ui-tabs-active'\r\n }\r\n return ''\r\n }\r\n }\r\n}\nconst bPagination = {\r\n name: \"pagination\", \r\n props: {\r\n maxVisibleButtons: {\r\n type: Number,\r\n required: false,\r\n default: 5,\r\n },\r\n totalRecords:{\r\n type: Number,\r\n required: true,\r\n },\r\n perPage: {\r\n type: Number,\r\n default: 10\r\n },\r\n currentPage: {\r\n type: Number,\r\n default: 1,\r\n required: true,\r\n },\r\n },\r\n template: \r\n ``,\r\n computed: {\r\n inactiveClass(){\r\n if(this.totalPages<=1){\r\n return 'b-pagination--inactive'\r\n }\r\n return ''\r\n },\r\n totalPages() {\r\n return Math.ceil(this.totalRecords/ this.perPage)\r\n },\r\n startPage() {\r\n if (this.currentPage === 1) {\r\n return 1;\r\n }\r\n\r\n if (this.currentPage === 2) {\r\n return 1;\r\n }\r\n\r\n if (this.currentPage === this.totalPages) {\r\n return Math.max(this.totalPages - this.maxVisibleButtons + 1, 1);\r\n }\r\n \r\n return this.currentPage - 2;\r\n },\r\n endPage() {\r\n return Math.min(\r\n this.startPage + this.maxVisibleButtons - 1,\r\n this.totalPages\r\n );\r\n },\r\n pages() {\r\n const range = [];\r\n\r\n for (let i = Math.min(this.startPage, Math.max(this.endPage - (this.maxVisibleButtons - 1), 1)); i <= this.endPage; i += 1) {\r\n range.push({\r\n name: i,\r\n isDisabled: i === this.currentPage,\r\n });\r\n }\r\n\r\n return range;\r\n },\r\n isInFirstPage() {\r\n return this.currentPage === 1;\r\n },\r\n isInLastPage() {\r\n return this.currentPage === this.totalPages;\r\n },\r\n },\r\n methods: {\r\n onClickFirstPage() {\r\n this.$emit(\"pagechanged\", 1);\r\n },\r\n onClickPreviousPage() {\r\n this.$emit(\"pagechanged\", this.currentPage - 1);\r\n },\r\n onClickPage(page) {\r\n this.$emit(\"pagechanged\", page);\r\n },\r\n onClickNextPage() {\r\n this.$emit(\"pagechanged\", this.currentPage + 1);\r\n },\r\n onClickLastPage() {\r\n this.$emit(\"pagechanged\", this.totalPages);\r\n },\r\n isPageActive(page) {\r\n return this.currentPage === page;\r\n },\r\n },\r\n};\r\n\nconst photoItem = {\r\n props: {\r\n card: {\r\n type: Object,\r\n default() {\r\n return null;\r\n },\r\n }\r\n },\r\n template: \r\n ``,\r\n computed: {\r\n cardBg() {\r\n if (this.card !== null && this.card.thumb && this.card.thumb !== \"\") {\r\n return this.card.thumb;\r\n }\r\n return \"\";\r\n }\r\n }\r\n};\r\n\nconst mediaItem = {\r\n props: {\r\n card: {\r\n type: Object,\r\n default() {\r\n return null;\r\n },\r\n }\r\n },\r\n template: \r\n `
\r\n \r\n \r\n \r\n
`,\r\n computed: {\r\n cardBg() {\r\n if (this.card !== null && this.card.thumb && this.card.thumb !== \"\") {\r\n return this.card.thumb;\r\n }\r\n return \"\";\r\n }\r\n },\r\n methods:{\r\n clicked(e){\r\n this.$emit(\"clicked\", e, this.card)\r\n }\r\n }\r\n};\r\n\nconst customLightbox = {\r\n props: {\r\n galleryImages: {\r\n type: Array,\r\n default() {\r\n return [];\r\n }\r\n }\r\n ,\r\n mainTitle: {\r\n type: String,\r\n default: \"\"\r\n },\r\n prevTitle: '',\r\n nextTitle: '',\r\n infinite: false\r\n },\r\n data: () => {\r\n return {\r\n $this: null,\r\n imageLoaded: false,\r\n selectedItem: null,\r\n selectedIndex: -1,\r\n imgUrl: \"\",\r\n loadMore: false\r\n }\r\n\r\n },\r\n template: `
\r\n
\r\n
\r\n

{{mainTitle}}

\r\n \r\n
\r\n
=0 && showWhenLoadMore\" class=\"b-lightbox__conts\">\r\n\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
`,\r\n mounted() {\r\n jQuery(($) => {\r\n\r\n this.$this = $(this.$el)\r\n\r\n $(document).keyup((e) => {\r\n if (e.key === \"Escape\") { // escape key maps to keycode `27`\r\n this.closeLayer()\r\n } else if (e.key === 37 || e.key === \"ArrowLeft\") { // left \r\n this.prevItem();\r\n } else if (e.key === 39 || e.key === \"ArrowRight\") { // right \r\n this.nextItem();\r\n }\r\n });\r\n })\r\n },\r\n methods: {\r\n showItem(e, index) {\r\n this.selectedIndex = -1;\r\n //e.preventDefault()\r\n this.selectedIndex = index;\r\n jQuery('html, body').addClass('lightbox-opened')\r\n this.$this.addClass(\"opened\")\r\n this.setSelectedItem();\r\n },\r\n setSelectedItem() {\r\n this.imageLoaded = false\r\n if (this.selectedIndex >= 0 && this.selectedIndex < this.galleryImages.length) {\r\n this.selectedItem = this.galleryImages[this.selectedIndex]\r\n this.loadImg()\r\n }\r\n },\r\n closeLayer() {\r\n jQuery('html, body').removeClass('lightbox-opened')\r\n this.$this.removeClass(\"opened\")\r\n this.imgUrl = \"\"\r\n this.selectedIndex = -1;\r\n },\r\n nextItem() {\r\n if(this.infinite && this.selectedIndex === this.galleryImages.length - 1){\r\n this.loadMore = true\r\n this.$emit(\"onloadMore\")\r\n return\r\n }\r\n if (this.selectedIndex >= 0 && this.selectedIndex < this.galleryImages.length - 1) {\r\n this.selectedIndex++\r\n this.setSelectedItem();\r\n }\r\n },\r\n prevItem() {\r\n if (this.selectedIndex > 0) {\r\n this.selectedIndex--\r\n this.setSelectedItem();\r\n }\r\n },\r\n onImgLoad() {\r\n this.imageLoaded = true\r\n },\r\n loadImg() {\r\n this.imageLoaded = false\r\n this.$nextTick(() => {\r\n if (this.selectedItem.image)\r\n this.imgUrl = this.selectedItem.image;\r\n })\r\n },\r\n loadMoreComplete(){\r\n this.loadMore = false\r\n }\r\n },\r\n computed: {\r\n showPrev() {\r\n return this.selectedIndex > 0\r\n },\r\n showNext() {\r\n if(this.infinite){\r\n return true\r\n }\r\n return this.selectedIndex < this.galleryImages.length - 1\r\n },\r\n isImageLoaded() {\r\n return this.imageLoaded\r\n },\r\n showWhenLoadMore(){\r\n if(this.infinite && this.loadMore){\r\n return false\r\n }\r\n return true\r\n }\r\n }\r\n}\r\n\nconst searchInput = {\r\n props: {\r\n value: {\r\n type: String,\r\n default: \"\",\r\n },\r\n label: {\r\n type: String,\r\n default: \"Search...\",\r\n },\r\n inputId: {\r\n type: String,\r\n default: \"search-input\",\r\n },\r\n placeholder: {\r\n type: String,\r\n default: \"Search...\",\r\n },\r\n minCharacters: {\r\n type: Number,\r\n default: 3,\r\n },\r\n maxCharacters: {\r\n type: Number,\r\n default: 50,\r\n },\r\n delaytime: {\r\n type: Number,\r\n default: 500,\r\n },\r\n autocompleteHandler: {\r\n type: String,\r\n default: \"\",\r\n },\r\n buttonType: {\r\n type: String,\r\n default: \"submit\",\r\n },\r\n buttonText: {\r\n type: String,\r\n default: \"search\",\r\n },\r\n clearText: {\r\n type: String,\r\n default: \"clear search\",\r\n },\r\n name: {\r\n type: String,\r\n default: \"search-input-field\",\r\n },\r\n errorLength:{\r\n type: String,\r\n default: 'Error'\r\n },\r\n errorRequired:{\r\n type: String,\r\n default: 'Error'\r\n }\r\n },\r\n data() {\r\n return {\r\n search: \"\",\r\n debounceTimer: 0,\r\n startSearch: false,\r\n };\r\n },\r\n template: `
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
`,\r\n mounted() {\r\n this.search = this.value\r\n\r\n // this.$slots.default().forEach(vnode => { \r\n // console.log(vnode.tag)\r\n // })\r\n\r\n //console.log(this.$slots.default()[0].el)\r\n\r\n \r\n },\r\n computed: {\r\n activeClass() {\r\n if (this.search.length) {\r\n return \"input-search--active\";\r\n }\r\n return \"\";\r\n },\r\n searchBtnDisabled() {\r\n if (this.search.length > 0) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n },\r\n methods: {\r\n onFocus(){\r\n this.checkToSearch()\r\n },\r\n triggerOnInput() {\r\n this.$emit(\"change\", this.search);\r\n\r\n clearTimeout(this.debounceTimer);\r\n\r\n this.debounceTimer = setTimeout(() => {\r\n this.checkToSearch()\r\n }, this.delaytime);\r\n\r\n },\r\n checkToSearch(){\r\n if (this.search.length >= this.minCharacters) {\r\n this.doSearch();\r\n }\r\n },\r\n stopSearch() {\r\n this.startSearch = false;\r\n this.$emit(\"searchStopped\", this.search);\r\n },\r\n doSearch() {\r\n this.startSearch = true;\r\n \r\n this.$emit(\"searching\", this.search);\r\n\r\n this.$nextTick(() => this.$refs[\"autocompleter\"].doSearch() )\r\n },\r\n clearInput() {\r\n this.search = \"\";\r\n this.stopSearch();\r\n this.$emit(\"clear\");\r\n },\r\n setFocus() {\r\n this.$nextTick(() => this.$refs.searchInput.focus());\r\n },\r\n searchFailed(messages) {\r\n this.$emit(\"searchFailed\", messages)\r\n },\r\n searchCompleted() {\r\n \r\n },\r\n closeAutocomplete(){\r\n this.startSearch = false;\r\n },\r\n stopPropagate(e){\r\n e.stopPropagation()\r\n }\r\n },\r\n};\r\n\nconst headerCard = {\r\n props: {\r\n card: {\r\n type: Object,\r\n default() {\r\n return null;\r\n },\r\n },\r\n },\r\n template: `\r\n `,\r\n data() {\r\n return {\r\n enableCache: false,\r\n };\r\n },\r\n mounted() {\r\n jQuery(document).on(\"ini-ready\", () => {\r\n this.checkToEnable();\r\n });\r\n jQuery(document).on(\"window-resized\", () => {\r\n this.checkToEnable();\r\n });\r\n },\r\n methods: {\r\n checkToEnable() {\r\n if (api.vars.windW >= 1185) {\r\n this.enableCache = true;\r\n }\r\n },\r\n },\r\n computed: {\r\n cardBg() {\r\n if (this.card !== null && this.card.bg && this.card.bg !== \"\") {\r\n return this.card.bg;\r\n }\r\n return \"\";\r\n },\r\n },\r\n};\r\n\n\r\nconst eLoader = {\r\n\tprops: {\r\n\t\tabsolute: {\r\n\t\t\ttype: String,\r\n\t\t\trequired: false,\r\n\t\t\tdefault: false,\r\n\t\t},\r\n\t},\r\n\tmounted: function () {\r\n\t},\r\n\ttemplate: `
`,\r\n}\r\n\r\n\n/// \r\n\r\nconst vueDatepicker = {\r\n props: [\r\n 'placeholder',\r\n 'mindate',\r\n 'maxdate',\r\n 'id'\r\n ],\r\n data: function () {\r\n return {\r\n $this: null,\r\n isOpen: false,\r\n datepickerLoaded: false,\r\n date: \"\",\r\n left: 0\r\n }\r\n },\r\n template: `\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n `,\r\n mounted: function () {\r\n this.$this = jQuery(this.$el);\r\n this.datepickerDiv = jQuery('.datepickerDiv', this.$this)\r\n\r\n const targetElems = jQuery(\".date-input, .date-picker\", this.$this)\r\n document.addEventListener(\"click\", e => {\r\n if (!jQuery(e.target).closest(targetElems).length && !e.target.closest(\".ui-datepicker-prev\") && !e.target.closest(\".ui-datepicker-next\")) {\r\n this.close();\r\n } \r\n })\r\n\r\n docReady(($) => {\r\n this.iniDatepicker()\r\n\r\n $(document).on(\"window-resized\", (event) =>{\r\n this.setPosition()\r\n })\r\n\r\n $(document).on(\"layer-opened\", (event) => {\r\n this.close()\r\n })\r\n })\r\n },\r\n computed: {\r\n formattedDate: function () {\r\n if (this.datepickerLoaded) {\r\n const format = this.datepickerDiv.datepicker('option', 'dateFormat')\r\n\r\n if (this.date != \"\") {\r\n let str = jQuery.datepicker.formatDate(format, this.date)\r\n return str\r\n }\r\n return \"\"//placeholder\r\n }\r\n return \"\"//placeholder\r\n },\r\n inputClass: function () {\r\n return this.isOpen ? \"active\" : \"\"\r\n }\r\n },\r\n methods: {\r\n iniDatepicker: function () {\r\n const self = this\r\n\r\n this.datepickerDiv.datepicker({\r\n showOtherMonths: true,\r\n maxDate: this.maxdate,\r\n minDate: this.mindate,\r\n showButtonPanel: false, \r\n onSelect: (dateText, obj) => {\r\n this.date = this.datepickerDiv.datepicker(\"getDate\")\r\n this.close()\r\n }\r\n })\r\n\r\n this.datepickerLoaded = true\r\n\r\n },\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n\r\n \r\n this.$nextTick(()=>{\r\n this.setPosition()\r\n })\r\n \r\n },\r\n open() {\r\n this.isOpen = true;\r\n },\r\n close() {\r\n this.isOpen = false\r\n },\r\n clear() {\r\n this.date = \"\"\r\n this.datepickerDiv.datepicker(\"refresh\");\r\n this.close()\r\n },\r\n setPosition(){\r\n if(this.isOpen){\r\n this.left = 0\r\n\r\n this.$nextTick(()=>{\r\n this.datepickerDiv.css(\"left\", 'auto');\r\n\r\n var w = this.datepickerDiv.outerWidth()\r\n var l = this.datepickerDiv.offset().left\r\n var dif = api.vars.windW - (w + l)\r\n if(dif<0){\r\n this.left = (dif - 20) + \"px\"\r\n }\r\n })\r\n }\r\n }\r\n },\r\n watch: {\r\n date: {\r\n immediate: false,\r\n handler() {\r\n this.$emit(\"change\", this.date)\r\n }\r\n },\r\n mindate(value) {\r\n this.datepickerDiv.datepicker('option', 'minDate', new Date(value));\r\n },\r\n maxdate(value) {\r\n this.datepickerDiv.datepicker('option', 'maxDate', new Date(value));\r\n }\r\n }\r\n};\r\n\n/// \r\n\r\nconst tableAccordion = {\r\n props: {\r\n records: {\r\n type: Array,\r\n default: []\r\n }\r\n },\r\n data: function () {\r\n return {\r\n $this: null,\r\n }\r\n },\r\n template: `\r\n
\r\n \r\n
\r\n `,\r\n mounted: function () {\r\n this.$this = jQuery(this.$el);\r\n\r\n this._iniAccordion()\r\n },\r\n methods: {\r\n _iniAccordion() {\r\n this.$this.accordionSection({\r\n header: '.b-table-accordion__head'\r\n })\r\n }\r\n },\r\n computed: {\r\n },\r\n watch: {\r\n }\r\n};\r\n\nconst expandableText = {\r\n props: { \r\n maxHeight: {\r\n type: Number,\r\n default: 0\r\n } \r\n },\r\n template: \r\n `
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
`,\r\n data: function () {\r\n\t\treturn {\r\n expanded: false,\r\n showToggleButton: false,\r\n scrollHeight: 0,\r\n $this: null,\r\n maxH:0\r\n }\r\n },\r\n mounted(){\r\n\r\n this.ini()\r\n\r\n jQuery(document).on(\"window-loaded\", ()=>{\r\n this.ini()\r\n })\r\n },\r\n methods:{\r\n ini(){\r\n this.$this = jQuery(this.$el)\r\n this.container = this.$this.find('.b-expandable-text__conts')\r\n\r\n if(this.maxHeight){\r\n this.$el.style.setProperty('--max-height', this.maxHeight + \"px\");\r\n }\r\n\r\n \r\n this.scrollHeight = this.container[0].scrollHeight + 80 \r\n this.maxH = parseInt(this.container.css(\"max-height\"))\r\n\r\n if(this.scrollHeight > this.maxH){\r\n this.showToggleButton = true\r\n }\r\n\r\n },\r\n open(){\r\n this.expanded = true\r\n this.container.css('max-height', `${this.scrollHeight}px`)\r\n },\r\n close(){\r\n this.expanded = false\r\n this.container.css('max-height', `${this.maxH}px`)\r\n }\r\n },\r\n computed:{\r\n expandedClass(){\r\n return this.expanded ? \"active\" : ''\r\n },\r\n disabledClass(){\r\n return this.showToggleButton ? \"\" : \"disabled\"\r\n }\r\n }\r\n}\r\n\nconst customTabs = {\r\n props: { \r\n active:{\r\n type: Number,\r\n default: 0\r\n },\r\n items: {\r\n type: Array,\r\n default(){\r\n return []\r\n }\r\n },\r\n disabled: { // set disabled tabs with value 1 or enabled with value 0\r\n type: Array,\r\n default(){\r\n return []\r\n }\r\n },\r\n top: { // tabs to be top instead of bottom from horz line\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n template: \r\n `
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n \r\n \r\n \r\n
`,\r\n data: function () {\r\n\t\treturn {\r\n selected: 0\r\n }\r\n },\r\n mounted(){\r\n this.changeTab(this.active)\r\n },\r\n methods:{\r\n changeTab(index){\r\n this.selected = index\r\n this.$emit(\"tabChanged\", index, this.items[index])\r\n },\r\n isOpened(index){\r\n return this.selected === index\r\n },\r\n activeClass(index){\r\n if(this.selected === index){\r\n return 'ui-tabs-active'\r\n }\r\n return ''\r\n },\r\n isDisabled(index){\r\n if(this.disabled[index] && this.disabled[index]>0){\r\n return true\r\n }\r\n return false\r\n }\r\n },\r\n computed:{\r\n manyTabs(){\r\n if(this.items.length>2){\r\n return 'b-tabs__nav--multiple'\r\n }\r\n return ''\r\n },\r\n topClass(){\r\n if(this.top)\r\n return 'b-tabs--top'\r\n\r\n return ''\r\n }\r\n }\r\n}\r\n\nconst accordionTabComponet = {\r\n props: { \r\n btnMoreTxt: \"\",\r\n btnHelpTxt: \"\",\r\n viewAccordionLimit: {\r\n type: Number,\r\n default: 5\r\n }, \r\n interactDiv: {\r\n type: String,\r\n default: \"\"\r\n },\r\n handler: {\r\n type: String,\r\n default: \"\"\r\n },\r\n }, \r\n template:\r\n `
\r\n
\r\n\r\n
1\">\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
`,\r\n mixins: [mixins],\r\n\tdata: function () {\r\n\t\treturn {\r\n\t\t\t$this: [],\r\n\t\t\tdata: [],\r\n\t\t\tselectedTab: null,\r\n\t\t\tselectedGroup: null\r\n\t\t};\r\n\t},\r\n\r\n\tmounted () {\t\t\r\n\t\tthis.loadData()\t\t\t\r\n\r\n\t},\r\n\tmethods: {\r\n\r\n\t\tloadData(){\r\n this.loading = true;\r\n\r\n this.ajax(this.handler, { page: this.page, sort: this.sort })\r\n\r\n },\r\n\r\n\t\thandleError(errorMessages) {\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n },\r\n\r\n handleAjaxSuccess(data) { \r\n this.data.push(...data);\r\n \r\n\t\t\tthis.selectedTab = this.tabs[0].value\r\n\t\t\tthis.selectedGroup = this.groups[0].value\r\n\r\n\t\t\tthis.$nextTick(function () {\t\r\n\t\t\t\t\r\n\t\t\t\tthis.refreshAccordion()\r\n\t\t\t})\r\n },\r\n\t\t\r\n\r\n\t\tonClickTab: function (value) {\r\n\t\t\tthis.selectedTab = value\r\n\t\t\tthis.selectedGroup = this.groups[0].value\r\n\t\t\tthis.refreshAccordion()\r\n\t\t},\r\n\r\n\t\tonClickGroup: function (value) {\r\n\t\t\tthis.selectedGroup = value\r\n\r\n\t\t},\r\n\r\n\t\trefreshAccordion: function () {\r\n\r\n\t\t\tvar elem = jQuery(\".b-accordion\", jQuery(this.$el))\r\n\r\n\t\t\tif (!elem.hasClass('ui-accordion')) {\r\n\t\t\t\telem.accordionSection({\r\n\t\t\t\t\theader: '.b-accordion__head'\r\n\t\t\t\t})\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\r\n\t\t\tthis.$nextTick(function () {\t\t\t\t\r\n\t\t\t\telem.accordion(\"refresh\")\r\n\t\t\t})\r\n\t\t},\r\n\r\n\t\tisExpaned(id){\r\n\r\n\t\t\tvar isExpanded = null\r\n\t\t\t\r\n\t\t\tthis.data.forEach(function (topNode) {\r\n\t\t\t\ttopNode.groups.forEach(function(groups){\r\n\t\t\t\t\tgroups.faqs.forEach(function(faq){\r\n\t\t\t\t\t\tif(faq.id=== id){\r\n\t\t\t\t\t\t\tisExpanded = groups.expanded\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t})\r\n\r\n\t\t\tif(isExpanded!==null){\r\n\t\t\t\treturn isExpanded\r\n\t\t\t}\r\n\r\n\t\t\treturn false\r\n\t\t},\r\n\r\n\t\texpandSelected(id){\r\n\r\n\t\t\tthis.data.forEach(function (item) {\r\n\t\t\t\titem.groups.forEach(function (groups) {\r\n\t\t\t\t\tgroups.faqs.forEach(function(faq){\r\n\t\t\t\t\t\tif(faq.id=== id){\r\n\t\t\t\t\t\t\tgroups.expanded = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t})\r\n\r\n\t\t\tthis.refreshAccordion()\r\n\t\t},\r\n\t\tdoInteract(){\r\n\t\t\tif(this.interactDiv){\r\n\t\t\t\tvar div = jQuery(this.interactDiv)\r\n\t\t\t\tif(div && div.length){\r\n\t\t\t\t\tdiv.slideDown()\r\n\t\t\t\t\tapi.fn.moveWindowToObj(div)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tcomputed: {\r\n\t\ttabs: function () {\r\n\t\t\treturn this.data.map(i => ({ value: i.id, text: i.title }))\r\n\t\t},\r\n\r\n\t\tgroups: function () {\r\n\r\n\t\t\tif (!this.hasValue(this.selectedTab)) {\r\n\t\t\t\treturn []\r\n\t\t\t}\r\n\r\n\t\t\treturn this.data.find(i => i.id === this.selectedTab)\r\n\t\t\t\t.groups\r\n\t\t\t\t.map(i => ({ value: i.id, title: i.title, subTitle: i.subTitle }))\r\n\t\t},\r\n\r\n\t\tfaqs: function () {\r\n\r\n\t\t\tif (!this.hasValue(this.selectedTab)) {\r\n\t\t\t\treturn []\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.hasValue(this.selectedGroup)) {\r\n\t\t\t\treturn []\r\n\t\t\t}\r\n\r\n\t\t\treturn this.data\r\n\t\t\t\t.find(i => i.id === this.selectedTab)\r\n\t\t\t\t.groups\r\n\t\t\t\t.find(i => i.id === this.selectedGroup)\r\n\t\t\t\t.faqs\r\n\t\t\t\t.map(i => ({ id: i.id, title: i.title, text: i.text }))\r\n\t\t}\r\n\t},\r\n\twatch: {\r\n\t\tselectedGroup: function (val) {\r\n\t\t\tthis.refreshAccordion()\r\n\t\t}\r\n\t}\r\n}\r\n\nconst slideUpDown = {\r\n props: [\"active\"],\r\n template: `
\r\n \r\n
`,\r\n data: function () {\r\n return {\r\n _this: null\r\n };\r\n },\r\n mounted() {\r\n this._this = jQuery(this.$el)\r\n \r\n this.toggleSlide(false)\r\n\r\n this.$watch(\r\n () => this.active,\r\n (newVal, oldVal) => {\r\n this.toggleSlide(true)\r\n }\r\n );\r\n },\r\n methods: {\r\n toggleSlide(animated) {\r\n if(this.active){\r\n if(animated){\r\n this._this.slideDown()\r\n } else {\r\n this._this.show()\r\n }\r\n } else {\r\n if(animated){\r\n jQuery(this.$el).slideUp()\r\n } else {\r\n this._this.hide()\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\nconst bAccordion = {\r\n props: {\r\n active:{\r\n type: Number,\r\n default: 0\r\n },\r\n header:{\r\n type: String,\r\n default: \".b-accordion__head\"\r\n },\r\n collapsible:{\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n template:`
`,\r\n data(){\r\n return {\r\n acc: null\r\n }\r\n },\r\n mounted(){\r\n this.acc = jQuery(this.$refs['accordion'])\r\n this.iniAccordion()\r\n\r\n this.$watch(() => this.active, (newVal, oldVal) => {\r\n this.setActive(newVal)\r\n }\r\n )\r\n },\r\n methods:{\r\n iniAccordion(){\r\n this.acc.accordion({\r\n heightStyle: \"content\",\r\n collapsible: this.collapsible,\r\n header: this.header,\r\n active: this.active,\r\n create: function (event, ui) {\r\n },\r\n beforeActivate: function (event, ui) {\r\n },\r\n activate: function (event, ui) {\r\n }\r\n })\r\n },\r\n setActive(num){\r\n this.acc.accordion( \"option\", \"active\", num );\r\n }\r\n }\r\n}\nvar svgSourcePrint = {\r\n props: {\r\n src: {\r\n type: String,\r\n default: \"\",\r\n },\r\n },\r\n template: ``,\r\n data() {\r\n return {\r\n imgSrc: \"\",\r\n };\r\n },\r\n mounted() {\r\n this.getSource();\r\n },\r\n methods: {\r\n getSource() {\r\n if (this.src !== \"\") {\r\n fetch(this.src).then((resp) => {\r\n if (resp.ok) {\r\n resp.text().then((txt) => {\r\n this.imgSrc = String(txt);\r\n });\r\n }\r\n });\r\n }\r\n },\r\n },\r\n};\r\n\nconst initDirective = {\r\n created(el, binding, vnode, prevVnode) {\r\n const vm = binding.instance\r\n var arg = toCamelCase(binding.arg)\r\n vm.$data[arg] = binding.value\r\n }\r\n}\r\n\r\nfunction toCamelCase(str) {\r\n return str.toLowerCase().replace(/-(.)/g, function(match, group1) {\r\n return group1.toUpperCase();\r\n }); \r\n}\nconst delayInitDirective = {\r\n created(el, binding, vnode, prevVnode) {\r\n const vm = binding.instance\r\n var arg = toCamelCase(binding.arg)\r\n \r\n setTimeout(()=>{\r\n vm.$data[arg] = binding.value\r\n console.log(binding.value)\r\n }, 500)\r\n }\r\n}\r\n\r\nfunction toCamelCase(str) {\r\n return str.toLowerCase().replace(/-(.)/g, function(match, group1) {\r\n return group1.toUpperCase();\r\n }); \r\n}\nlet emptyApps = [];\r\nconst emptyAppDivs = document.querySelectorAll(\".empty-apps\");\r\nif (emptyAppDivs.length > 1) {\r\n for (let i = 0; i < emptyAppDivs.length; ++i) {\r\n if (emptyAppDivs[i].id && emptyAppDivs[i].id !== \"\") {\r\n emptyApps.push(Vue.createApp({}));\r\n\r\n for (let z = 0; z < commonComponents.length; z++) {\r\n emptyApps[i].component(commonComponents[z].name, commonComponents[z].var);\r\n }\r\n\r\n emptyApps[i].mount(`#${emptyAppDivs[i].id}`);\r\n }\r\n }\r\n}\r\n\nconst headerMenu = {\r\n data() {\r\n return {\r\n // selectedCard: null,\r\n flipped: false,\r\n header: null,\r\n // headerCards: null\r\n };\r\n },\r\n mounted() {\r\n // this.headerCards = window.headerCards;\r\n\r\n this.$nextTick(() => {\r\n this.header = jQuery(this.$el);\r\n\r\n this.header.parents(\".header__layer\").headerDesktop();\r\n this.header.parents(\".header__layer\").headerScroll();\r\n });\r\n },\r\n methods: {\r\n // selectCard(id) {\r\n // if (id === false) {\r\n // this.selectedCard = null;\r\n // return;\r\n // }\r\n\r\n // if (this.headerCards && this.headerCards[id]) {\r\n // if (\r\n // this.selectedCard &&\r\n // this.selectedCard.id &&\r\n // this.selectedCard.id !== this.headerCards[id].id\r\n // )\r\n // this.flipped = !this.flipped;\r\n\r\n // this.selectedCard = this.headerCards[id];\r\n // }\r\n // },\r\n isSelectedCard(card) {\r\n if (this.selectedCard && card) {\r\n return this.selectedCard.id === card.id;\r\n }\r\n\r\n return false;\r\n },\r\n activeClass(card) {\r\n return this.isSelectedCard(card) ? \"active\" : \"inactive\";\r\n },\r\n },\r\n};\r\nconst headerMenuApp = Vue.createApp(headerMenu);\r\n// headerMenuApp.component(\"header-card\", headerCard);\r\n\r\nconst selHeader = document.querySelector(\"#header-app\");\r\nif (selHeader) headerMenuApp.mount(selHeader);\r\n\nconst headerMenuDevices = {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tshowMenu: false,\r\n\t\t\tactiveIds: [],\r\n\t\t\tactiveTexts: [],\r\n\t\t\tnoscrollClassName: 'noscroll-devices'\r\n\t\t}\r\n\t},\r\n\tmounted() {\r\n\t\tthis.$nextTick(() => {\r\n\t\t\tthis.header = jQuery(this.$el)\r\n\t\t\tthis.header.headerScroll()\r\n\t\t})\r\n\t},\r\n\tmethods: {\r\n\t\ttoggleMenu: function () {\r\n\r\n\t\t\tthis.showMenu ? this.closeMenu() : this.openMenu()\r\n\r\n\t\t},\r\n\r\n\t\topenMenu(){\r\n\t\t\tthis.showMenu = true\r\n\t\t\tthis.disableBodyScroll()\r\n\t\t},\r\n\r\n\t\tcloseMenu(){\r\n\t\t\tthis.showMenu = false\r\n\t\t\tthis.activeIds = []\r\n\t\t\tthis.activeTexts = []\r\n\t\t\tthis.enableBodyScroll()\r\n\t\t},\r\n\r\n\t\topenSubMenu: function (event) {\r\n\t\t\tvar element = event.target\r\n\r\n\t\t\tthis.activeIds.push(element.getAttribute('data-id'))\r\n\t\t\tthis.activeTexts.push(element.getAttribute('data-text'))\r\n\t\t},\r\n\r\n\t\tgoBack: function () {\r\n\t\t\tthis.activeIds.splice(-1, 1)\r\n\t\t\tthis.activeTexts.splice(-1, 1)\r\n\t\t},\r\n\r\n\t\tonClickHeader: function () {\r\n\t\t\treturn false\r\n\t\t},\r\n\r\n\t\tdisableBodyScroll: function () {\r\n\t\t\tjQuery('body, html').addClass(this.noscrollClassName)\r\n\t\t},\r\n\r\n\t\tenableBodyScroll: function () {\r\n\t\t\tjQuery('body, html').removeClass(this.noscrollClassName)\r\n\t\t},\r\n\r\n\t\tincludedInPath: function (value) {\r\n\t\t\treturn this.activeIds.includes(value)\r\n\t\t}\r\n\t},\r\n\r\n\tcomputed: {\r\n\t\tparentId: function () {\r\n\t\t\treturn this.activeIds[this.activeIds.length - 1]\r\n\t\t},\r\n\r\n\t\tparentText: function () {\r\n\t\t\treturn this.activeTexts[this.activeTexts.length - 1]\r\n\t\t},\r\n\r\n\t\tshowBack: function () {\r\n\t\t\treturn this.activeIds.length\r\n\t\t}\r\n\t}\r\n}\r\nconst headerMenuDevicesApp = Vue.createApp(headerMenuDevices)\r\nconst selHeaderDevices = document.querySelector('#header-devices')\r\nlet headerMenuDevicesMounted\r\nif(selHeaderDevices)\r\n\theaderMenuDevicesMounted = headerMenuDevicesApp.mount(selHeaderDevices)\nconst introTabs = {\r\n mixins: [mixin_intro_tabs],\r\n data() {\r\n return {\r\n carouselitems: 1,\r\n slickOptions: {}\r\n }\r\n },\r\n mounted(){\r\n this.slickOptions = {\r\n edgeFriction: api.vars.slick.edgeFriction,\r\n infinite: false,\r\n arrows: false,\r\n dots: false,\r\n rows: 0,\r\n variableWidth: true ? jQuery('body').hasClass('p-article') : false,\r\n slidesToShow: this.carouselitems,\r\n responsive: [{\r\n breakpoint: api.vars.scr.desktop - 1,\r\n settings: {\r\n variableWidth: true,\r\n slidesToShow: 1\r\n }\r\n }]\r\n }\r\n }\r\n}\r\n\r\nlet introTabsApp = [];\r\nconst introTabsDivs = document.querySelectorAll(\".s-intro-tabs\");\r\nif (introTabsDivs.length) {\r\n for (let i = 0; i < introTabsDivs.length; ++i) {\r\n if (introTabsDivs[i].id && introTabsDivs[i].id !== \"\") {\r\n introTabsApp.push(Vue.createApp({...introTabs}));\r\n introTabsApp[i].directive('init', initDirective);\r\n introTabsApp[i].component(\"slick-carousel\",slickCarousel);\r\n introTabsApp[i].mount(`#${introTabsDivs[i].id}`);\r\n }\r\n }\r\n}\nconst homeNews = {\r\n mixins: [mixins],\r\n data() {\r\n return {\r\n // default\r\n $this: [],\r\n isLoading: false, \r\n\r\n handler:null,\r\n isMobile: false,\r\n featuredArticles:[],\r\n listArticles:[],\r\n\r\n slickOptions: {\r\n lazyLoad: 'progressive',\r\n edgeFriction: api.vars.slick.edgeFriction,\r\n infinite: false,\r\n arrows: false,\r\n dots: true,\r\n rows: 0,\r\n slidesToShow: 1,\r\n fade: true,\r\n cssEase: 'linear',\r\n autoplay: true,\r\n autoplaySpeed: 6000,\r\n responsive: [\r\n {\r\n breakpoint: api.vars.scr.tablet - 1,\r\n settings: {\r\n edgeFriction: api.vars.slick.edgeFriction, \r\n slidesToShow: 1, \r\n fade: false,\r\n variableWidth:true,\r\n autoplay: false,\r\n dots:false\r\n },\r\n } \r\n ], \r\n },\r\n\r\n slickListOptions: {\r\n responsive: [\r\n {\r\n breakpoint: api.vars.scr.tablet - 1,\r\n settings: {\r\n edgeFriction: api.vars.slick.edgeFriction,\r\n infinite: true,\r\n arrows: false,\r\n dots: true,\r\n variableWidth:true,\r\n rows: 0,\r\n slidesToShow: 1,\r\n autoplay: true\r\n },\r\n } \r\n ],\r\n \r\n },\r\n\r\n // server error dialog\r\n errorMsgs: [],\r\n }\r\n },\r\n \r\n mounted(){\r\n \r\n api.fn.getWindDims();\r\n\r\n this.appendDotsToSlicks()\r\n\r\n this.$nextTick(() => {\r\n\r\n this.checkMobileScreen()\r\n \r\n jQuery(document).on(\"window-resized\", ()=> {\r\n this.checkMobileScreen()\r\n })\r\n \r\n this.fetchArticles()\r\n });\r\n },\r\n\r\n methods:{\r\n\r\n appendDotsToSlicks(){\r\n\r\n this.slickOptions.responsive[0].settings.appendDots = jQuery(this.$el).find(\".feature-slick-dots\")\r\n \r\n this.slickListOptions.responsive[0].settings.appendDots = jQuery(this.$el).find(\".list-slick-dots\")\r\n\r\n },\r\n\r\n checkMobileScreen (){ \r\n this.isMobile = api.vars.windW < api.vars.scr.tablet - 1;\r\n },\r\n\r\n fetchArticles: function () {\r\n this.isLoading = true;\r\n\r\n axios\r\n .post(this.handler)\r\n .then((response) => { \r\n\r\n // response has error\r\n if (response.data.hasError) {\r\n this.handleError(errorMessages);\r\n return false;\r\n } \r\n\r\n this.featuredArticles = response.data.data.records.filter(i => i.isFeatured == \"true\") \r\n this.listArticles = response.data.data.records.filter(i => i.isFeatured == \"false\") \r\n\r\n this.$nextTick(function(){ \r\n this.$refs.news.reSlick() \r\n if(this.$refs.newslist)\r\n this.$refs.newslist.reSlick() \r\n })\r\n\r\n // Dom actions\r\n this.isLoading = false;\r\n })\r\n .catch((errors) => {\r\n this.handleError([errors]);\r\n // console.error(errors);\r\n });\r\n },\r\n\r\n handleError: function (messages) {\r\n\t\t\tthis.errorMsgs = this.hasValue(messages) ? messages : []\r\n\t\t\tthis.isLoading = false\r\n\t\t},\r\n \r\n \r\n }\r\n}\r\n\r\nlet homeNewsApp = [];\r\nconst homeNewsDivs = document.querySelectorAll(\".s-news-home\");\r\nif (homeNewsDivs.length) {\r\n for (let i = 0; i < homeNewsDivs.length; ++i) {\r\n\t\tif (homeNewsDivs[i].id && homeNewsDivs[i].id !== \"\") {\r\n\t\t\thomeNewsApp.push(Vue.createApp({...homeNews}));\r\n homeNewsApp[i].component(\"alert-danger\", alertDanger)\r\n homeNewsApp[i].component(\"slick-carousel\", slickCarousel)\r\n\t\t\thomeNewsApp[i].directive('init', initDirective);\r\n\t\t\thomeNewsApp[i].mount(`#${homeNewsDivs[i].id}`);\r\n\t\t}\r\n\t}\r\n}\r\n// const newsApp = Vue.createApp(homeNews)\r\n// newsApp.directive('init', initDirective);\r\n// if(document.querySelector(\"#home-news\"))\r\n// newsApp.mount('#home-news')\nconst newsletter = {\r\n\tmixins: [mixins],\r\n\tdata: function () {\r\n\t\treturn {\r\n\t\t\t// default\r\n\t\t\t$this: [],\r\n\t\t\tisMounted: false,\r\n\t\t\tisLoading: false,\r\n\t\t\t// properties\r\n\t\t\temail: null,\r\n\t\t\tculture: null,\r\n\t\t\thasApproved:false,\r\n\t\t\tpostUrl: null,\r\n\t\t\t// server error dialog\r\n\t\t\terrorMsgs: [],\r\n\t\t\tsuccessMsgs: [],\r\n\t\t};\r\n\t},\r\n\tcreated: function () {\r\n\t\taxios.defaults.headers.common[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n\t},\r\n\tmounted: function () {\r\n\t\tthis.isMounted = true;\r\n\t\tthis.postUrl = this.getFormAction(this.$refs.sNewsletterForm)\r\n\t\tthis.culture = jQuery(this.$refs.sNewsletterForm).data('culture')\r\n\t},\r\n\tmethods: {\r\n\r\n\t\tsubmitForm: function () {\r\n\r\n\t\t\tif (!jQuery(this.$refs.sNewsletterForm).valid()) {\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\r\n\t\t\tthis.errorMsgs = []\r\n\t\t\tthis.isLoading = true\r\n\r\n\t\t\tvar postData = {\r\n\t\t\t\temail: this.email,\r\n\t\t\t\tculture: this.culture,\r\n\t\t\t\thasApproved :this.hasApproved\r\n\t\t\t}\r\n\r\n\t\t\taxios\r\n\t\t\t\t.post(this.postUrl, postData, this.getAxiosConfig)\r\n\t\t\t\t.then((response) => {\r\n\r\n\t\t\t\t\tvar { hasError, errorMessages, successMessages } = response.data\r\n\t\t\t\t\t\r\n\t\t\t\t\t// response has error\r\n\t\t\t\t\tif (hasError) {\r\n\t\t\t\t\t\tthis.handleError(errorMessages)\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.handleSuccess(successMessages)\r\n\t\t\t\t})\r\n\t\t\t\t.catch((errors) => {\r\n\t\t\t\t\tthis.handleError([this.globalerror])\r\n\t\t\t\t})\r\n\t\t\t\t.then(()=>{\r\n\t\t\t\t\tthis.isLoading = false\r\n\t\t\t\t});\r\n\t\t},\r\n\t\thandleSuccess: function (messages) {\r\n\r\n\t\t\tthis.isLoading = false\r\n\r\n\t\t\tthis.errorMsgs = []\r\n\t\t\tthis.successMsgs = this.hasValue(messages) ? messages : []\r\n\r\n\t\t\tthis.$nextTick(() => {\r\n\t\t\t\tthis.$refs.sNewsletterForm.reset() // This will clear that form\r\n\t\t\t\tthis.$refs.newsletterEmail.focus()\r\n\t\t\t\tthis.$refs.newsletterEmail.blur()\r\n\t\t\t});\r\n\t\t},\r\n\t\thandleError: function (messages) {\r\n\t\t\tthis.errorMsgs = this.hasValue(messages) ? messages : []\r\n\t\t},\r\n\t},\r\n};\r\n\r\nvar newsletterApp = Vue.createApp(newsletter)\r\nnewsletterApp.directive('init', initDirective)\r\nnewsletterApp.component(\"alert-danger\", alertDanger)\r\nnewsletterApp.component(\"alert-success\", alertSuccess)\r\nconst selNewsletter= document.querySelector('#footer-newsletter')\r\nif(selNewsletter)\r\n\tnewsletterApp.mount(selNewsletter)\nconst accordionTabs = {\r\n\tmixins: [mixins],\r\n\tdata: function () {\r\n\t\treturn {\r\n\t\t\t// default\r\n\t\t\t$this: [],\r\n\t\t\t// properties\r\n\t\t\tdata: [],\r\n\t\t\tselectedTab: null,\r\n\t\t\tselectedGroup: null,\r\n\t\t\tviewAccordionLimit: 5,\r\n\t\t\tinteractDiv: null,\r\n\t\t\thandler:''\r\n\t\t};\r\n\t},\r\n\r\n\tmounted () {\t\t\r\n\t\tthis.loadData()\t\r\n\r\n\t\t\r\n\r\n\t},\r\n\tmethods: {\r\n\r\n\t\tloadData(){\r\n this.loading = true;\r\n\r\n try {\r\n axios\r\n .post(this.handler, { page: this.page, sort: this.sort })\r\n .then((response) => {\r\n var { hasError, errorMessages, data } =\r\n response.data;\r\n\r\n if (hasError) {\r\n this.handleError(errorMessages);\r\n return false;\r\n }\r\n\r\n this.handleAjaxSuccess(data);\r\n })\r\n .catch((errors) => {\r\n this.handleError([errors]);\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } catch (err) {\r\n this.loading = false;\r\n this.handleError(JSON.parse(err));\r\n }\r\n },\r\n\r\n\t\thandleError(errorMessages) {\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n },\r\n\r\n handleAjaxSuccess(data) { \r\n this.data.push(...data);\r\n \r\n\t\t\tthis.selectedTab = this.tabs[0].value\r\n\t\t\tthis.selectedGroup = this.groups[0].value\r\n\r\n\t\t\tthis.$nextTick(function () {\t\r\n\t\t\t\t\r\n\t\t\t\tthis.refreshAccordion()\r\n\r\n\t\t\t\t//jQuery(\".b-accordion\", jQuery(this.$el)).accordion()\r\n\t\t\t})\r\n },\r\n\t\t\r\n\r\n\t\tonClickTab: function (value) {\r\n\t\t\tthis.selectedTab = value\r\n\t\t\tthis.selectedGroup = this.groups[0].value\r\n\t\t\tthis.refreshAccordion()\r\n\t\t},\r\n\r\n\t\tonClickGroup: function (value) {\r\n\t\t\tthis.selectedGroup = value\r\n\r\n\t\t},\r\n\r\n\t\trefreshAccordion: function () {\r\n\r\n\t\t\tvar elem = jQuery(\".b-accordion\", jQuery(this.$el))\r\n\r\n\t\t\tif (!elem.hasClass('ui-accordion')) {\t\t\t\t\r\n\t\t\t\telem.accordionSection({\r\n\t\t\t\t\theader: '.b-accordion__head',\r\n\t\t\t\t//\tactive:false,\r\n\t\t\t\t//\tuseOptsActive:true\r\n\t\t\t\t})\r\n\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\r\n\t\t\tthis.$nextTick(function () {\t\t\t\t\r\n\t\t\t\telem.accordion(\"refresh\")\r\n\t\t\t})\r\n\t\t},\r\n\r\n\t\tisExpaned(id){\r\n\r\n\t\t\tvar isExpanded = null\r\n\t\t\t\r\n\t\t\tthis.data.forEach(function (topNode) {\r\n\t\t\t\ttopNode.groups.forEach(function(groups){\r\n\t\t\t\t\tgroups.faqs.forEach(function(faq){\r\n\t\t\t\t\t\tif(faq.id=== id){\r\n\t\t\t\t\t\t\tisExpanded = groups.expanded\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t})\r\n\r\n\t\t\tif(isExpanded!==null){\r\n\t\t\t\treturn isExpanded\r\n\t\t\t}\r\n\r\n\t\t\treturn false\r\n\t\t},\r\n\r\n\t\texpandSelected(id){\r\n\r\n\t\t\tthis.data.forEach(function (item) {\r\n\t\t\t\titem.groups.forEach(function (groups) {\r\n\t\t\t\t\tgroups.faqs.forEach(function(faq){\r\n\t\t\t\t\t\tif(faq.id=== id){\r\n\t\t\t\t\t\t\tgroups.expanded = true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t})\r\n\r\n\t\t\tthis.refreshAccordion()\r\n\t\t},\r\n\t\tdoInteract(){\r\n\t\t\tif(this.interactDiv){\r\n\t\t\t\tvar div = jQuery(this.interactDiv)\r\n\t\t\t\tif(div && div.length){\r\n\t\t\t\t\tdiv.slideDown()\r\n\t\t\t\t\tapi.fn.moveWindowToObj(div)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tcomputed: {\r\n\t\ttabs: function () {\r\n\t\t\treturn this.data.map(i => ({ value: i.id, text: i.title }))\r\n\t\t},\r\n\r\n\t\tgroups: function () {\r\n\r\n\t\t\tif (!this.hasValue(this.selectedTab)) {\r\n\t\t\t\treturn []\r\n\t\t\t}\r\n\r\n\t\t\treturn this.data.find(i => i.id === this.selectedTab)\r\n\t\t\t\t.groups\r\n\t\t\t\t.map(i => ({ value: i.id, title: i.title, subTitle: i.subTitle }))\r\n\t\t},\r\n\r\n\t\tfaqs: function () {\r\n\r\n\t\t\tif (!this.hasValue(this.selectedTab)) {\r\n\t\t\t\treturn []\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.hasValue(this.selectedGroup)) {\r\n\t\t\t\treturn []\r\n\t\t\t}\r\n\r\n\t\t\treturn this.data\r\n\t\t\t\t.find(i => i.id === this.selectedTab)\r\n\t\t\t\t.groups\r\n\t\t\t\t.find(i => i.id === this.selectedGroup)\r\n\t\t\t\t.faqs\r\n\t\t\t\t.map(i => ({ id: i.id, title: i.title, text: i.text }))\r\n\t\t}\r\n\t},\r\n\twatch: {\r\n\t\tselectedGroup: function (val) {\r\n\t\t\tthis.refreshAccordion()\r\n\t\t}\r\n\t}\r\n};\r\n\r\nlet accordionTabsApp = [];\r\nconst accordionTabsDivs = document.querySelectorAll(\".s-accordion-tabs\");\r\nif (accordionTabsDivs.length) {\r\n for (let i = 0; i < accordionTabsDivs.length; ++i) {\r\n\t\tif (accordionTabsDivs[i].id && accordionTabsDivs[i].id !== \"\") {\r\n\t\t\taccordionTabsApp.push(Vue.createApp({...accordionTabs}));\r\n\t\t\taccordionTabsApp[i].directive('init', initDirective);\r\n\t\t\taccordionTabsApp[i].mount(`#${accordionTabsDivs[i].id}`);\r\n\t\t}\r\n\t}\r\n}\nconst searchModal = {\r\n data () {\r\n\t\treturn {\r\n isOpened: false,\r\n errorMsgs:[]\r\n }\r\n },\r\n\tmounted () {\r\n\t},\r\n methods: {\r\n toggleSearch(){\r\n this.isOpened ? this.closeSearch() : this.openSearch()\r\n },\r\n openSearch(){\r\n if(headerMenuDevicesMounted)\r\n headerMenuDevicesMounted.closeMenu()\r\n\r\n jQuery('html, body').addClass('search-modal-opened')\r\n this.isOpened = true\r\n },\r\n closeSearch(){\r\n jQuery('html, body').removeClass('search-modal-opened')\r\n this.isOpened = false\r\n },\r\n searchFailed(messages) {\r\n this.errorMsgs = [].concat(messages)\r\n }\r\n }\r\n}\r\n\r\nvar searchModalApp = Vue.createApp(searchModal)\r\nif(document.querySelector(\"#search-app\")){\r\n searchModalApp.directive('init', initDirective);\r\n searchModalApp.component(\"search-input\", searchInput);\r\n searchModalApp.component(\"b-auto-completer\", bAutoCompleter);\r\n searchModalApp.component(\"alert-danger\", alertDanger)\r\n searchModalApp.mount(\"#search-app\")\r\n}\r\n\r\n \nconst searchResults = {\r\n mixins: [mixins],\r\n data() {\r\n return {\r\n value: \"\",\r\n tabs: [],\r\n tab: null,\r\n tabItem: null,\r\n handler: \"\",\r\n errorMsgs: [],\r\n records: [],\r\n loading: true,\r\n page: 1,\r\n allItems: 0,\r\n };\r\n },\r\n mounted() {},\r\n methods: {\r\n reset() {\r\n this.records = [];\r\n this.page = 1;\r\n },\r\n changeTab(newTab) {\r\n api.fn.moveWindowToObj(jQuery(\".s-search-results\"), 0, () => {\r\n this.$refs[\"tabs\"].changeTab(newTab);\r\n });\r\n },\r\n tabChanged(newTab) {\r\n this.reset();\r\n\r\n this.tab = newTab;\r\n this.tabItem = this.tabs.filter((x) => x.id === newTab)[0];\r\n\r\n this.setLazy();\r\n\r\n if (this.tabItem.type !== \"group\") {\r\n this.doSearch();\r\n }\r\n },\r\n doSearch() {\r\n this.loading = true;\r\n this.errorMsgs = [];\r\n\r\n try {\r\n axios\r\n .post(this.handler, { value: this.tab, page: this.page })\r\n .then((response) => {\r\n var { hasError, errorMessages, data, allItems } = response.data;\r\n\r\n if (hasError) {\r\n this.handleError(errorMessages);\r\n return false;\r\n }\r\n\r\n this.handleSuccess(data, allItems);\r\n })\r\n .catch((errors) => {\r\n this.handleError([this.globalerror]);\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } catch (err) {\r\n this.loading = false;\r\n this.handleError(JSON.parse(err));\r\n }\r\n },\r\n handleError(messages) {\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n },\r\n handleSuccess(data, allItems) {\r\n this.records = [];\r\n\r\n this.$nextTick(() => {\r\n this.allItems = parseInt(allItems);\r\n this.records = [].concat(...data);\r\n });\r\n },\r\n pageChanged(newPage) {\r\n this.page = newPage;\r\n\r\n if (this.tabItem.type !== \"group\") {\r\n this.doSearch();\r\n this.scrollToElem(jQuery(this.$el));\r\n }\r\n },\r\n setLazy() {\r\n this.$nextTick(() => {\r\n jQuery(this.$el).find(\"[data-src]\").lazy();\r\n });\r\n },\r\n cardBg(card) {\r\n if (card !== null && card.bg && card.bg !== \"\") {\r\n return card.bg;\r\n }\r\n return \"\";\r\n },\r\n },\r\n computed: {},\r\n};\r\n\r\nvar searchResultsApp = Vue.createApp(searchResults);\r\nif (document.querySelector(\"#search-results\")) {\r\n searchResultsApp.directive(\"init\", initDirective);\r\n searchResultsApp.component(\"search-input\", searchInput);\r\n searchResultsApp.component(\"b-auto-completer\", bAutoCompleter);\r\n searchResultsApp.component(\"b-tabs\", bTabs);\r\n searchResultsApp.component(\"b-pagination\", bPagination);\r\n searchResultsApp.mount(\"#search-results\");\r\n}\r\n\nconst appointmentForm = {\r\n mixins: [mixins],\r\n data: function () {\r\n\t\treturn {\r\n\t\t\tisLoading: false,\r\n\t\t\t// server error dialog\r\n\t\t\terrorMsgs: [],\r\n\t\t\tsuccessMsgs: [],\r\n }\r\n },\r\n\tcreated: function () {\r\n\t\taxios.defaults.headers.common[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n\t},\r\n\tmounted: function () {\r\n\t\tthis.postUrl = this.getFormAction(this.$refs.sAppointmentForm)\r\n\t},\r\n methods: {\r\n submitForm(){\r\n\r\n },\r\n openAppointment(){\r\n console.log(\"openAppointment\")\r\n }\r\n }\r\n}\r\n\r\nvar appointmentFormApp = Vue.createApp(appointmentForm)\r\nif(document.querySelector(\"#appointment-form-app\"))\r\n appointmentFormApp.mount(\"#appointment-form-app\")\nconst mediaLanding = {\r\n mixins: [mixins, mixin_viewport],\r\n data: function () {\r\n return {\r\n handler: \"\",\r\n sort: \"\",\r\n loading: true,\r\n page: 0,\r\n errorMsgs: [],\r\n hasMore: false,\r\n records: [],\r\n itemsPerRow: 2,\r\n };\r\n },\r\n mounted() {\r\n this.loadMore();\r\n },\r\n methods: {\r\n loadMore() {\r\n this.loading = true;\r\n this.errorMsgs = [];\r\n this.page++;\r\n\r\n try {\r\n axios\r\n .post(this.handler, { page: this.page, sort: this.sort })\r\n .then((response) => {\r\n var { hasError, errorMessages, data, hasMore } = response.data;\r\n\r\n if (hasError) {\r\n this.handleError(errorMessages);\r\n return false;\r\n }\r\n\r\n this.handleSuccess(data, hasMore);\r\n })\r\n .catch((errors) => {\r\n this.handleError([errors]);\r\n })\r\n .then(() => {\r\n this.loading = false;\r\n });\r\n } catch (err) {\r\n this.loading = false;\r\n this.handleError(JSON.parse(err));\r\n }\r\n },\r\n handleError(errorMessages) {\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n },\r\n handleSuccess(data, hasMore) {\r\n this.hasMore = hasMore;\r\n this.records.push(...data);\r\n\r\n if (this.$refs.lightbox) this.$refs.lightbox.loadMoreComplete();\r\n },\r\n // sortChanged(){\r\n // this.reset()\r\n // this.loadMore();\r\n // },\r\n reset() {\r\n this.page = 0;\r\n this.records = [];\r\n },\r\n mediaClicked(e, item) {\r\n const index = this.records.findIndex((x) => x.id === item.id);\r\n this.$refs.lightbox.showItem(e, index);\r\n },\r\n },\r\n computed: {\r\n itemsPerRowClass() {\r\n return `items-per-row--${this.itemsPerRow}`;\r\n },\r\n },\r\n};\r\nconst mediaLandingApp = Vue.createApp(mediaLanding);\r\nconst mediaLandingDiv = document.querySelector(\"#mediaLanding\");\r\nif (mediaLandingDiv) {\r\n mediaLandingApp.directive(\"init\", initDirective);\r\n mediaLandingApp.component(\"infinity-scroll\", infinityScroll);\r\n mediaLandingApp.component(\"b-media-item--file\", bMediaItemFile);\r\n mediaLandingApp.component(\"photo-item\", photoItem);\r\n mediaLandingApp.component(\"media-item\", mediaItem);\r\n mediaLandingApp.component(\"custom-lightbox\", customLightbox);\r\n mediaLandingApp.mount(mediaLandingDiv);\r\n}\r\n\nconst pressReleases = {\r\n mixins: [mixins, mixin_intro_tabs],\r\n data () {\r\n\t\treturn {\r\n handler: \"\",\r\n records: [],\r\n allItems:0,\r\n page: 1,\r\n year: \"\",\r\n month: \"\",\r\n iniTabData: null,\r\n roots: [],\r\n tags: [],\r\n tabOutTimer: 0\r\n }\r\n },\r\n created(){\r\n \r\n },\r\n\tmounted () {\r\n\r\n this.setIniTabData()\r\n\r\n setTimeout(()=>{\r\n this.loadData()\r\n })\r\n\r\n this.$watch(\r\n () => this.tab,\r\n (newVal, oldVal) => {\r\n this.setIniTabData()\r\n this.filterChanged()\r\n }\r\n )\r\n\t},\r\n methods:{\r\n setIniTabData(){\r\n if(this.iniTabData){\r\n this.month = this.iniTabData[this.tab].month\r\n this.year = this.iniTabData[this.tab].year\r\n }\r\n },\r\n beforeLoad(){\r\n api.fn.moveWindowToObj(jQuery(this.$el).find('.strip-conts'))\r\n this.loadData()\r\n },\r\n loadData(){\r\n this.loading = true;\r\n this.ajax(this.handler, \r\n {\r\n \"year\": this.year, \r\n \"month\": this.month, \r\n \"page\": this.page, \r\n \"roots\": this.iniTabData[this.tab].roots, \r\n \"tags\": this.iniTabData[this.tab].tags\r\n })\r\n \r\n },\r\n handleAjaxSuccess(data, obj) {\r\n this.allItems = parseInt(obj.allItems)\r\n this.records = []\r\n this.$nextTick(()=>{\r\n this.records = [].concat(...data)\r\n })\r\n },\r\n pageChanged(newPage){\r\n this.page = newPage\r\n this.beforeLoad()\r\n },\r\n filterChanged(){\r\n this.page = 1\r\n this.records = []\r\n this.loading = true;\r\n clearTimeout(this.tabOutTimer)\r\n\r\n this.tabOutTimer = setTimeout(()=>{\r\n this.beforeLoad()\r\n }, 500)\r\n \r\n }\r\n }\r\n}\r\n\r\nlet pressReleasesApp = [];\r\nconst pressReleasesDiv = document.querySelectorAll(\".s-press-releases\");\r\nif (pressReleasesDiv.length) {\r\n for (let i = 0; i < pressReleasesDiv.length; ++i) {\r\n if (pressReleasesDiv[i].id && pressReleasesDiv[i].id !== \"\") {\r\n pressReleasesApp.push(Vue.createApp({...pressReleases}));\r\n pressReleasesApp[i].directive('init', initDirective);\r\n pressReleasesApp[i].component('b-pagination', bPagination);\r\n pressReleasesApp[i].mount(`#${pressReleasesDiv[i].id}`);\r\n }\r\n }\r\n}\r\n\n/// \r\n\r\nconst board = {\r\n mixins: [mixin_viewport],\r\n data: function () {\r\n return {\r\n myModal: null,\r\n boardData: typeof window.boardData !== 'undefined' ? window.boardData : null,\r\n selectedBoard: null\r\n };\r\n },\r\n mounted() {\r\n var myModalEl = document.getElementById(\"boardModal\");\r\n this.myModal = new bootstrap.Modal(myModalEl, {});\r\n\r\n myModalEl.addEventListener(\"hidden.bs.modal\", (event) => {\r\n this.removeBoard()\r\n });\r\n\r\n \r\n\r\n this.$watch(() => this.screen, (newVal, oldVal) => {\r\n if(newVal==='phone'){\r\n if(this.selectedBoard){\r\n this.myModal.hide();\r\n }\r\n }\r\n }\r\n )\r\n \r\n \r\n },\r\n methods: {\r\n setBoard(index) {\r\n\r\n this.selectedBoard = this.boardData[index]\r\n\r\n \r\n\r\n if(this.screen==='phone'){\r\n api.fn.moveWindowToObj(jQuery(this.$el))\r\n\r\n } else if(this.screen==='table' || this.screen==='desktop') {\r\n this.myModal.show();\r\n }\r\n },\r\n \r\n removeBoard(){\r\n this.selectedBoard = null\r\n }\r\n },\r\n};\r\n\r\nvar boardApp = Vue.createApp(board);\r\nif (document.querySelector(\"#s-board\")) boardApp.mount(\"#s-board\");\r\n\nconst simpleTable = {\r\n mixins: [mixins],\r\n data() {\r\n return {\r\n page: 1,\r\n records: typeof window.tableData !== \"undefined\" ? window.tableData : [],\r\n itemsPerPage: null,\r\n };\r\n },\r\n mounted() {},\r\n methods: {\r\n pageChanged(value) {\r\n this.scrollToElem(jQuery(\".b-simple-table-app\"), 150);\r\n this.page = value;\r\n },\r\n },\r\n computed: {\r\n results: function () {\r\n var start = (this.page - 1) * this.itemsPerPage;\r\n var end = this.page * this.itemsPerPage;\r\n return this.records.slice(start, end);\r\n },\r\n },\r\n};\r\n\r\nvar simpleTableApp = Vue.createApp(simpleTable);\r\nif (document.querySelector(\"#simple-table\")) {\r\n simpleTableApp.directive(\"init\", initDirective);\r\n simpleTableApp.component(\"b-pagination\", bPagination);\r\n simpleTableApp.mount(\"#simple-table\");\r\n}\r\n\nconst contactForm = {\r\n mixins: [mixins],\r\n data: function () {\r\n return {\r\n // default\r\n $this: [],\r\n isMounted: false,\r\n isLoading: false,\r\n // properties\r\n subject: \"\",\r\n email: null,\r\n company: null,\r\n fullname: null,\r\n telephone: null,\r\n comments: null,\r\n culture: null,\r\n\r\n postUrl: null,\r\n\r\n scrollTo: {\r\n className: \".s-contact__form\",\r\n offset: 120,\r\n },\r\n // server error dialog\r\n errorMsgs: [],\r\n successMsgs: [],\r\n };\r\n },\r\n created: function () {\r\n axios.defaults.headers.common[\"X-Requested-With\"] = \"XMLHttpRequest\";\r\n },\r\n mounted: function () {\r\n this.isMounted = true;\r\n this.postUrl = this.getFormAction(this.$refs.contactForm);\r\n },\r\n methods: {\r\n submitForm: function () {\r\n if (!jQuery(this.$refs.contactForm).valid()) {\r\n return false;\r\n }\r\n\r\n this.errorMsgs = [];\r\n this.isLoading = true;\r\n\r\n var postData = {\r\n subject: this.subject,\r\n email: this.email,\r\n company: this.company,\r\n fullname: this.fullname,\r\n telephone: this.telephone,\r\n comments: this.comments,\r\n culture: this.culture\r\n };\r\n\r\n axios\r\n .post(this.postUrl, postData, this.getAxiosConfig)\r\n .then((response) => {\r\n var { hasError, errorMessages, successMessages } = response.data;\r\n\r\n // response has error\r\n if (hasError) {\r\n this.handleError(errorMessages);\r\n return false;\r\n }\r\n\r\n this.handleSuccess(successMessages);\r\n })\r\n .catch((errors) => {\r\n this.handleError([this.globalerror]);\r\n });\r\n },\r\n handleSuccess: function (messages) {\r\n this.isLoading = false;\r\n\r\n this.errorMsgs = [];\r\n this.successMsgs = this.hasValue(messages) ? messages : [];\r\n\r\n this.$nextTick(() => {\r\n this.$refs.contactForm.reset(); // This will clear that form\r\n });\r\n\r\n this.scrollToElem(jQuery(this.scrollTo.className), this.scrollTo.offset);\r\n },\r\n handleError: function (messages) {\r\n this.isLoading = false;\r\n\r\n this.errorMsgs = this.hasValue(messages) ? messages : [];\r\n this.scrollToElem(jQuery(this.scrollTo.className), this.scrollTo.offset);\r\n },\r\n },\r\n};\r\n\r\nvar contactFormApp = Vue.createApp(contactForm);\r\nconst selMyAccountContactForm = document.querySelector(\"#v-contact-form\");\r\nif (selMyAccountContactForm) {\r\n contactFormApp\r\n .directive(\"init\", initDirective)\r\n .component(\"alert-danger\", alertDanger)\r\n .component(\"alert-success\", alertSuccess)\r\n .component(\"e-loader\", eLoader)\r\n .mount(selMyAccountContactForm);\r\n}\r\n\n//# sourceMappingURL=maps/main.js.map"]}