{"version":3,"sources":["scripts.js"],"names":["app","this","modules","settings","vars","screenMobile","screenMobileLandscape","screenTablet","screenTabletLandscape","screenDesktop","screenWide","screenFull","breakPoint","isTouchDevice","ieVersion","init","that","jQuery","extend","getQueryParameters","str","document","location","search","replace","split","map","n","push","bind","getQueryParametersWithoutUrlQuery","isInViewport","obj","elementTop","offset","top","elementBottom","outerHeight","viewportTop","$","window","scrollTop","viewportBottom","height","expr","opacity0","a","css","reallyvisible","is","parents","length","containsCaseSensitive","createPseudo","arg","elem","text","toUpperCase","indexOf","data","dataName","i","match","ajaxSetup","headers","X-CSRF-TOKEN","attr","setBreakPoint","resize","detectTouchDevice","msieversion","each","index","element","parse","onLoad","$context","on","event","orientation","trigger","createEvent","e","getViewport","type","viewPortWidth","viewPortHeight","innerWidth","innerHeight","documentElement","clientWidth","clientHeight","getElementsByTagName","reinit","windowWidth","ua","navigator","userAgent","msie","parseInt","substring","fixedContent","htmlBody","currentScrollTop","hasClass","newScrollTop","removeClass","addClass","marginTop","getQueryString","queryParams","key","value","param","debounce","func","wait","immediate","timeout","context","args","arguments","callNow","clearTimeout","setTimeout","apply","elementOrParentIsFixed","checkElements","add","isFixed","canUseWebP","createElement","getContext","toDataURL","isJsonString","string","test","baseBegin","html","onepager","baseEnd","form","loading","attemptedRequest","autocompleteOffValue","browser","chrome","dashboard","body","nav","tabsTabbing","burger","closeMobileNavIcon","canHideNav","canChangeNaviScollState","lazyLoad","$slider","slidesPerView","bootstrap","_history","allowStateChange","overlay","overlayBody","doing","alert","infinePadding","infiniteLoading","canClickLoad","tooltip","anchor","isScrolling","fileuploader","toaster","cms","emptyMessage","fieldSettingsQueryObj","background","border","bottom","hide","page","module","currentSwiperIndexes","froala","blockPackages","site","table","sortable","sortInputValue","paging","itemsPerPage","editor","editorObj","frame","frameContent","selectPage","screenSizeMenu","addBlockButton","addBlockItemButton","removeBlockKey","settingsBlockKey","removeBlockItemKey","menu","menuContainer","menuSaveButton","emptyMessageContainer","menuItemSettings","items","itemSelector","menuSettingsItem","domain","gallery","galleryForm","galleryBody","galleryEmpty","gallerySelection","hint","hintQuery","authenticate","pm","chart","colors","red","orange","yellow","green","blue","purple","grey","cropper","autocompleteSearchForm","searchQueryField","autocomplete","autocompleteCol","autocompleteLeft","query","searchFocus","autocompleteEnabled","allowSearch","ace","media","folderContainer","appSocialhub","prototype","addListener","formValidation","formFieldDependency","tagsInput","tagsOptions","delimiter","persist","create","input","maxItems","selectize","initSelectize","repeatable","colorpicker","spectrum","preferredFormat","showInput","chooseText","cancelText","tinycolor","replacerOffsetTop","target","next","container","submit","dirtyForms","ev","submitResetButtons","find","removeAttr","change","checkbox","checkboxLimit","checked","unbind","click","submitAjaxButton","removeButton","closest","fileuploaderField","parent","val","getInstance","reset","prev","button","append","jsCallbackArr","remove","href","ajax","url","error","jqXHR","exception","status","hideIfOpen","show","undefined","success","throwErrorMessage","redirect","clearButton","callbackJs","isArray","msg","priority","message","validate","formObj","rules","messages","ignore","lang","invalidHandler","validator","throwError","invalid","errorPlacement","insertAfter","submitHandler","callbackModule","callbackFunctionBeforeSubmit","ajaxSubmit","destroy","serialize","getReCaptchaV3Response","thrownError","responseJSON","errors","textStatus","xhr","refreshReCaptchaV3","callbackFunction","callbackErrorJs","alertSuccessFormRow","callbackFunctionError","alertFormRow","messagesHtml","messageContainer","prepend","reload","resetForm","disable","dataObj","submitButton","action","contents","filter","nodeType","wrap","unwrap","select","render","option","escape","before","after","class","name","item","selectOptions","totalCount","plugins","valueField","labelField","searchField","options","load","callback","JSON","total","callbackArr","valid","resetCaptcha","captchaField","captchaImage","captchaInput","captcha","addListItem","listItemWrapper","stickySidebar","topSpacing","bottomSpacing","containerSelector","innerWrapperSelector","initNav","closeMobileNav","openMobileNav","tabbing","enableNav","disableInactive","lastId","menuItems","scrollItems","scroll","fromTop","cur","id","end","filterListForm","filterForm","dataStr","search_on","category_level_on","status_on","trim","actionUrl","dataObjContainer","resetButton","navItem","stickyElement","updateSticky","paymentError","origin","saveSettingsCallback","section","callbackStatus","lazyLoadImages","selector","width","scrollLeft","left","outerWidth","imageObj","parseJSON","Object","keys","screenSize","imageSrc","loadImage","background-image","has","dropdownToggle","dropdownMenu","dropdownButtonGroup","not","buttonGroup","History","enabled","$content","contentNode","get","$menu","$window","$body","rootUrl","getRootUrl","internal","meta","stack","fn","ajaxify","$this","title","which","metaKey","pushState","preventDefault","State","getState","relativeUrl","stateMode","mode","tracking","animate","opacity","$menuChildren","contentHtml","$scripts","$data","documentHtml","$dataContent","detach","stop","indexSub","elementSub","updateTitle","$script","scriptText","scriptNode","async","src","appendChild","createTextNode","errorThrown","result","String","innerHTML","Exception","gtag","trackPath","gtagTrackingScript","charAt","page_title","page_path","anonymize_ip","hash","urlHash","overlayLink","prepare","keyup","keyCode","checkIfDoing","setInterval","clearInterval","disableHashChange","allowHashChange","hasAttribute","callbackClose","alertCloseBtn","parentFormRow","infiniteLoadCheck","itemLoad","scrollHeight","infiniteLoad","itemTopPos","itemHeight","windowScrollTop","windowHeight","infiniteShowLoader","hasMorePages","infiniteHideLoader","startOverlay","loadingUrl","processingOverlay","progress","placement","animation","boundary","paddingObject","newScrollTopPos","link","currentUrl","eventDelay","move","linkArr","fileField","fileOptions","limit","maxSize","fileMaxSize","extensions","disallowedExtensions","theme","enableApi","changeInput","thumbnails","box","boxAppendTo","item2","_selectors","list","start","retry","sorter","rotate","popup","popup_open","itemPrepend","removeConfirmation","startImageRenderer","synchronImages","useObjectUrl","canvasImage","videoThumbnail","exif","beforeShow","onItemShow","onItemRemove","children","slideUp","onImageLoaded","listEl","parentEl","newInputEl","inputEl","image","reader","node","ratio","dragDrop","onDragEnter","onDragLeave","onDrop","selectorExclude","placeholder","scrollContainer","onSort","onSupportError","beforeRender","afterRender","beforeSelect","files","onFilesCheck","onFileRead","onSelect","afterSelect","onListInput","fileList","listInputEl","onRemove","onEmpty","captions","feedback","feedback2","confirm","cancel","size","dimensions","duration","crop","sort","download","drop","paste","filesLimit","filesType","fileSize","filesSizeAll","fileName","folderUpload","upload","enctype","synchron","chunk","beforeSend","gallery_item","custom_data","slice","onSuccess","onError","progressBar","fadeOut","onProgress","percentage","onComplete","responseText","fileAdded","toast","template","display","$toast","fadeIn","complete","expander","toggleClass","parseHints","resizeEditor","visibilityButton","formFieldWrapper","fieldNameArr","shortFieldName","newFieldName","join","block","blockParent","blockContaianer","openedModuleOverlay","minWidth","switchTheme","switchThemeModules","addModule","htmlBackend","addModuleItem","listName","applyFieldSettings","moduleKey","field","valBackground","className","valBorder","prop","valHide","settingsData","settingsValue","settingsValueLength","settingsKey","fieldName","sidebarFieldsBody","arrCounter","empty","objKey","objValue","objKeySub","objValueSub","resetModule","updateModuleSettingsLink","linkButton","linkText","linkTarget","linkLink","linkModel","linkId","linkClass","linkExtension","editorField","model","extension","logoUrl","url_original","logoOrigin","logoFooter","updateFooter","updateOrigin","inputField","inputFieldForm","fieldHtml","newImageVal","mediaId","bgObj","videoObj","mediaHtml","insertBefore","mediaSrcArr","imageSize","newImageUrl","url_size_placeholder","mediaType","mediaBgArr","sizes","forceReload","contentWindow","newSection","settingsButton","swiperInstance","swiper","activeIndex","siteClasses","slideTo","settingsHrefArr","queryStr","enableAddModuleButton","itemContainer","appsContainer","textarea","customOptions","editorOptions","hostname","language","attribution","htmlAllowComments","htmlExecuteScripts","tooltips","shortcutsHint","placeholderText","linkEditButtons","linkInsertButtons","linkAlwaysNoFollow","charCounterCount","FroalaEditor","swiperObj","Swiper","wrapperClass","slideClass","spaceBetween","slideActiveClass","slideNextClass","pagination","el","bulletClass","bulletActiveClass","modifierClass","clickableClass","clickable","allowTouchMove","breakpoints","767","1023","initMobile","checkAll","tableCheckboxes","countTableCheckboxes","showActions","hideActions","theadCell","indexCell","tableCell","nextAll","updateActionsLink","checkedIds","actionLinkArr","actionLinkQueryObj","actionNewQuery","delay","delayOnTouchOnly","touchStartThreshold","disabled","handle","group","preventOnFilter","swapThreshold","invertSwap","invertedSwapThreshold","direction","forceFallback","fallbackOnBody","fallbackTolerance","dragoverBubble","removeCloneOnHide","emptyInsertThreshold","ghostClass","onEnd","onEndArr","focus","sortValueField","blur","sortableObj","sortableDragSelector","draggable","dragItem","ids","sortableChild","stringify","call","b","getAttribute","forEach","oldIndex","newIndex","beforeOrAfter","beforeOrAfterId","prevItem","nextItem","build","pagingContainer","itemsCount","pageLimit","pagingUrl","pathname","Math","ceil","itemsOnPage","currentPage","hrefTextPrefix","selectOnClick","prevText","nextText","ellipsePageSet","edges","displayedPages","onPageClick","pageNumber","newUrl","decodeURIComponent","currentTarget","checkAvailable","frameLoader","editorLoaded","initInlineEditor","loaded","sidebarBlock","newPage","sidebar","screenOption","screen","editBlockButton","editBlockKey","editorBlock","updateSite","editBlockItemButton","itemFieldName","editorItem","removeBlockButton","removeBlockItemButton","settingsBlockButton","changeModeBlockButton","editorButton","hrefArr","parentDocument","newEditorUrl","editPrimaryField","formFieldOuterWrapper","fieldNameString","itemVisibilityField","pageForm","fieldBlock","console","log","DefineIcon","NAME","SVG_KEY","RegisterCommand","undo","refreshAfterCallback","selection","clear","toolbar","toolbarInline","events","initialized","contentChanged","$box","$el","reloadAssets","editorListItem","htmlEditor","newModuleKey","sortContentBlock","eq","removeContentBlock","trans","at_least_one_block_needed","removeModuleItem","at_least_one_item_needed","pageStyles","Date","getTime","pageJsVendor","pageJsVendorSrc","pageJsScripts","pageJsScriptsSrc","reloadJavascript","vendor","scripts","getScript","jqxhr","switchPage","selectedPageValue","selectUrl","warningMessage","switchMode","actionField","callbackModuleField","callbackFunctionField","redirectToExpertMode","pageLinkExpertMode","pageId","selectizedField","Option","thisButton","parseItems","encodeURIComponent","addPage","pageAdded","subElement","route","link_extension","changeMenu","resetItemSettings","popupLink","popupStr","popupObj","onClose","open","popupTick","closed","verifyConnection","callbackUrl","removeItem","addItem","itemLength","galleryItemsLength","galleryItem","clone","selectorItem","galleryGridItem","dismiss","hintObjects","inArray","position","hintOrigin","hintWrapper","hintOriginWidth","hintOriginHeight","hintLeft","hintTop","getBoundingClientRect","hintClass","white-space","card","intentCreateNewPaymentMethodUrl","stripe","showCardsHelper","authError","intentPaymentMethod","getElementById","addEventListener","handleCardPayment","intentClientSecret","payment_method","then","response","stripeMessages","paymentMethod","successData","authSuccess","initSelection","navigation","nextEl","prevEl","disabledClass","hiddenClass","1224","1024","768","slide","srcElement","initCropper","transitionEnd","originalImage","actions","stage","aspectRatio","zoomOnWheel","method","secondOption","cropped","canvaURL","imageSmoothingEnabled","imageSmoothingQuality","fillColor","img","showAutocomplete","formField","autocompleteSearch","hideAutocomplete","resetAutocomplete","optionSelected","optionTarget","newOptionList","newOptionCol","clickoutside","repositionAutocomplete","stopImmediatePropagation","submitForm","force","resultListHtml","listObj","hits_pages","hits","itemName","_source","highlight","message_no_results","hits_system","optionsAddListener","acePath","config","set","aceEditor","edit","minLines","maxLines","autoScrollEditorIntoView","getSession","getValue","folderCreated","folderDeleted","folderUpdated","folderItem","toggleStatus","badgeClass","badgeHtml"],"mappings":"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","file":"../scripts.min.js","sourcesContent":["var app = new function(){\n\tthis.modules = {};\n\tthis.settings = {};\n\tthis.vars = {\n\t\tscreenMobile:true,\n\t\tscreenMobileLandscape:false,\n\t\tscreenTablet:false,\n\t\tscreenTabletLandscape:false,\n\t\tscreenDesktop:false,\n\t\tscreenWide:false,\n\t\tscreenFull:false,\n\t\tbreakPoint:'mobile',\n\t\tisTouchDevice:false,\n\t\tieVersion:false\n\t};\n\tthis.init = function(){\n\t\tvar that = this;\n\n\t\t// extend jquery\n\t\tjQuery.extend({\n\t\t\tgetQueryParameters:function(str){\n\t\t\t\treturn (str || document.location.search).replace(/(^\\?)/,'').split(\"&\").map(function(n){\n\t\t\t\t\treturn n = n.split(\"=\"), (!this[n[0]] ? this[n[0]] = n[1] : ((typeof this[n[0]] === 'object') ? this[n[0]].push(n[1]) : this[n[0]]=[this[n[0]], n[1]])), this\n\t\t\t\t}.bind({}))[0];\n\t\t\t},\n\t\t\tgetQueryParametersWithoutUrlQuery:function(str){\n\t\t\t\treturn str.replace(/(^\\?)/,'').split(\"&\").map(function(n){\n\t\t\t\t\treturn n = n.split(\"=\"), (!this[n[0]] ? this[n[0]] = n[1] : ((typeof this[n[0]] === 'object') ? this[n[0]].push(n[1]) : this[n[0]]=[this[n[0]], n[1]])), this\n\t\t\t\t}.bind({}))[0];\n\t\t\t},\n\t\t\tisInViewport:function(obj){\n\t\t\t\tvar elementTop = obj.offset().top;\n\t\t\t\tvar elementBottom = elementTop+obj.outerHeight();\n\t\t\t\tvar viewportTop = $(window).scrollTop();\n\t\t\t\tvar viewportBottom = viewportTop+$(window).height();\n\t\t\t\treturn elementBottom > viewportTop && elementTop < viewportBottom;\n\t\t\t}\n\t\t});\n\t\tjQuery.extend(jQuery.expr[':'],{\n\t\t\topacity0:function(a){\n\t\t\t\treturn jQuery(a).css('opacity') == 0;\n\t\t\t}\n\t\t});\n\t\tjQuery.extend(jQuery.expr[':'],{\n\t\t\treallyvisible:function(a){\n\t\t\t\treturn !(jQuery(a).is(':hidden') || jQuery(a).parents(':hidden').length || jQuery(a).parents(':opacity0').length);\n\t\t\t}\n\t\t});\n\t\t$.expr[':'].containsCaseSensitive = $.expr.createPseudo(function(arg){\n\t\t\treturn function(elem){\n\t\t\t\treturn $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;\n\t\t\t};\n\t\t});\n\t\tjQuery.extend(jQuery.expr[':'],{\n\t\t\tdata:$.expr.createPseudo ? $.expr.createPseudo(function(dataName){\n\t\t\t\treturn function(elem){\n\t\t\t\t\treturn !!$.data(elem, dataName);\n\t\t\t\t};\n\t\t\t}) : function(elem, i, match){\n\t\t\t\treturn !!$.data(elem, match[3]);\n\t\t\t}\n\t\t});\n\n\t\t// add x-csfr-token globally\n\t\t$.ajaxSetup({\n\t\t\theaders:{\n\t\t\t\t'X-CSRF-TOKEN':$('meta[name=\"csrf-token\"]').attr('content')\n\t\t\t}\n\t\t});\n\t\t\n\t\tthis.setBreakPoint();\n\t\tthis.resize();\n\t\tthis.detectTouchDevice();\n\t\tvar context = this;\n\t\tthat.vars.ieVersion = that.msieversion();\n\t\t$.each(this.modules, function(index, element){\n\t\t\tif (typeof element.init === 'function'){\n\t\t\t\telement.init();\n\t\t\t}\n\t\t});\n\t\tthis.parse($('body'));\n\t\t$(window).bind('load', function(){\n\t\t\t$.each(that.modules, function(index, element){\n\t\t\t\tif (typeof element.onLoad === 'function'){\n\t\t\t\t\telement.onLoad();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n\tthis.parse = function($context){\n\t\t$.each(this.modules, function(index, element){\n\t\t\tif (typeof element.parse === 'function'){\n\t\t\t\telement.parse($context);\n\t\t\t}\n\t\t});\n\t};\n\tthis.resize = function($context){\n\t\tvar that = this;\n\t\t$(window).resize(function(){\n\t\t\tif (that.vars.isTouchDevice == false){\n\t\t\t\tthat.setBreakPoint();\n\t\t\t}\n\t\t});\n\t\t$(window).on('orientationchange', function(event){\n\t\t\tthat.setBreakPoint();\n\t\t});\n\t\t$.each(this.modules, function(index, element){\n\t\t\tif (typeof element.resize === 'function'){\n\t\t\t\t$(window).resize(function(){\n\t\t\t\t\tif (that.vars.isTouchDevice == false){\n\t\t\t\t\t\telement.resize();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t$(window).on('orientationchange', function(event){\n\t\t\t\t\telement.resize(event.orientation);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t$(window).trigger('resize');\n\t};\n\tthis.detectTouchDevice = function(){\n\t\ttry {\n\t\t\tdocument.createEvent('TouchEvent');\n\t\t\tapp.vars.isTouchDevice = true;\n\t\t} catch(e){\n\t\t\tapp.vars.isTouchDevice = false;\n\t\t}\n\t};\n\tthis.getViewport = function(type){\n\t\tvar viewPortWidth;\n\t\tvar viewPortHeight;\n\t\tif (typeof window.innerWidth != 'undefined'){\n\t\t\tviewPortWidth = window.innerWidth,\n\t\t\tviewPortHeight = window.innerHeight\n\t\t} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0){\n\t\t\tviewPortWidth = document.documentElement.clientWidth,\n\t\t\tviewPortHeight = document.documentElement.clientHeight\n\t\t} else {\n\t\t\tviewPortWidth = document.getElementsByTagName('body')[0].clientWidth,\n\t\t\tviewPortHeight = document.getElementsByTagName('body')[0].clientHeight\n\t\t}\n\t\tif (type == 'width'){\n\t\t\treturn viewPortWidth;\n\t\t} else {\n\t\t\treturn viewPortHeight;\n\t\t}\n\t};\n\tthis.reinit = function($context){\n\t\t$.each(this.modules, function(index, element){\n\t\t\tif (typeof element.reinit === 'function'){\n\t\t\t\telement.reinit();\n\t\t\t}\n\t\t});\n\t};\n\tthis.setBreakPoint = function(){\n\t\tvar that = this;\n\t\tvar windowWidth = that.getViewport('width');\n\t\tvar breakPoint = 'mobile';\n\t\tapp.vars.screenMobileLandscape = false;\n\t\tapp.vars.screenTablet = false;\n\t\tapp.vars.screenTabletLandscape = false;\n\t\tapp.vars.screenDesktop = false;\n\t\tapp.vars.screenWide = false;\n\t\tapp.vars.screenFull = false;\n\t\tif (windowWidth >= 480){\n\t\t\tbreakPoint = 'mobileLandscape';\n\t\t\tapp.vars.screenMobileLandscape = true;\n\t\t}\n\t\tif (windowWidth >= 768){\n\t\t\tbreakPoint = 'tablet';\n\t\t\tapp.vars.screenTablet = true;\n\t\t}\n\t\tif (windowWidth >= 1024){\n\t\t\tbreakPoint = 'tabletLandscape';\n\t\t\tapp.vars.screenTabletLandscape = true;\n\t\t}\n\t\tif (windowWidth >= 1224){\n\t\t\tbreakPoint = 'desktop';\n\t\t\tapp.vars.screenDesktop = true;\n\t\t}\n\t\tif (windowWidth >= 1324){\n\t\t\tbreakPoint = 'wide';app.vars.screenWide = true;\n\t\t}\n\t\tif (windowWidth >= 1600){\n\t\t\tbreakPoint = 'full';\n\t\t\tapp.vars.screenFull = true;\n\t\t}\n\t\tif (breakPoint != that.vars.breakPoint){\n\t\t\tthat.vars.breakPoint = breakPoint;\n\t\t}\n\t};\n\tthis.msieversion = function(){\n\t\tvar ua = window.navigator.userAgent;\n\t\tvar msie = ua.indexOf(\"MSIE \");\n\t\tif (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)){\n\t\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)));\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\tthis.fixedContent = function(type){\n\t\tvar htmlBody = $('html,body');\n\t\tvar currentScrollTop = $(window).scrollTop();\n\t\tif (type == true && !htmlBody.hasClass('fixed')){\n\t\t\thtmlBody.addClass('fixed');\n\t\t\t$('.site').css({\n\t\t\t\tmarginTop:currentScrollTop*-1\n\t\t\t});\n\t\t\thtmlBody.scrollTop(0);\n\t\t} else {\n\t\t\tvar newScrollTop = parseInt($('.site').css('margin-top'));\n\t\t\t$('.site').attr('style','');\n\t\t\thtmlBody.removeClass('fixed');\n\t\t\thtmlBody.scrollTop(newScrollTop*-1);\n\t\t}\n\t};\n\tthis.getQueryString = function(obj){\n\t\tvar that = this;\n\t\tvar queryParams = $.getQueryParameters();\n\t\tif (typeof obj !== 'undefined'){\n\t\t\t$.each(obj, function(key, value){\n\t\t\t\tif (key != ''){\n\t\t\t\t\tqueryParams[key] = value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tvar result = $.param(queryParams);\n\t\treturn result;\n\t};\n\tthis.debounce = function(func, wait, immediate){\n\t\tvar timeout;\n\t\treturn function(){\n\t\t\tvar context = this, args = arguments;\n\t\t\tvar later = function(){\n\t\t\t\ttimeout = null;\n\t\t\t\tif (!immediate) func.apply(context, args);\n\t\t\t};\n\t\t\tvar callNow = immediate && !timeout;\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(later, wait);\n\t\t\tif (callNow) func.apply(context, args);\n\t\t};\n\t};\n\tthis.elementOrParentIsFixed = function(element){\n\t\tvar element = $(element);\n\t\tvar checkElements = element.add(element.parents());\n\t\tvar isFixed = false;\n\t\tcheckElements.each(function(){\n\t\t\tif ($(this).css('position') === 'fixed'){\n\t\t\t\tisFixed = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\treturn isFixed;\n\t};\n\tthis.canUseWebP = function(){\n\t\tvar elem = document.createElement('canvas');\n\t\tif (!!(elem.getContext && elem.getContext('2d'))){\n\t\t\treturn elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\n\t\t}\n\t\treturn false;\n\t};\n\tthis.isJsonString = function(string){\n\t\tvar that = this;\n\t\tif (/^[\\],:{}\\s]*$/.test(string.replace(/\\\\[\"\\\\\\/bfnrtu]/g, '@').replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))){\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n};\nvar baseBegin = true;\n$(function(){\n\tif (typeof $('.onepager-tile').html() !== 'undefined'){\n\t\tapp.modules.onepager.init();\n\t} else {\n\t\tapp.init();\n\t}\n});\nvar baseEnd = true;\nfunction form(){\n\tthis.vars = {\n\t\tloading:false,\n\t\tattemptedRequest:null,\n\t\tautocompleteOffValue:typeof $.browser !== 'undefined' && $.browser.chrome ? 'nope' : 'off'\n\t}\n}\nform.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t\tthat.formValidation();\n\n\t\t// form field dependency\n\t\tif (jQuery().formFieldDependency){\n\t\t\t$('[data-depends]').formFieldDependency();\n\t\t}\n\n\t\t// tags input\n\t\t$('[data-tags]').each(function(){\n\t\t\tvar tagsInput = $(this);\n\t\t\tvar tagsOptions = {\n\t\t\t\tdelimiter:',',\n\t\t\t\tpersist:false,\n\t\t\t\tcreate:function(input){\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue:input,\n\t\t\t\t\t\ttext:input\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (tagsInput.attr('size') !== 'undefined'){\n\t\t\t\ttagsOptions.maxItems = tagsInput.attr('size');\n\t\t\t}\n\t\t\ttagsInput.selectize(tagsOptions);\n\t\t});\n\n\t\t// select\n\t\tthat.initSelectize();\n\n\t\t// init repeatable\n\t\t$('[data-repeater]').each(function(){\n\t\t\tvar repeatable = $(this);\n\t\t\trepeatable.repeatable();\n\t\t});\n\n\t\t// colorpicker\n\t\t$('[data-colorpicker]').each(function(){\n\t\t\tvar colorpicker = $(this);\n\t\t\tcolorpicker.spectrum({\n\t\t\t\tpreferredFormat:'hex',\n\t\t\t\tshowInput:true,\n\t\t\t\tchooseText:typeof window['translations']['choose'] !== 'undefined' ? window['translations']['choose'] : 'choose',\n\t\t\t\tcancelText:typeof window['translations']['cancel'] !== 'undefined' ? window['translations']['cancel'] : 'cancel'\n\t\t\t}).on('show.spectrum', function(e, tinycolor){\n\t\t\t\tvar replacer = $(e.target).next();\n\t\t\t\tvar replacerOffsetTop = replacer.offset().top;\n\t\t\t\tvar container = $(colorpicker.spectrum('container'));\n\t\t\t\tvar containerOffsetTop = container.offset().top;\n\t\t\t\tif (containerOffsetTop < replacerOffsetTop){\n\t\t\t\t\tcontainer.addClass('sp-container-top').removeClass('sp-container-bottom');\n\t\t\t\t} else {\n\t\t\t\t\tcontainer.removeClass('sp-container-top').addClass('sp-container-bottom');\n\t\t\t\t}\n\n\t\t\t});\n\t\t});\n\n\t\t// submit three-d-secure loading form\n\t\t$('.form--loading-three-d-secure').submit();\n\n\t\t// detect form changes\n\t\tif (jQuery().dirtyForms){\n\t\t\t$('.form--dirty').dirtyForms({\n\t\t\t\t//\n\t\t\t});\n\t\t\t$('.form--dirty:not(.form--dirty-no-clean)').on('dirty.dirtyforms clean.dirtyforms', function(ev){\n\t\t\t\tvar form = $(ev.target);\n\t\t var submitResetButtons = form.find('[type=\"reset\"], [type=\"submit\"]');\n\t\t if (typeof submitResetButtons.html() === 'undefined'){\n\t\t \tsubmitResetButtons = $('[type=\"reset\"][form=\"'+form.attr('id')+'\"], [type=\"submit\"][form=\"'+form.attr('id')+'\"]');\n\t\t }\n\t\t if (ev.type === 'dirty') {\n\t\t submitResetButtons.removeAttr('disabled').removeClass('button--white button--disabled');\n\t\t } else {\n\t\t submitResetButtons.attr('disabled', 'disabled').addClass('button--white button--disabled');\n\t\t }\n\t\t });\n\t\t}\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// limit checkbox group\n\t\t$('input[type=\"checkbox\"][data-limit]').on({\n\t\t\tchange:function(){\n\t\t\t\tvar checkbox = $(this);\n\t\t\t\tvar checkboxLimit = parseInt(checkbox.attr('data-limit'));\n\t\t\t\tif ($('[name=\"'+checkbox.attr('name')+'\"]:checked').length > checkboxLimit){\n\t\t\t\t\tthis.checked = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// ajax button\n\t\t$('.button--ajax').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tthat.submitAjaxButton($(this));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// remove media button value\n\t\t$('.fileuploader-theme-onebutton .close').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar removeButton = $(this);\n\t\t\t\tvar fileuploader = removeButton.closest('.fileuploader');\n\t\t\t\tvar fileuploaderField = fileuploader.find('input[type=\"file\"]');\n\t\t\t\tfileuploader.find('.button').removeClass('button--bordercolor-error button--color-error button--bordercolor-primary button--color-primary button--disabled').html(''+removeButton.parent().attr('data-default-text'));\n\t\t\t\tfileuploader.next().val('');\n\t\t\t\tvar api = $.fileuploader.getInstance(fileuploaderField);\n\t\t\t\tapi.reset();\n\t\t\t\tvar fieldId = removeButton.parent().prev().attr('id');\n\t\t\t\tif (jQuery().dirtyForms){\n\t\t\t\t\t$('.form--dirty').dirtyForms('rescan');\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\tsubmitAjaxButton:function(button){\n\t\tvar that = this;\n\t\tif (!button.hasClass('button--disabled')){\n\t\t\tbutton.attr('href', button.attr('data-href') !== 'undefined' ? button.attr('data-href') : button.attr('href'));\n\t\t\tif (typeof button.find('.icon').html() !== 'undefined' && button.find('.icon').is(':last-child')){\n\t\t\t\tbutton.find('.icon').addClass('hidden');\n\t\t\t}\n\t\t\tbutton.addClass('button--disabled').append('');\n\t\t\tif (button.attr('href').substring(0, 3) == 'js_'){\n\t\t\t\tvar jsCallbackArr = button.attr('href').replace('js_', '').split('.');\n\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\tbutton.find('.icon').removeClass('hidden');\n\t\t\t\tapp.modules[jsCallbackArr[0]][jsCallbackArr[1]](button);\n\t\t\t} else {\n\t\t\t\tif (typeof button.attr('data-redirect') !== 'undefined' && button.attr('data-redirect') == '1'){\n\t\t\t\t\twindow.location.href = button.attr('href');\n\t\t\t\t} else {\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:typeof button.attr('data-type') !== 'undefined' ? button.attr('data-type') : 'POST',\n\t\t\t\t\t\turl:button.attr('href'),\n\t\t\t\t\t\tdata:typeof button.attr('data-data') !== 'undefined' ? button.attr('data-data') : null,\n\t\t\t\t\t\terror:function(jqXHR, exception){\n\t\t\t\t\t\t\tthat.vars.attemptedRequest = button;\n\t\t\t\t\t\t\tif (jqXHR.status == 403){\n\t\t\t\t\t\t\t\tapp.modules.overlay.hideIfOpen();\n\t\t\t\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\t\t\t\tapp.modules.overlay.show('inline', 'not-authorized', undefined, true);\n\t\t\t\t\t\t\t\t}, 310);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (jqXHR.status == 419){\n\t\t\t\t\t\t\t\tapp.modules.overlay.hideIfOpen();\n\t\t\t\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\t\t\t\tapp.modules.overlay.show('inline', 'session-expired', undefined, true);\n\t\t\t\t\t\t\t\t}, 310);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (jqXHR.status == 401 || jqXHR.status == 403 || jqXHR.status == 419){\n\t\t\t\t\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\t\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\t\t\t\t\tbutton.find('.icon').removeClass('hidden');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\tif (data.success !== true){\n\t\t\t\t\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\t\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\t\t\t\t\tbutton.find('.icon').attr('class', 'icon icon--warning icon--color-error');\n\t\t\t\t\t\t\t\tthat.throwErrorMessage(button, data.error, true);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (typeof button.attr('data-return') !== 'undefined' && typeof data[button.attr('data-return')] !== 'undefined'){\n\t\t\t\t\t\t\t\t\tbutton.removeClass('button--disabled').html(data[button.attr('data-return')]);\n\t\t\t\t\t\t\t\t} else if (typeof data.button !== 'undefined'){\n\t\t\t\t\t\t\t\t\tbutton.removeClass('button--disabled').html(data.button);\n\t\t\t\t\t\t\t\t} else if (typeof data.redirect !== 'undefined'){\n\t\t\t\t\t\t\t\t\tif (typeof data.clearButton !== 'undefined' && data.clearButton){\n\t\t\t\t\t\t\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\t\t\t\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\t\t\t\t\t\t\tbutton.find('.icon').removeClass('hidden');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\twindow.location.href = data.redirect;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\t\t\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\t\t\t\t\t\tbutton.find('.icon').removeClass('hidden');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (typeof data.callbackJs !== 'undefined'){\n\t\t\t\t\t\t\t\t\tif ($.isArray(data.callbackJs[0])){\n\t\t\t\t\t\t\t\t\t\t$.each(data.callbackJs, function(key, value){\n\t\t\t\t\t\t\t\t\t\t\tif (typeof app.modules[value[0]] !== 'undefined'){\n\t\t\t\t\t\t\t\t\t\t\t\tapp.modules[value[0]][value[1]](button, data);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tapp.modules[data.callbackJs[0]][data.callbackJs[1]](button, data);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (typeof data.msg !== 'undefined'){\n\t\t\t\t\t\t\t\t\t$.toaster({\n\t\t\t\t\t\t\t\t\t\tpriority:'success',\n\t\t\t\t\t\t\t\t\t\tmessage:data.msg\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tformValidation:function(){\n\t\tvar that = this;\n\t\tif (jQuery().validate){\n\t\t\t$('form:not(.form--no-validate)').each(function(){\n\t\t\t\tvar formObj = $(this);\n\t\t\t\tformObj.validate({\n\t\t\t\t\trules:window['rules_'+formObj.attr('name')],\n\t\t\t\t\tmessages:window['messages_'+formObj.attr('name')],\n\t\t\t\t\tignore:'.fr-box *, .jodit_container *, :hidden:not([class~=selectized]), :hidden > .selectized, .selectize-control .selectize-input input',\n\t\t\t\t\tlang:$('html').attr('lang'),\n\t\t\t\t\tinvalidHandler:function(event, validator){\n\t\t\t\t\t\tthat.throwError(formObj, validator.invalid);\n\t\t\t\t\t},\n\t\t\t\t\terrorPlacement:function(error, element){\n\t\t\t\t\t\tif (element.attr('type') == 'checkbox'){\n\t\t\t\t\t\t\telement.parent().parent().find('.checkbox__description').append(error);\n\t\t\t\t\t\t} else if (element.attr('type') == 'radio'){\n\t\t\t\t\t\t\terror.insertAfter(element.parent().parent().parent());\n\t\t\t\t\t\t} else if (element.is('select') || typeof element.attr('data-tags') !== 'undefined'){\n\t\t\t\t\t\t\terror.insertAfter(element.next());\n\t\t\t\t\t\t} else if (element.attr('type') == 'select-multiple' || element.attr('type') == 'select-one'){\n\t\t\t\t\t\t\telement.parent().parent().parent().append(error);\n\t\t\t\t\t\t} else if (typeof element.attr('data-captcha-input') !== 'undefined') {\n\t\t\t\t\t\t\telement.parent().parent().append(error);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terror.insertAfter(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsubmitHandler:function(form){\n\t\t\t\t\t\tif (that.vars.loading == false){\n\t\t\t\t\t\t\tif (typeof formObj.find('[name=\"callbackModule\"]').val() !== 'undefined' && formObj.find('[name=\"callbackModule\"]').val() != '' && typeof formObj.find('[name=\"callbackFunctionBeforeSubmit\"]').val() !== 'undefined' && formObj.find('[name=\"callbackFunctionBeforeSubmit\"]').val() != ''){\n\t\t\t\t\t\t\t\tvar callbackModule = formObj.find('[name=\"callbackModule\"]').val();\n\t\t\t\t\t\t\t\tvar callbackFunctionBeforeSubmit = formObj.find('[name=\"callbackFunctionBeforeSubmit\"]').val();\n\t\t\t\t\t\t\t\tapp.modules[callbackModule][callbackFunctionBeforeSubmit](formObj, form);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthat.submit(formObj, form);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\tsubmit:function(formObj, form){\n\t\tvar that = this;\n\t\tthat.vars.loading = true;\n\t\tif (formObj.hasClass('form--ajax')){\n\t\t\tthat.ajaxSubmit(formObj);\n\t\t} else {\n\t\t\tthat.vars.loading = false;\n\t\t\tformObj.validate().destroy();\n\t\t\tsetTimeout(function(){\n\t\t\t\tformObj.find('button[type=\"submit\"]').trigger('click');\n\t\t\t}, 100);\n\t\t}\n\t},\n\tajaxSubmit:function(form){\n\t\tvar that = this;\n\t\tvar data = form.serialize();\n\t\tif (typeof form.find('[data-google-recaptcha-v3]').html() !== 'undefined'){\n \tdata['g-recaptcha-response'] = getReCaptchaV3Response(form.find('[data-google-recaptcha-v3]').attr('id'));\n }\n\t\tthat.loading(form, true, true, data);\n\t\t$.ajax({\n\t\t\ttype:'POST',\n\t\t\turl:form.attr('action'),\n\t\t\tdata:data,\n\t\t\terror:function(jqXHR, exception, thrownError){\n\t\t\t\tthat.throwError(form, typeof jqXHR.responseJSON.errors !== 'undefined' ? jqXHR.responseJSON.errors : {error:jqXHR.responseJSON.message});\n\t\t\t\tthat.loading(form, false, true);\n\t\t\t},\n\t\t\tsuccess:function(data, textStatus, xhr){\n\t\t\t\tif (data.success === true){\n\t\t\t\t\tif (typeof form.find('[data-google-recaptcha-v3]').html() !== 'undefined'){\n\t\t\t \trefreshReCaptchaV3(form.find('[data-google-recaptcha-v3]').attr('id'), 'homepage');\n\t\t\t }\n\t\t\t\t\tif (jQuery().dirtyForms){\n\t\t\t\t\t\tform.dirtyForms('setClean');\n\t\t\t\t\t}\n\t\t\t\t\tif (that.vars.attemptedRequest !== null){\n\t\t\t\t\t\tvar attemptedRequest = that.vars.attemptedRequest;\n\t\t\t\t\t\tapp.modules.overlay.hideIfOpen();\n\t\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\t\tattemptedRequest.trigger('click');\n\t\t\t\t\t\t}, 310);\n\t\t\t\t\t} else if (typeof data.redirect !== 'undefined'){\n\t\t\t\t\t\twindow.location.href = data.redirect;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (typeof form.find('[name=\"callbackModule\"]').val() !== 'undefined' && form.find('[name=\"callbackModule\"]').val() != '' && typeof form.find('[name=\"callbackFunction\"]').val() !== 'undefined' && form.find('[name=\"callbackFunction\"]').val() != ''){\n\t\t\t\t\t\t\tvar callbackModule = form.find('[name=\"callbackModule\"]').val();\n\t\t\t\t\t\t\tvar callbackFunction = form.find('[name=\"callbackFunction\"]').val();\n\t\t\t\t\t\t\tapp.modules[callbackModule][callbackFunction](form, data);\n\t\t\t\t\t\t\tif (typeof form.find('[name=\"callbackSuccess\"]').val() !== 'undefined' && (form.find('[name=\"callbackSuccess\"]').val() == 'true' || form.find('[name=\"callbackSuccess\"]').val() == 1)){\n\t\t\t\t\t\t\t\tthat.success(form, data, form.find('[name=\"responseTemplate\"]').html() !== 'undefined' && form.find('[name=\"responseTemplate\"]').val() == 'toaster' ? true : false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (typeof data.callbackJs !== 'undefined'){\n\t\t\t\t\t\t\tif ($.isArray(data.callbackJs[0])){\n\t\t\t\t\t\t\t\t$.each(data.callbackJs, function(key, value){\n\t\t\t\t\t\t\t\t\tif (typeof app.modules[value[0]] !== 'undefined'){\n\t\t\t\t\t\t\t\t\t\tapp.modules[value[0]][value[1]](form, data);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tapp.modules[data.callbackJs[0]][data.callbackJs[1]](form, data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthat.success(form, data, form.find('[name=\"responseTemplate\"]').html() !== 'undefined' && form.find('[name=\"responseTemplate\"]').val() == 'toaster' ? true : false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthat.loading(form, false, true);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof data.error !== 'undefined'){\n\t\t\t\t\t\tif (typeof data.callbackErrorJs !== 'undefined'){\n\t\t\t\t\t\t\tif ($.isArray(data.callbackErrorJs[0])){\n\t\t\t\t\t\t\t\t$.each(data.callbackErrorJs, function(key, value){\n\t\t\t\t\t\t\t\t\tif (typeof app.modules[value[0]] !== 'undefined'){\n\t\t\t\t\t\t\t\t\t\tapp.modules[value[0]][value[1]](form, data);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tapp.modules[data.callbackErrorJs[0]][data.callbackErrorJs[1]](form, data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthat.throwError(form, data.error);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (typeof window['messages_'+form.attr('name')]['error'] !== 'undefined'){\n\t\t\t\t\t\t\tthat.throwError(form, {error:window['messages_'+form.attr('name')]['error']});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthat.throwError(form, {error:'Error!'});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthat.loading(form, false, true);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tthrowError:function(form, error){\n\t\tvar that = this;\n\t\tvar alertSuccessFormRow = $('.alert--success:not(.alert--keep)').closest('.form__row');\n\t\t$('.alert--success:not(.alert--keep)').remove();\n\t\talertSuccessFormRow.remove();\n\t\tif (typeof form.find('[data-google-recaptcha-v3]').html() !== 'undefined'){\n \trefreshReCaptchaV3(form.find('[data-google-recaptcha-v3]').attr('id'), 'homepage');\n }\n\t\tif (typeof form.find('[name=\"callbackModule\"]').val() !== 'undefined' && form.find('[name=\"callbackModule\"]').val() != '' && typeof form.find('[name=\"callbackFunctionError\"]').val() !== 'undefined' && form.find('[name=\"callbackFunctionError\"]').val() != ''){\n\t\t\tvar callbackModule = form.find('[name=\"callbackModule\"]').val();\n\t\t\tvar callbackFunctionError = form.find('[name=\"callbackFunctionError\"]').val();\n\t\t\tapp.modules[callbackModule][callbackFunctionError](form, error);\n\t\t} else {\n\t\t\tthat.throwErrorMessage(form, error, form.find('[name=\"responseTemplate\"]').html() !== 'undefined' && form.find('[name=\"responseTemplate\"]').val() == 'toaster' ? true : false);\n\t\t}\n\t},\n\tthrowErrorMessage:function(form, error, toaster){\n\t\tvar that = this;\n\t\tvar alertFormRow = $('.alert--error:not(.alert--keep), .alert--success:not(.alert--keep)').closest('.form__row');\n\t\t$('.alert--error:not(.alert--keep), .alert--success:not(.alert--keep)').remove();\n\t\talertFormRow.remove();\n\t\tif ($(window).scrollTop() > form.offset().top || toaster){\n\t\t\tvar messagesHtml = '';\n\t\t\tmessageContainer.html(messagesHtml);\n\t\t\t$.toaster({\n\t\t\t\tpriority:'error',\n\t\t\t\tmessage:messagesHtml\n\t\t\t});\n\t\t} else {\n\t\t\tvar messagesHtml = '
    ';\n\t\t\t$.each(error, function(index, message){\n\t\t\t\tmessagesHtml += '
  • '+message+'
  • ';\n\t\t\t});\n\t\t\tmessagesHtml += '
';\n\t\t\tform.prepend(messagesHtml);\n\t\t\tapp.modules.alert.addListener();\n\t\t}\n\t},\n\tsuccess:function(form, data, toaster){\n\t\tvar that = this;\n\t\tif (data.msg){\n\t\t\tvar message = data.msg;\n\t\t} else {\n\t\t\tlocation.reload();\n\t\t}\n\t\tif (data.resetForm){\n\t\t\tform[0].reset();\n\t\t}\n\t\tvar alertFormRow = $('.alert--error, .alert--success').closest('.form__row');\n\t\t$('.alert--error, .alert--success').remove();\n\t\talertFormRow.remove();\n\t\tif ($(window).scrollTop() > form.offset().top || toaster){\n\t\t\t$.toaster({\n\t\t\t\tpriority:'success',\n\t\t\t\tmessage:message\n\t\t\t});\n\t\t} else {\n\t\t\tform.prepend('

'+message+'

');\n\t\t}\n\t\tapp.modules.alert.addListener();\n\t},\n\tloading:function(form, type, disable, data){\n\t\tvar that = this;\n\t\tvar dataObj = typeof data !== 'undefined' ? $.getQueryParameters(data) : {};\n\t\tvar submitButton = form.find(typeof dataObj.action !== 'undefined' ? 'button[type=\"submit\"][value=\"'+dataObj.action+'\"].button' : 'button[type=\"submit\"].button');\n\t\tif (typeof submitButton.html() === 'undefined'){\n\t\t\tsubmitButton = $(typeof dataObj.action !== 'undefined' ? 'button[type=\"submit\"][form=\"'+form.attr('id')+'\"][value=\"'+dataObj.action+'\"].button' : 'button[type=\"submit\"][form=\"'+form.attr('id')+'\"].button');\n\t\t}\n\n\t\tif (type){\n\t\t\tform.addClass('form--loading');\n\t\t\tif (disable){\n\t\t\t\tform.find('fieldset, .fieldset').attr('disabled', 'disabled');\n\t\t\t}\n\t\t\tif (submitButton.find('.loader').length == 0){\n\t\t\t\tsubmitButton.append('');\n\t\t\t}\n\t\t\tsubmitButton.contents().filter(function(){\n\t\t\t\treturn this.nodeType === 3;\n\t\t\t}).wrap('');\n\t\t} else {\n\t\t\tthat.vars.loading = false;\n\t\t\tform.removeClass('form--loading');\n\t\t\tif (disable){\n\t\t\t\tform.find('fieldset, .fieldset').removeAttr('disabled');\n\t\t\t}\n\t\t\tsubmitButton.find('.loader').remove();\n\t\t\tsubmitButton.find('.button__loading_text').contents().unwrap();\n\t\t}\n\t},\n\tinitSelectize:function(){\n\t\tvar that = this;\n\t\t$('select:not(.selectized)').each(function(){\n\t\t\tvar select = $(this);\n\t\t\tvar render = {\n\t\t\t\toption:function(data, escape){\n\t\t\t\t\tvar before = '';\n\t\t\t\t\tvar after = '';\n\t\t\t\t\tif (typeof data.before !== 'undefined'){\n\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t\t$.each(data.before, function(key, value){\n\t\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t\t\tbefore += value.text;\n\t\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof data.after !== 'undefined'){\n\t\t\t\t\t\tafter += '';\n\t\t\t\t\t\t$.each(data.after, function(key, value){\n\t\t\t\t\t\t\tafter += '';\n\t\t\t\t\t\t\tafter += value.text;\n\t\t\t\t\t\t\tafter += '';\n\t\t\t\t\t\t});\n\t\t\t\t\t\tafter += '';\n\t\t\t\t\t}\n\t\t\t\t\treturn '
'+before+escape(typeof data.text !== 'undefined' ? data.text : data.name)+after+'
';\n\t\t\t\t},\n\t\t\t\titem:function(data, escape){\n\t\t\t\t\tvar before = '';\n\t\t\t\t\tvar after = '';\n\t\t\t\t\tif (typeof data.before !== 'undefined'){\n\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t\t$.each(data.before, function(key, value){\n\t\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t\t\tbefore += value.text;\n\t\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbefore += '';\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof data.after !== 'undefined'){\n\t\t\t\t\t\tafter += '';\n\t\t\t\t\t\t$.each(data.after, function(key, value){\n\t\t\t\t\t\t\tafter += '';\n\t\t\t\t\t\t\tafter += value.text;\n\t\t\t\t\t\t\tafter += '';\n\t\t\t\t\t\t});\n\t\t\t\t\t\tafter += '';\n\t\t\t\t\t}\n\t\t\t\t\treturn '
'+before+escape(typeof data.text !== 'undefined' ? data.text : data.name)+after+'
';\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar selectOptions = {\n\t\t\t\trender:render\n\t\t\t};\n\t\t\tif (typeof select.attr('data-url') !== 'undefined'){\n\t\t\t\tvar totalCount, page, perPage = 25;\n\t\t\t\tselectOptions = {\n\t\t\t\t plugins:['infinite_scroll'],\n\t\t\t\t valueField:'id',\n\t\t\t\t labelField:'name',\n\t\t\t\t searchField:'name',\n\t\t\t\t options:[],\n\t\t\t\t render:render,\n\t\t\t\t load:function(query, callback){\n\t\t\t\t if (!query.length) return callback();\n\t\t\t\t query = JSON.parse(query);\n\t\t\t\t page = query.page || 1;\n\t\t\t\t\t\tif (!totalCount || totalCount > ((page-1)*perPage)){\n\t\t\t\t\t\t\t$.ajax({\n\t\t\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\t\t\turl:select.attr('data-url'),\n\t\t\t\t\t\t\t\tdata:'q='+query.search+'&page='+page,\n\t\t\t\t\t\t\t\terror:function(){\n\t\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\t\t\ttotalCount = data.total;\n\t\t\t\t\t\t\t\t\tcallback(data.data);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t}\n\t\t\t\t }\n\t\t\t\t};\n\t\t\t}\n\t\t\tselectOptions.create = false;\n\t\t\tif (select.attr('size') !== 'undefined'){\n\t\t\t\tselectOptions.maxItems = select.attr('size');\n\t\t\t}\n\t\t\tif (select.closest('.sidebar__fields').length == 0){\n\t\t\t\tselect.selectize(selectOptions);\n\t\t\t\tif (typeof select.attr('data-callback-on-change') !== 'undefined'){\n\t\t\t\t\tselect.on('change', function(value){\n\t\t\t\t\t\tvar callbackArr = select.attr('data-callback-on-change').split('.');\n\t\t\t\t\t\tapp.modules[callbackArr[0]][callbackArr[1]](select);\n\t\t\t\t\t\tif (select.hasClass('error')){\n\t\t\t\t\t\t\tvar form = select.closest('form');\n\t\t\t\t\t\t\tform.valid();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tselect.on('change', function(value){\n\t\t\t\t\t\tif (select.hasClass('error')){\n\t\t\t\t\t\t\tvar form = select.closest('form');\n\t\t\t\t\t\t\tform.valid();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t$('.selectize-control').find('input').attr('autocomplete', that.vars.autocompleteOffValue);\n\t\t});\n\t},\n\tresetCaptcha:function(form, data){\n\t\tvar that = this;\n\t\tif (!form.is('form')){\n\t\t\tform = form.closest('form');\n\t\t}\n\t\tvar captchaField = form.find('[data-captcha-field]');\n\t\tvar captchaImage = captchaField.find('[data-captcha-image]');\n\t\tvar captchaInput = captchaField.find('input');\n\t\tcaptchaImage.attr('src', data.captcha);\n\t\tcaptchaInput.val('');\n\t},\n\taddListItem:function(button, data){\n\t\tvar that = this;\n\t\tvar listItemWrapper = button.parent().find('.panel__blocks');\n\t\tbutton.parent().find('.panel__blocks_empty').addClass('hidden');\n\t\tlistItemWrapper.append(data.html).removeClass('empty');\n\t\tapp.reinit();\n\t},\n\treinit:function(){\n\t\tthis.init();\n\t}\n};\napp.modules.form = new form;\nfunction dashboard(){\n\tthis.body = $('body');\n\tthis.nav = $('.dashboard__nav');\n\tthis.tabsTabbing = $('.tabs--tabbing');\n\tthis.burger = $('.dashboard__nav_burger');\n\tthis.closeMobileNavIcon = $('.dashboard__nav_close');\n\tthis.vars = {\n\t\tcanHideNav:true,\n\t\tcanChangeNaviScollState:true\n\t}\n}\ndashboard.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// sticky sidebar\n\t\tif (app.vars.screenTabletLandscape){\n\t\t\t$('.dashboard__nav_container').stickySidebar({\n\t\t\t\ttopSpacing:30,\n\t\t\t\tbottomSpacing:0,\n\t\t\t\tcontainerSelector:'.dashboard',\n\t\t\t\tinnerWrapperSelector:'.dashboard__nav_wrapper'\n\t\t\t});\n\t\t}\n\n\t\t// sticky menu\n\t\tif (app.vars.screenTabletLandscape){\n\t\t\t$('.panel__nav_container').stickySidebar({\n\t\t\t\ttopSpacing:20,\n\t\t\t\tbottomSpacing:0,\n\t\t\t\tcontainerSelector:'.panel__body',\n\t\t\t\tinnerWrapperSelector:'.panel__nav_wrapper'\n\t\t\t});\n\t\t}\n\n\t\t// init nav\n\t\tthat.initNav();\n\n\t\t// mobile menu\n\t\tthat.burger.unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tif (that.body.hasClass('open-nav')){\n\t\t\t\t\tthat.closeMobileNav();\n\t\t\t\t} else {\n\t\t\t\t\tthat.openMobileNav();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthat.closeMobileNavIcon.unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tthat.closeMobileNav();\n\t\t\t}\n\t\t});\n\n\t\t// init tabs\n\t\tthat.tabsTabbing.tabbing({\n\t\t\tenableNav:true,\n\t\t\tdisableInactive:false\n\t\t});\n\n\t\t// sidbar nav active anchor\n\t\tvar lastId,\n\t\t\ttopMenu = $('[data-anchor-nav]'),\n\t\t\tmenuItems = topMenu.find('a'),\n\t\t\tscrollItems = menuItems.map(function(){\n\t\t\t\tvar item = $('[data-section][name=\"'+($(this).attr('href').replace('#', ''))+'\"]');\n\t\t\t\tif (item.length){\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t});\n\t\t$(window).scroll(function(){\n\t\t\tvar fromTop = $(this).scrollTop();\n\t\t\tvar cur = scrollItems.map(function(){\n\t\t\t\tif ($(this).offset().top-1 < fromTop){\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t});\n\t\t\tcur = cur[cur.length-1];\n\t\t\tvar id = cur && cur.length ? cur[0].name : '';\n\t\t\tif (lastId !== id){\n\t\t\t\tlastId = id;\n\t\t\t\tmenuItems.parent().removeClass('active').end().filter('[href=\"#'+id+'\"]').parent().addClass('active');\n\t\t\t}\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t\tvar filterListForm = $('form[name=\"filter_list\"]');\n\n\t\t// filter list options\n\t\tfilterListForm.find('.filter__row input[type=\"checkbox\"]').on({\n\t\t\tchange:function(){\n\t\t\t\tvar checker = $(this);\n\t\t\t\tvar filterForm = checker.closest('.filter__row');\n\t\t\t\tif (filterForm.next().hasClass('filter__item')){\n\t\t\t\t\tif (filterForm.next().hasClass('filter__item--open')){\n\t\t\t\t\t\tfilterForm.next().removeClass('filter__item--open');\n\t\t\t\t\t\tfilterForm.next().find('input, select').attr('disabled', 'disabled');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfilterForm.next().addClass('filter__item--open');\n\t\t\t\t\t\tfilterForm.next().find('input, select').removeAttr('disabled');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// submit filter\n\t\tfilterListForm.unbind().on({\n\t\t\tsubmit:function(){\n\t\t\t\t// build data string\n\t\t\t\tvar dataStr = filterListForm.serialize();\n\t\t\t\tdataStr = dataStr.replace(/\\%5B/g, '[').replace(/\\%5D/g, ']').replace(/\\%255B/g, '[').replace(/\\%255D/g, ']');\n\t\t\t\tvar dataObj = $.getQueryParametersWithoutUrlQuery(dataStr);\n\t\t\t\t\n\t\t\t\t// modify filter attributes\n\t\t\t\tif (typeof dataObj.search_on === 'undefined'){\n\t\t\t\t\tdelete dataObj['search_on'];\n\t\t\t\t\tdelete dataObj['q'];\n\t\t\t\t}\n\t\t\t\tif (typeof dataObj.category_level_on === 'undefined'){\n\t\t\t\t\tdelete dataObj['category_level_on'];\n\t\t\t\t\tdelete dataObj['category_level'];\n\t\t\t\t}\n\t\t\t\tif (typeof dataObj.status_on === 'undefined'){\n\t\t\t\t\tdelete dataObj['status_on'];\n\t\t\t\t\tdelete dataObj['status'];\n\t\t\t\t}\n\n\t\t\t\t// finish data string\n\t\t\t\tdataStr = $.param(dataObj);\n\t\t\t\tdataStr = dataStr.replace(/\\%5B/g, '[').replace(/\\%5D/g, ']').replace(/\\%255B/g, '[').replace(/\\%255D/g, ']');\n\n\t\t\t\t// return\n\t\t\t\tif ($.trim(dataStr) == ''){\n\t\t\t\t\tvar actionUrl = filterListForm.attr('action');\n\t\t\t\t} else {\n\t\t\t\t\tvar actionUrl = filterListForm.attr('action')+(filterListForm.attr('action').indexOf('?') >= 0 ? '&' : '?')+dataStr;\n\t\t\t\t}\n\t\t\t\tif (typeof filterListForm.attr('data-ajax') !== 'undefined'){\n\t\t\t\t\tvar container = $(filterListForm.attr('data-content-selector'));\n\t\t\t\t\tvar submitButton = filterListForm.find('button[type=\"submit\"]');\n\t\t\t\t\tsubmitButton.find('.icon').addClass('hidden');\n\t\t\t\t\tsubmitButton.addClass('button--disabled').append('');\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'GET',\n\t\t\t\t\t\turl:actionUrl,\n\t\t\t\t\t\tdata:'',\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\tsubmitButton.removeClass('button--disabled');\n\t\t\t\t\t\t\tsubmitButton.find('.loader').remove();\n\t\t\t\t\t\t\tsubmitButton.find('.icon').removeClass('hidden');\n\t\t\t\t\t\t\tvar dataObj = $('
'+data+'
');\n\t\t\t\t\t\t\tvar dataObjContainer = dataObj.find(filterListForm.attr('data-content-selector'));\n\t\t\t\t\t\t\tcontainer.html(dataObjContainer.html());\n\t\t\t\t\t\t\tapp.reinit();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = actionUrl;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// reset filter\n\t\t$('.button--reset-filter').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar resetButton = $(this);\n\t\t\t\tif (typeof resetButton.attr('data-ajax') !== 'undefined'){\n\t\t\t\t\tvar container = $(resetButton.attr('data-content-selector'));\n\t\t\t\t\tresetButton.find('.icon').addClass('hidden');\n\t\t\t\t\tresetButton.addClass('button--disabled').append('');\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'GET',\n\t\t\t\t\t\turl:resetButton.attr('href'),\n\t\t\t\t\t\tdata:'',\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\tresetButton.removeClass('button--disabled');\n\t\t\t\t\t\t\tresetButton.find('.loader').remove();\n\t\t\t\t\t\t\tresetButton.find('.icon').removeClass('hidden');\n\t\t\t\t\t\t\tvar dataObj = $('
'+data+'
');\n\t\t\t\t\t\t\tvar dataObjContainer = dataObj.find(resetButton.attr('data-content-selector'));\n\t\t\t\t\t\t\tcontainer.html(dataObjContainer.html());\n\t\t\t\t\t\t\tapp.reinit();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = resetButton.attr('href');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tinitNav:function(){\n\t\tvar that = this;\n\n\t\tthat.nav.find('.dashboard__nav_inner > ul > li').each(function(){\n\t\t\tvar navItem = $(this);\n\t\t\tif (typeof navItem.find('ul').html() !== 'undefined'){\n\t\t\t\tnavItem.addClass('has-submenu').find('> a').append('');\n\t\t\t}\n\t\t});\n\n\t\tthat.nav.find('.dashboard__nav_inner > ul > li').unbind().on({\n\t\t\tclick:function(e){\n\t\t\t\tvar target = $(e.target);\n\t\t\t\tvar navItem = $(this);\n\t\t\t\tvar stickyElement = $('.dashboard__nav_container, .panel__nav_container');\n\t\t\t\tif (typeof stickyElement.data('stickySidebar') !== 'undefined'){\n\t\t\t\t\tstickyElement.data('stickySidebar').updateSticky();\n\t\t\t\t}\n\t\t\t\tif ((target.is('a') && target.attr('href') == '#') || target.is('span')){\n\t\t\t\t\tif (navItem.hasClass('active')){\n\t\t\t\t\t\tnavItem.removeClass('active');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnavItem.addClass('active');\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\t//\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tpaymentError:function(form, data){\n\t\tvar that = this;\n\t\tif (typeof $('.payment__loading').html() !== 'undefined'){\n\t\t\t$('.payment__loading .loader').remove();\n\t\t\tsetTimeout(function(){\n\t\t\t\twindow.location.href = window.location.origin;\n\t\t\t}, 8000);\n\t\t}\n\t},\n\tsaveSettingsCallback:function(form, data){\n\t\tvar that = this;\n\t\tif (data.section == 'email' && data.callbackStatus == 'verify_email'){\n\t\t\t$('#verify-email-message').removeClass('hidden');\n\t\t}\n\t\tapp.modules.form.success(form, data, form.find('[name=\"responseTemplate\"]').html() !== 'undefined' && form.find('[name=\"responseTemplate\"]').val() == 'toaster' ? true : false);\n\t},\n\topenMobileNav:function(){\n\t\tvar that = this;\n\t\tthat.vars.canHideNav = false;\n\t\tthat.vars.canChangeNaviScollState = false;\n\t\tthat.body.addClass('open-nav');\n\t\tapp.fixedContent(true);\n\t},\n\tcloseMobileNav:function(){\n\t\tvar that = this;\n\t\tthat.body.removeClass('open-nav');\n\t\tapp.fixedContent(false);\n\t\tsetTimeout(function(){\n\t\t\tthat.vars.canHideNav = true;\n\t\t\tthat.vars.canChangeNaviScollState = true;\n\t\t}, 310);\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.dashboard = new dashboard;\nfunction lazyLoad(){\n\tthis.$slider;\n\tthis.vars = {\n\t\tslidesPerView:3,\n\t\tcanUseWebP:app.canUseWebP()\n\t}\n}\nlazyLoad.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t\tthat.lazyLoadImages('[data-bg], img[data-src]');\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t\t$(window).on('scroll resize', function(){\n\t\t\tthat.lazyLoadImages('[data-bg], img[data-src]');\n\t\t});\n\t},\n\tlazyLoadImages:function(selector){\n\t\tvar that = this;\n\t\tsetTimeout(function(){\n\t\t\t$(selector).each(function(i){\n\t\t\t\tvar element = $(this);\n\t\t\t\tif (!element.hasClass('lazyload__loaded') || element.hasClass('lazyload__responsive')){\n\t\t\t\t\tif (($(window).height()+$(window).scrollTop())-element.offset().top > 0 && ($(window).width()+$(window).scrollLeft())-element.offset().left > 0 && $(window).scrollTop() < (element.offset().top+element.outerHeight()) && $(window).scrollLeft() < (element.offset().left+element.outerWidth())){\n\t\t\t\t\t\tif (typeof element.attr('data-bg') !== 'undefined'){\n\t\t\t\t\t\t\tvar imageObj = element.attr('data-bg');\n\t\t\t\t\t\t\tvar isJsonString = app.isJsonString(imageObj);\n\t\t\t\t\t\t\tif (isJsonString){\n\t\t\t\t\t\t\t\telement.addClass('lazyload__responsive');\n\t\t\t\t\t\t\t\tvar imageObj = $.parseJSON(imageObj);\n\t\t\t\t\t\t\t\tif (Object.keys(imageObj).length){\n\t\t\t\t\t\t\t\t\tvar screenSize = 'mobile';\n\t\t\t\t\t\t\t\t\tif (app.vars.screenDesktop){\n\t\t\t\t\t\t\t\t\t\tscreenSize = 'desktop';\n\t\t\t\t\t\t\t\t\t} else if (app.vars.screenTablet){\n\t\t\t\t\t\t\t\t\t\tscreenSize = 'tablet';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvar imageSrc = typeof imageObj[screenSize] !== 'undefined' ? (imageObj[screenSize][that.vars.canUseWebP ? 'url_webp' : 'url']) : (imageObj[that.vars.canUseWebP ? 'url_webp' : 'url']);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\timageSrc = '';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar imageSrc = element.attr('data-bg');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthat.loadImage(imageSrc, element, 'bg');\n\t\t\t\t\t\t\telement.css({\n\t\t\t\t\t\t\t\t'background-image':'url('+imageSrc+')'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof element.attr('data-src') !== 'undefined'){\n\t\t\t\t\t\t\tvar imageObj = element.attr('data-src');\n\t\t\t\t\t\t\tvar isJsonString = app.isJsonString(imageObj);\n\t\t\t\t\t\t\tif (isJsonString){\n\t\t\t\t\t\t\t\telement.addClass('lazyload__responsive');\n\t\t\t\t\t\t\t\tvar imageObj = $.parseJSON(imageObj);\n\t\t\t\t\t\t\t\tif (Object.keys(imageObj).length){\n\t\t\t\t\t\t\t\t\tvar screenSize = 'mobile';\n\t\t\t\t\t\t\t\t\tif (app.vars.screenDesktop){\n\t\t\t\t\t\t\t\t\t\tscreenSize = 'desktop';\n\t\t\t\t\t\t\t\t\t} else if (app.vars.screenTablet){\n\t\t\t\t\t\t\t\t\t\tscreenSize = 'tablet';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvar imageSrc = typeof imageObj[screenSize] !== 'undefined' ? (imageObj[screenSize][that.vars.canUseWebP ? 'url_webp' : 'url']) : (imageObj[that.vars.canUseWebP ? 'url_webp' : 'url']);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\timageSrc = element.attr('src');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar imageSrc = element.attr('data-src');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthat.loadImage(imageSrc, element, 'src');\n\t\t\t\t\t\t\telement.attr('src', imageSrc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof element.attr('data-lazyload-callback') !== 'undefined'){\n\t\t\t\t\t\t\tvar callbackArr = element.attr('data-lazyload-callback').split('.');\n\t\t\t\t\t\t\tapp.modules[callbackArr[0]][callbackArr[1]]();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}, 10);\n\t},\n\tloadImage:function(url, element, type){\n\t\tif (url != ''){\n\t\t\t$('').on('load',function(){\n\t\t\t\telement.addClass('lazyload__loaded');\n\t\t\t});\n\t\t}\n\t},\n\treset:function(selector){\n\t\tvar that = this;\n\t\t$(selector).each(function(i){\n\t\t\tvar element = $(this);\n\t\t\tif (element.hasClass('lazyload__loaded')){\n\t\t\t\telement.removeClass('lazyload__loaded');\n\t\t\t\tif (typeof element.attr('data-bg') !== 'undefined'){\n\t\t\t\t\telement.removeAttr('style');\n\t\t\t\t}\n\t\t\t\tif (typeof element.attr('data-src') !== 'undefined'){\n\t\t\t\t\telement.removeAttr('src');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.lazyLoad = new lazyLoad;\nfunction bootstrap(){}\nbootstrap.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// close dropdown on body click\n\t\t$('body').on('click', function(e){\n\t\t\tif (!$('.dropdown-toggle').is(e.target) && $('.dropdown-toggle').has(e.target).length === 0 && $('.open').has(e.target).length === 0 && typeof $(e.target).closest('.jcf-select-drop').html() === 'undefined'){\n\t\t\t\t$('.button__group, .dropdown-menu').removeClass('open');\n\t\t\t\t$('.dropdown-toggle').attr('aria-expanded', 'false');\n\t\t\t}\n\t\t});\n\n\t\t// toggle dropdoen menu\n\t\t$('.dropdown-toggle').unbind().on('click', function(e){\n\t\t\tvar dropdownToggle = $(this);\n\t\t\tvar dropdownMenu = dropdownToggle.next();\n\t\t\tvar dropdownButtonGroup = dropdownToggle.closest('.button__group');\n\t\t\tsetTimeout(function(){\n\t\t\t\t$('.dropdown-toggle').not(dropdownToggle).attr('aria-expanded', 'false');\n\t\t\t\t$('.dropdown-menu').not(dropdownMenu).removeClass('open');\n\t\t\t\t$('.button__group').not(dropdownButtonGroup).removeClass('open');\n\t\t\t\tif (dropdownMenu.hasClass('open')){\n\t\t\t\t\tdropdownMenu.removeClass('open');\n\t\t\t\t\tdropdownButtonGroup.removeClass('open');\n\t\t\t\t\tdropdownToggle.attr('aria-expanded', 'false');\n\t\t\t\t} else {\n\t\t\t\t\tdropdownMenu.addClass('open');\n\t\t\t\t\tdropdownButtonGroup.addClass('open');\n\t\t\t\t\tdropdownToggle.attr('aria-expanded', 'true');\n\t\t\t\t}\n\t\t\t}, 10);\n\t\t});\n\n\t\t$('.button__group').unbind().on('hide.bs.dropdown', function(e){\n\t\t\tvar buttonGroup = $(this);\n\t\t\tif (buttonGroup.find('.jcf-select').hasClass('jcf-drop-active') || buttonGroup.find('.jcf-select').hasClass('jcf-focus')){\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t}\n};\napp.modules.bootstrap = new bootstrap;\nfunction _history(){\n\tthis.vars = {\n\t\tallowStateChange:true\n\t}\n}\n_history.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\tvar\tHistory = window.History,\n\t\t\t$ = window.jQuery,\n\t\t\tdocument = window.document;\n\n\t\tif (!History.enabled){\n\t\t\treturn false;\n\t\t}\n\n\t\tvar\tcontentSelector = 'main',\n\t\t\t$content = $(contentSelector).filter(':first'),\n\t\t\tcontentNode = $content.get(0),\n\t\t\t$menu = $('.ajax-menu:first').filter(':first'),\n\t\t\tactiveClass = 'active',\n\t\t\tactiveSelector = '.active',\n\t\t\tmenuChildrenSelector = '> li, > ul > li',\n\t\t\tcompletedEventName = 'statechangecomplete',\n\t\t\t$window = $(window),\n\t\t\t$body = $(document.body),\n\t\t\trootUrl = History.getRootUrl();\n\n\t\tif ($content.length === 0){\n\t\t\t$content = $body;\n\t\t}\n\n\t\t$.expr[':'].internal = function(obj, index, meta, stack){\n\t\t\tvar\t$this = $(obj),\n\t\t\t\turl = $this.attr('href') || '',\n\t\t\t\tisInternalLink;\n\n\t\t\tisInternalLink = url.substring(0, rootUrl.length) === rootUrl || url.indexOf(':') === -1;\n\t\t\treturn isInternalLink;\n\t\t};\n\n\t\t$.fn.ajaxify = function(){\n\t\t\tvar $this = $(this);\n\t\t\t$this.find('a.ajaxy:internal, .paging a').click(function(event){\n\t\t\t\tvar\t$this = $(this),\n\t\t\t\t\turl = $this.attr('href'),\n\t\t\t\t\ttitle = $this.attr('title') || null;\n\n\t\t\t\tif (event.which == 2 || event.metaKey){\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tHistory.pushState(null, title, url);\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\treturn $this;\n\t\t};\n\n\t\t$body.ajaxify();\n\n\t\t$window.bind('statechange',function(){\n\t\t\tif (!that.vars.allowStateChange){\n\t\t\t\tthat.vars.allowStateChange = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar\tState = History.getState(),\n\t\t\t\turl = State.url,\n\t\t\t\trelativeUrl = url.replace(rootUrl, ''),\n\t\t\t\tstateMode = null;\n\n\t\t\tif (typeof State.data.mode !== 'undefined'){\n\t\t\t\tstateMode = State.data.mode;\n\t\t\t}\n\t\t\tif (stateMode == 'sleep'){\n\t\t\t\t// do nothing\n\t\t\t} else if (stateMode == 'onepager'){\n\t\t\t\tthat.tracking(relativeUrl);\n\t\t\t} else {\n\t\t\t\t$body.addClass('loading');\n\n\t\t\t\t$content.animate({\n\t\t\t\t\topacity:0\n\t\t\t\t}, 400, 'linear', function(){\n\t\t\t\t\t//\n\t\t\t\t});\n\n\t\t\t\t$.ajax({\n\t\t\t\t\turl:url,\n\t\t\t\t\tsuccess:function(data, textStatus, jqXHR){\n\t\t\t\t\t\tvar $data = $(that.documentHtml(data)),\n\t\t\t\t\t\t\t$dataBody = $data.find('.document-body:first'),\n\t\t\t\t\t\t\t$dataContent = $dataBody.find(contentSelector).filter(':first'),\n\t\t\t\t\t\t\t$menuChildren, contentHtml, $scripts;\n\n\t\t\t\t\t\t$scripts = $dataContent.find('.document-script');\n\n\t\t\t\t\t\tif ($scripts.length){\n\t\t\t\t\t\t\t$scripts.detach();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcontentHtml = $dataContent.html() || $data.html();\n\n\t\t\t\t\t\tif (!contentHtml){\n\t\t\t\t\t\t\tdocument.location.href = url;\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$menuChildren = $menu.find(menuChildrenSelector);\n\t\t\t\t\t\t$menuChildren.filter(activeSelector).removeClass(activeClass);\n\t\t\t\t\t\t$menuChildren = $menuChildren.has('a[href^=\"'+relativeUrl+'\"], a[href^=\"/'+relativeUrl+'\"], a[href^=\"'+url+'\"]');\n\t\t\t\t\t\tif ($menuChildren.length === 1){\n\t\t\t\t\t\t\t$menuChildren.addClass(activeClass);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$content.stop(true, true);\n\t\t\t\t\t\t$content.html(contentHtml).ajaxify().css('opacity', 100).show();\n\n\t\t\t\t\t\t$.each(app.modules, function(index, element){\n\t\t\t\t\t\t\t$.each(element, function(indexSub, elementSub){\n\t\t\t\t\t\t\t\tif (elementSub instanceof jQuery){\n\t\t\t\t\t\t\t\t\tapp.modules[index][indexSub] = $(elementSub.selector);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tapp.reinit();\n\n\t\t\t\t\t\tthat.updateTitle($data.find('.document-title:first').text());\n\n\t\t\t\t\t\t$scripts.each(function(){\n\t\t\t\t\t\t\tvar $script = $(this), scriptText = $script.text(), scriptNode = document.createElement('script');\n\t\t\t\t\t\t\tif ($script.attr('src')){\n\t\t\t\t\t\t\t\tif (!$script[0].async){\n\t\t\t\t\t\t\t\t\tscriptNode.async = false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscriptNode.src = $script.attr('src');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tscriptNode.appendChild(document.createTextNode(scriptText));\n\t\t\t\t\t\t\tcontentNode.appendChild(scriptNode);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t$('body,html').animate({\n\t\t\t\t\t\t\tscrollTop:0\n\t\t\t\t\t\t}, 400, 'easeOutCubic', function(){\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$body.removeClass('loading');\n\t\t\t\t\t\t$window.trigger(completedEventName);\n\n\t\t\t\t\t\tthat.tracking(relativeUrl);\n\t\t\t\t\t},\n\t\t\t\t\terror:function(jqXHR, textStatus, errorThrown){\n\t\t\t\t\t\tdocument.location.href = url;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\tdocumentHtml:function(html){\n\t\tvar result = String(html).replace(/<\\!DOCTYPE[^>]*>/i, '').replace(/<(html|head|body|title|meta|script)([\\s\\>])/gi,'
/gi,'
');\n\t\treturn $.trim(result);\n\t},\n\tupdateTitle:function(text){\n\t\tdocument.title = text;\n\t\ttry { document.getElementsByTagName('title')[0].innerHTML = document.title.replace('<', '<').replace('>', '>').replace(' & ', ' & '); }\n\t\tcatch (Exception) { }\n\t},\n\ttracking:function(url){\n\t\tif (typeof gtag !== 'undefined' && typeof $('[data-gtag-tracking-id]').html() !== 'undefined'){\n\t\t\tvar trackPath = url;\n\t\t\tvar gtagTrackingScript = $('[data-gtag-tracking-id]');\n\t\t\tif (trackPath.charAt(0) == '/'){\n\t\t\t\ttrackPath = trackPath.substring(1);\n\t\t\t}\n\t\t\ttrackPath = '/'+trackPath;\n\t\t\tgtag('config', gtagTrackingScript.attr('data-gtag-tracking-id'), {\n\t\t\t\t'page_title':document.getElementsByTagName('title')[0].innerHTML,\n\t\t\t\t'page_path':trackPath,\n\t\t\t\t'anonymize_ip':gtagTrackingScript.attr('data-gtag-anonymize-ip') == 'true' ? true : false\n\t\t\t});\n\t\t}\n\t}\n};\napp.modules._history = new _history;\nfunction overlay(){\n\tthis.overlay = $('.overlay');\n\tthis.overlayBody = $('.overlay__body');\n\tthis.vars = {\n\t\tdoing:false\n\t}\n}\noverlay.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// check overlay hash\n\t\tif (window.location.hash){\n\t\t\tvar urlHash = window.location.hash;\n\t\t\tif (typeof $('.overlay[id=\"'+urlHash.replace('#', '')+'\"]').html() !== 'undefined' && urlHash.replace('#', '') != 'confirm'){\n\t\t\t\tthat.show('inline', urlHash.replace('#', ''));\n\t\t\t}\n\t\t}\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// open overlay\n\t\t$('[data-overlay]:not([data-prevent-overlay])').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar overlayLink = $(this);\n\t\t\t\tif ($('.overlay').hasClass('overlay--show')){\n\t\t\t\t\tthat.hide($('.overlay--show'));\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tthat.prepare(overlayLink);\n\t\t\t\t\t}, 310);\n\t\t\t\t} else {\n\t\t\t\t\tthat.prepare(overlayLink);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// hide overlay\n\t\t$('.overlay .overlay__content > .close, [href=\"#close\"]').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tthat.hide($(this).parents('.overlay'));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\t$(document).keyup(function(e){\n\t\t\tif (e.keyCode == 27) {\n\t\t\t\tif (that.overlay.hasClass('overlay--show')){\n\t\t\t\t\tthat.hide(that.overlay);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// init tabs\n\t\t$('.overlay .tabs--tabbing').tabbing({\n\t\t\tenableNav:true,\n\t\t\tdisableInactive:false\n\t\t});\n\t},\n\tprepare:function(overlayLink){\n\t\tvar that = this;\n\t\tif (typeof $('.overlay[id=\"'+overlayLink.attr('href').replace('#', '')+'\"]').html() !== 'undefined'){\n\t\t\tthat.show('inline', overlayLink.attr('href').replace('#', ''), overlayLink);\n\t\t} else if (typeof $('.overlay[id=\"'+overlayLink.attr('data-overlay')+'\"]').html() !== 'undefined'){\n\t\t\tthat.show('inline', overlayLink.attr('data-overlay'), overlayLink);\n\t\t} else {\n\t\t\tthat.show('inline', 'loading');\n\t\t\tvar checkIfDoing = setInterval(function(){\n\t\t\t\tif (that.vars.doing === false){\n\t\t\t\t\tclearInterval(checkIfDoing);\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'GET',\n\t\t\t\t\t\turl:overlayLink.attr('href'),\n\t\t\t\t\t\tdata:typeof overlayLink.attr('data-data') !== 'undefined' ? overlayLink.attr('data-data') : null,\n\t\t\t\t\t\terror:function(jqXHR, exception, thrownError){\n\t\t\t\t\t\t\tthat.throwError(jqXHR, exception, thrownError);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\t$('body').append(data);\n\t\t\t\t\t\t\tapp.reinit();\n\t\t\t\t\t\t\tif (typeof overlayLink.attr('data-callback') !== 'undefined'){\n\t\t\t\t\t\t\t\tvar callbackFunction = overlayLink.attr('data-callback').split('.');\n\t\t\t\t\t\t\t\tapp.modules[callbackFunction[0]][callbackFunction[1]](overlayLink, data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ($('.overlay').hasClass('overlay--show')){\n\t\t\t\t\t\t\t\tthat.hide($('.overlay--show'));\n\t\t\t\t\t\t\t\tthat.show('inline', overlayLink.attr('data-overlay'), overlayLink);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthat.show('inline', overlayLink.attr('data-overlay'), overlayLink);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, 20);\n\t\t}\n\t},\n\tshow:function(type, id, button, disableHashChange){\n\t\tvar that = this;\n\t\tvar allowHashChange = true;\n\t\tthat.vars.doing = true;\n\t\tvar overlay = $('.overlay[id=\"'+id+'\"]');\n\t\tapp.fixedContent(true);\n\t\t$('.open > .dropdown-toggle').trigger('click');\n\t\tif ((typeof button !== 'undefined' && button[0].hasAttribute('data-hide-url')) || id == 'loading' || (typeof disableHashChange !== 'undefined' && disableHashChange)){\n\t\t\tallowHashChange = false;\n\t\t}\n\t\t\n\t\t// show callback\n\t\tif (typeof button !== 'undefined' && typeof button.attr('data-callback-on-show') !== 'undefined'){\n\t\t\tvar callbackClose = button.attr('data-callback-on-show').split('.');\n\t\t\tsetTimeout(function(){\n\t\t\t\tapp.modules[callbackClose[0]][callbackClose[1]](overlay, button);\n\t\t\t}, 310);\n\t\t}\n\n\t\t$('html,body').addClass('fixed--overlay');\n\t\tif (type == 'inline'){\n\t\t\toverlay.addClass('overlay--show');\n\t\t\tif (id != 'confirm'){\n\t\t\t\tif (allowHashChange){\n\t\t\t\t\tapp.modules._history.vars.allowStateChange = false;\n\t\t\t\t\twindow.location.hash = id;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$('.overlay[id=\"'+id+'\"] [data-confirm-default-text]').text($('.overlay[id=\"'+id+'\"] [data-confirm-default-text]').attr('data-confirm-default-text'));\n\t\t\t\tif (typeof button.html() !== 'undefined' && button.attr('data-confirm') !== 'undefined'){\n\t\t\t\t\t$('.overlay[id=\"'+id+'\"] [data-confirm-default-text]').text(button.attr('data-confirm-text'));\n\t\t\t\t\t$('.overlay[id=\"'+id+'\"] .button--confirm').attr('href', button.attr('data-confirm')).attr('data-redirect', typeof button.attr('data-redirect') !== 'undefined' ? button.attr('data-redirect') : false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(function(){\n\t\t\tthat.vars.doing = false;\n\t\t\toverlay.addClass('overlay--loaded');\n\t\t}, 310);\n\n\t\tthat.addListener();\n\t},\n\thide:function(overlay){\n\t\tvar that = this;\n\t\tif (typeof overlay.html() !== 'undefined'){\n\t\t\toverlay.removeClass('overlay--show overlay--loaded');\n\t\t\t$('html,body').removeClass('fixed--overlay');\n\t\t\tapp.fixedContent(false);\n\t\t\tif (overlay[0].hasAttribute('id') && window.location.hash == '#'+overlay.attr('id')){\n\t\t\t\tapp.modules._history.vars.allowStateChange = false;\n\t\t\t\tHistory.pushState(null, null, window.location.href.split('#')[0]);\n\t\t\t}\n\n\t\t\t// close callback\n\t\t\tif (typeof overlay.attr('data-callback-on-close') !== 'undefined'){\n\t\t\t\tif (overlay.attr('data-callback-on-close') == 'remove'){\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\toverlay.remove();\n\t\t\t\t\t}, 310);\n\t\t\t\t} else {\n\t\t\t\t\tvar callbackClose = overlay.attr('data-callback-on-close').split('.');\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tapp.modules[callbackClose[0]][callbackClose[1]](overlay);\n\t\t\t\t\t}, 310);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(function(){\n\t\t\tthat.vars.doing = false;\n\t\t}, 310);\n\n\t\tthat.addListener();\n\t},\n\thideIfOpen:function(){\n\t\tvar that = this;\n\t\tif ($('.overlay.overlay--show').length > 0){\n\t\t\tthat.hide($('.overlay--show'));\n\t\t}\n\t},\n\tthrowError:function(jqXHR, exception, thrownError){\n\t\tvar that = this;\n\t\tthat.hideIfOpen();\n\t\tif (jqXHR.status == 401){\n\t\t\tsetTimeout(function(){\n\t\t\t\tthat.show('inline', 'not-authorized', undefined, true);\n\t\t\t}, 310);\n\t\t} else if (jqXHR.status == 419){\n\t\t\tsetTimeout(function(){\n\t\t\t\tthat.show('inline', 'session-expired', undefined, true);\n\t\t\t}, 310);\n\t\t} else {\n\t\t\tvar error = typeof jqXHR.responseJSON.errors !== 'undefined' ? jqXHR.responseJSON.errors : {error:jqXHR.responseJSON.message};\n\t\t\tvar messagesHtml = '
    ';\n\t\t\t$.each(error, function(index, message){\n\t\t\t\tmessagesHtml += '
  • '+message+'
  • ';\n\t\t\t});\n\t\t\tmessagesHtml += '
';\n\t\t\t$.toaster({\n\t\t\t\tpriority:'error',\n\t\t\t\tmessage:messagesHtml\n\t\t\t});\n\t\t}\n\t},\n\treinit:function(){\n\t\tthis.addListener();\n\t}\n};\napp.modules.overlay = new overlay;\nfunction alert(){}\nalert.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// close alert box\n\t\t$('.alert .close').on({\n\t\t\tclick:function(){\n\t\t\t\tvar alertCloseBtn = $(this);\n\t\t\t\tvar parentFormRow = alertCloseBtn.closest('.form__row');\n\t\t\t\talertCloseBtn.closest('.alert').remove();\n\t\t\t\tparentFormRow.remove();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t}\n};\napp.modules.alert = new alert;\nfunction loading(){\n\tthis.vars = {\n\t\tinfinePadding:50,\n\t\tinfiniteLoading:false,\n\t\tcanClickLoad:true\n\t}\n}\nloading.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// infinite load check\n\t\t$(window).on('load resize scroll', function(e){\n\t\t\tthat.infiniteLoadCheck($(this));\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// inline load infinite\n\t\t$('[data-load-infinite][data-load-infinite-mode=\"inline\"]').parent().on({\n\t\t\tscroll:function(){\n\t\t\t\tvar item = $(this);\n\t\t\t\tvar itemLoad = item.find('[data-load-infinite]');\n\t\t\t\tif (item[0].scrollHeight - item.scrollTop() == item.height()){\n\t\t\t\t\tif (typeof itemLoad.attr('data-end') === 'undefined' && !that.vars.infiniteLoading){\n\t\t\t\t\t\tthat.infiniteLoad(itemLoad);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// click load infinite\n\t\t$('.loader_load_more').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tif (that.vars.canClickLoad){\n\t\t\t\t\tthat.vars.canClickLoad = false;\n\t\t\t\t\tvar loaderButton = $(this);\n\t\t\t\t\tvar item = loaderButton.prev();\n\t\t\t\t\tthat.infiniteLoad(item);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tinfiniteLoadCheck:function(window){\n\t\tvar that = this;\n\t\t$('[data-load-infinite]:not([data-load-infinite-mode=\"inline\"])').each(function(){\n\t\t\tvar item = $(this);\n\t\t\tif (typeof item.attr('data-load-infinite-button') !== 'undefined'){\n\t\t\t\tif (typeof item.next('.loader_load_more').html() === 'undefined' && that.vars.canClickLoad){\n\t\t\t\t\titem.after('
'+item.attr('data-load-infinite-button')+'
');\n\t\t\t\t\tthat.addListener();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar itemTopPos = item.offset().top;\n\t\t\t\tvar itemHeight = item.outerHeight();\n\t\t\t\tvar windowScrollTop = window.scrollTop();\n\t\t\t\tvar windowHeight = app.getViewport('height');\t\t\t\n\t\t\t\tif (itemTopPos+itemHeight-windowScrollTop+that.vars.infinePadding < windowHeight){\n\t\t\t\t\tif (typeof item.attr('data-end') === 'undefined' && !that.vars.infiniteLoading){\n\t\t\t\t\t\tthat.infiniteLoad(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tinfiniteLoad:function(item){\n\t\tvar that = this;\n\t\tthat.infiniteShowLoader(item);\n\t\t$.ajax({\n\t\t\ttype:'POST',\n\t\t\turl:item.attr('data-load-infinite'),\n\t\t\tdata:'page='+(typeof item.attr('data-next-page') === 'undefined' ? 2 : item.attr('data-next-page'))+(typeof item.attr('data-data') !== 'undefined' ? '&'+item.attr('data-data') : ''),\n\t\t\tsuccess:function(data){\n\t\t\t\titem.append(data.html);\n\t\t\t\tif (typeof item.attr('data-next-page') === 'undefined'){\n\t\t\t\t\titem.attr('data-next-page', 3);\n\t\t\t\t} else {\n\t\t\t\t\titem.attr('data-next-page', parseInt(item.attr('data-next-page'))+1);\n\t\t\t\t}\n\t\t\t\tif (!data.hasMorePages){\n\t\t\t\t\titem.attr('data-end', true);\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof item.next().next('.loader_load_more').html() !== 'undefined'){\n\t\t\t\t\t\titem.next().next('.loader_load_more').removeClass('hidden');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (typeof item.attr('data-module') !== 'undefined'){\n\t\t\t\t\tapp.modules[item.attr('data-module')].addListener();\n\t\t\t\t}\n\t\t\t\tif (typeof data.callbackJs !== 'undefined'){\n\t\t\t\t\tif ($.isArray(data.callbackJs[0])){\n\t\t\t\t\t\t$.each(data.callbackJs, function(key, value){\n\t\t\t\t\t\t\tif (typeof app.modules[value[0]] !== 'undefined'){\n\t\t\t\t\t\t\t\tapp.modules[value[0]][value[1]](item, data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tapp.modules[data.callbackJs[0]][data.callbackJs[1]](item, data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthat.addListener();\n\t\t\t\tapp.modules.form.addListener();\n\t\t\t\tapp.modules.overlay.addListener();\n\t\t\t\tapp.modules.tooltip.init();\n\t\t\t\tthat.infiniteHideLoader(item);\n\t\t\t\tthat.vars.canClickLoad = true;\n\t\t\t}\n\t\t});\n\t},\n\tinfiniteShowLoader:function(item){\n\t\tvar that = this;\n\t\tthat.vars.infiniteLoading = true;\n\t\titem.after('
');\n\t\tif (typeof item.next().next('.loader_load_more').html() !== 'undefined'){\n\t\t\titem.next().next('.loader_load_more').addClass('hidden');\n\t\t}\n\t},\n\tinfiniteHideLoader:function(item){\n\t\tvar that = this;\n\t\tthat.vars.infiniteLoading = false;\n\t\titem.next('.loader_bar').remove();\n\t},\n\tstartOverlay:function(form, data){\n\t\tvar that = this;\n\t\t$.ajax({\n\t\t\ttype:'POST',\n\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/events/loader/overlay',\n\t\t\tdata:'loadingUrl='+data.loadingUrl,\n\t\t\tsuccess:function(data){\n\t\t\t\t$('body').append(data.html);\n\t\t\t\tsetTimeout(function(){\n\t\t\t\t\tthat.processingOverlay(data);\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t});\n\t},\n\tprocessingOverlay:function(data){\n\t\tvar that = this;\n\t\t$.ajax({\n\t\t\ttype:'POST',\n\t\t\turl:data.loadingUrl,\n\t\t\tdata:'loadingUrl='+data.loadingUrl,\n\t\t\tsuccess:function(data){\n\t\t\t\t$('.progress__bar_inner').width(data.progress+'%');\n\t\t\t\tif (data.end !== true){\n\t\t\t\t\tthat.processingOverlay(data);\n\t\t\t\t} else if (data.redirect !== false){\n\t\t\t\t\twindow.location.href = data.redirect;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t}\n};\napp.modules.loading = new loading;\nfunction tooltip(){}\ntooltip.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// init tooltip\n\t\t$('.tooltip').remove();\n\t\t$('[data-toggle=\"tooltip\"]').tooltip({\n\t\t\tplacement:'bottom',\n\t\t\thtml:true,\n\t\t\tanimation:true,\n\t\t\tboundary:'window'\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.tooltip = new tooltip;\nfunction anchor(){\n\tthis.vars = {\n\t\tisScrolling:false\n\t}\n}\nanchor.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tvar paddingObject = $('header > .block, header > .topbar');\n\t\tthat.addListener();\n\n\t\tif ($.trim(window.location.hash) != ''){\n\t\t\t$(window).on({\n\t\t\t\tload:function(){\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tvar hash = $.trim(window.location.hash);\n\t\t\t\t\t\tvar target = $('a[name=\"'+hash.replace('#', '')+'\"]');\n\t\t\t\t\t\tif (typeof target.html() !== 'undefined'){\n\t\t\t\t\t\t\tvar newScrollTopPos = target.offset().top;\n\t\t\t\t\t\t\tif (paddingObject && paddingObject.length > 0 && paddingObject.css('position') == 'fixed'){\n\t\t\t\t\t\t\t\tnewScrollTopPos = newScrollTopPos-paddingObject.outerHeight();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$('html,body').scrollTop(newScrollTopPos);\n\t\t\t\t\t\t\t$('a[href$=\"'+hash+'\"][data-anchor-link]:not([data-overlay]):not(a[href=\"#\"])').parent().addClass('active');\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 100);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t$('a[data-anchor-link]:not([data-overlay]):not(a[href=\"#\"])').on({\n\t\t\tclick:function(e){\n\t\t\t\te.preventDefault();\n\t\t\t\tvar link = $(this);\n\t\t\t\tvar currentUrl = $('meta[name=\"current-url\"]').attr('content');\n\t\t\t\tvar target = $('a[name=\"'+link.attr('href').replace(currentUrl+'/', '').replace(currentUrl, '').replace('#', '')+'\"]');\n\t\t\t\tif (typeof target.html() !== 'undefined'){\n\t\t\t\t\tthat.vars.isScrolling = true;\n\t\t\t\t\tif (typeof $('body').attr('event-delay') !== 'undefined'){\n\t\t\t\t\t\teventDelay = parseInt($('body').attr('event-delay'));\n\t\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\t\tthat.move(link, target);\n\t\t\t\t\t\t}, eventDelay);\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthat.move(link, target);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = link.attr('href');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tmove:function(link, target){\n\t\tvar that = this;\n\t\tvar paddingObject = $('header > .block, header > .topbar');\n\t\tvar newScrollTopPos = target.offset().top;\n\t\tvar linkArr = link.attr('href').split('#');\n\t\tvar hash = linkArr[linkArr.length-1];\n\t\tif (paddingObject && paddingObject.length > 0 && paddingObject.css('position') == 'fixed'){\n\t\t\tnewScrollTopPos = newScrollTopPos-paddingObject.outerHeight();\n\t\t}\n\t\t$('a[data-anchor-link]:not([data-overlay]):not(a[href=\"#\"])').parent().removeClass('active');\n\t\tlink.parent().addClass('active');\n\t\t$('html,body').stop(true, true).animate({\n\t\t\tscrollTop:newScrollTopPos\n\t\t}, 800, 'easeInOutExpo', function(){\n\t\t\tthat.vars.isScrolling = false;\n\t\t\tif (History.pushState){\n\t\t\t\tapp.modules._history.vars.allowStateChange = false;\n\t\t\t\tHistory.pushState(null, null, '-');\n\t\t\t\tHistory.pushState(null, null, link.attr('href'));\n\t\t\t} else {\n\t\t\t\tapp.modules._history.vars.allowStateChange = false;\n\t\t\t window.location.hash = hash;\n\t\t\t}\n\t\t});\n\t}\n};\napp.modules.anchor = new anchor;\nfunction fileuploader(){}\nfileuploader.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// init fileuploader\n\t\t$('input[type=\"file\"]').each(function(){\n\t\t\tvar fileField = $(this);\n\t\t\tif (!fileField.hasClass('filer')){\n\t\t\t\tvar fileOptions = {\n\t\t limit:typeof fileField.attr('data-limit') !== 'undefined' ? fileField.attr('data-limit') : 30,\n\t\t maxSize:typeof fileField.attr('data-maxSize') !== 'undefined' ? fileField.attr('data-maxSize') : 100,\n\t\t fileMaxSize:typeof fileField.attr('data-fileMaxSize') !== 'undefined' ? fileField.attr('data-fileMaxSize') : 20,\n\t\t extensions:typeof fileField.attr('data-extensions') !== 'undefined' ? fileField.attr('data-extensions') : ['jpg', 'jpeg', 'png', 'gif', 'pdf', 'doc', 'docx', 'ppt', 'xls', 'xlsx', 'csv', 'zip', 'mp4'],\n\t\t disallowedExtensions:typeof fileField.attr('data-disallowedExtensions') !== 'undefined' ? fileField.attr('data-disallowedExtensions') : ['exe'],\n\t\t theme:typeof fileField.attr('data-theme') !== 'undefined' ? fileField.attr('data-theme') : 'default',\n\t\t enableApi:true,\n\t\t changeInput:typeof fileField.attr('data-theme') !== 'undefined' && fileField.attr('data-theme') == 'dragdrop' ? '
'+\n\t\t\t\t\t '
'+\n\t\t\t\t\t\t '
'+\n\t\t\t\t\t\t\t '

${captions.feedback}

'+\n\t\t\t\t\t\t\t '

${captions.or}

' +\n\t\t\t\t\t\t '
' +\n\t\t\t\t\t '
' : (typeof fileField.attr('data-theme') !== 'undefined' && fileField.attr('data-theme') == 'onebutton' ? (typeof fileField.attr('data-title') !== 'undefined' ? '
'+fileField.attr('data-title')+'
' : '
${captions.button}
') : true),\n\t\t thumbnails:{\n\t\t \tbox:'\t
'+\n\t\t \t\t\t\t'
    '+\n\t\t \t\t\t'
    ',\n\t\t \tboxAppendTo:null,\n\t\t \titem:'\t
  • '+\n\t\t\t \t\t\t'
    '+\n\t\t\t \t\t\t\t'
    ${image}
    '+\n\t\t \t\t\t\t\t'
    '+\n\t\t \t\t\t\t\t\t'
    ${name}
    '+\n\t\t \t\t\t\t\t\t'${size2}'+\n\t\t \t\t\t\t\t'
    '+\n\t\t \t\t\t\t\t'
    '+\n\t\t \t\t\t\t\t\t''+\n\t\t \t\t\t\t\t'
    '+\n\t\t \t\t\t\t'
    '+\n\t\t\t \t\t\t'
    ${progressBar}
    '+\n\t\t \t\t \t'
  • ',\n\t\t \titem2: '
  • '+\n\t\t \t\t\t\t'
    '+\n\t\t \t\t\t\t\t'
    ${image}
    '+\n\t\t\t\t\t ''+\n\t\t\t\t\t '
    '+\n\t\t\t\t\t \t''+\n\t\t\t\t\t \t''+\n\t\t\t\t\t '
    '+\n\t\t\t\t\t '
    '+\n\t\t\t\t\t '
  • ',\n\t\t\t\t\t _selectors:{\n\t\t\t\t\t \tlist:'.fileuploader-items-list',\n\t\t\t\t\t \titem:'.fileuploader-item',\n\t\t\t\t\t \tstart:'.fileuploader-action-start',\n\t\t\t\t\t \tretry:'.fileuploader-action-retry',\n\t\t\t\t\t \tremove:'.fileuploader-action-remove',\n\t\t\t\t\t \tsorter:'.fileuploader-action-sort',\n\t\t\t\t\t \trotate:'.fileuploader-action-rotate',\n\t\t\t\t\t \tpopup:'.fileuploader-popup-preview',\n\t\t\t\t\t \tpopup_open:'.fileuploader-action-popup'\n\t\t\t\t\t },\n\t\t\t\t\t itemPrepend:false,\n\t\t\t\t\t removeConfirmation:true,\n\t\t\t\t\t startImageRenderer:true,\n\t\t\t\t\t synchronImages:true,\n\t\t\t\t\t useObjectUrl:false,\n\t\t\t\t\t canvasImage:true,\n\t\t\t\t\t videoThumbnail:false,\n\t\t\t\t\t exif:true,\n\t\t\t\t\t beforeShow:null,\n\t\t\t\t\t onItemShow:null,\n\t\t\t\t\t onItemRemove:function(html){\n\t\t\t\t\t \thtml.children().animate({'opacity':0}, 200, function(){\n\t\t\t\t\t \t\tsetTimeout(function(){\n\t\t\t\t\t \t\t\thtml.slideUp(200, function(){\n\t\t\t\t\t \t\t\t\thtml.remove();\n\t\t\t\t\t \t\t\t});\n\t\t\t\t\t \t\t}, 100);\n\t\t\t\t\t \t});\n\t\t\t\t\t },\n\t\t\t\t\t onImageLoaded:function(item, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t \tif (item.image.hasClass('fileuploader-no-thumbnail')){\n\t\t\t\t\t \t\t//\n\t\t\t\t\t \t}\n\t\t\t\t\t \tif (item.reader.node && item.reader.width > 1920 && item.reader.height > 1080 && item.reader.ratio != '16:9'){\n\t\t\t\t\t \t\t//\n\t\t\t\t\t \t}\n\t\t\t\t\t }\n\t\t\t\t\t},\n\t\t\t\t\tdragDrop:{\n\t\t\t\t\t\tcontainer:null,\n\t\t\t\t\t\tonDragEnter:function(event, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonDragLeave:function(event, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonDrop:function(event, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\teditor:null,\n\t\t\t\t\tsorter:{\n\t\t\t\t\t\tselectorExclude:null,\n\t\t\t\t\t\tplaceholder:null,\n\t\t\t\t\t\tscrollContainer:window,\n\t\t\t\t\t\tonSort:function(list, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonSupportError:function(parentEl, inputEl){\n\t\t\t\t\t\t//\n\t\t\t\t\t},\n\t\t\t\t\tbeforeRender:function(parentEl, inputEl){\n\t\t\t\t\t\tinputEl.addClass('filer');\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t\tafterRender:function(listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\tapp.modules.form.addListener();\n\t\t\t\t\t},\n\t\t\t\t\tbeforeSelect:function(files, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t\tonFilesCheck:function(files, options, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t\tonFileRead:function(item, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t//\n\t\t\t\t\t},\n\t\t\t\t\tonSelect:function(item, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t//\n\t\t\t\t\t},\n\t\t\t\t\tafterSelect:function(listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t//\n\t\t\t\t\t},\n\t\t\t\t\tonListInput:function(list, fileList, listInputEl, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\treturn list;\n\t\t\t\t\t},\n\t\t\t\t\tonRemove:function(item, listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t},\n\t\t\t\t\tonEmpty:function(listEl, parentEl, newInputEl, inputEl){\n\t\t\t\t\t\t//\n\t\t\t\t\t},\n\t\t\t\t\tcaptions:{\n\t\t\t\t\t\tbutton:function(options){\n\t\t\t\t\t\t\tif (options.limit == 1){\n\t\t\t\t\t\t\t\treturn (typeof window['translations']['browse_file'] !== 'undefined' ? window['translations']['browse_file'] : 'Browse file');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn (typeof window['translations']['browse_files'] !== 'undefined' ? window['translations']['browse_files'] : 'Browse files');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfeedback:function(options){\n\t\t\t\t\t\t\tif (options.limit == 1){\n\t\t\t\t\t\t\t\treturn (typeof window['translations']['choose_file_to_upload'] !== 'undefined' ? window['translations']['choose_file_to_upload'] : 'Choose file to upload');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn (typeof window['translations']['choose_files_to_upload'] !== 'undefined' ? window['translations']['choose_files_to_upload'] : 'Choose files to upload');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfeedback2:function(options){\n\t\t\t\t\t\t\tif (options.length > 1){\n\t\t\t\t\t\t\t\treturn options.length+' '+(typeof window['translations']['file_was_chosen'] !== 'undefined' ? window['translations']['file_was_chosen'] : 'file was chosen');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn options.length+' '+(typeof window['translations']['files_were_chosen'] !== 'undefined' ? window['translations']['files_were_chosen'] : 'files were chosen');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconfirm:(typeof window['translations']['confirm'] !== 'undefined' ? window['translations']['confirm'] : 'Confirm'),\n\t\t\t\t\t\tcancel:(typeof window['translations']['cancel'] !== 'undefined' ? window['translations']['cancel'] : 'Cancel'),\n\t\t\t\t\t\tname:(typeof window['translations']['name'] !== 'undefined' ? window['translations']['name'] : 'Name'),\n\t\t\t\t\t\ttype:(typeof window['translations']['type'] !== 'undefined' ? window['translations']['type'] : 'Type'),\n\t\t\t\t\t\tsize:(typeof window['translations']['size'] !== 'undefined' ? window['translations']['size'] : 'Size'),\n\t\t\t\t\t\tdimensions:(typeof window['translations']['dimensions'] !== 'undefined' ? window['translations']['dimensions'] : 'Dimensions'),\n\t\t\t\t\t\tduration:(typeof window['translations']['duration'] !== 'undefined' ? window['translations']['duration'] : 'Duration'),\n\t\t\t\t\t\tcrop:(typeof window['translations']['crop'] !== 'undefined' ? window['translations']['crop'] : 'Crop'),\n\t\t\t\t\t\trotate:(typeof window['translations']['rotate'] !== 'undefined' ? window['translations']['rotate'] : 'Rotate'),\n\t\t\t\t\t\tsort:(typeof window['translations']['sort'] !== 'undefined' ? window['translations']['sort'] : 'Sort'),\n\t\t\t\t\t\tdownload:(typeof window['translations']['download'] !== 'undefined' ? window['translations']['download'] : 'Download'),\n\t\t\t\t\t\tremove:(typeof window['translations']['remove'] !== 'undefined' ? window['translations']['remove'] : 'Remove'),\n\t\t\t\t\t\tdrop:(typeof window['translations']['drop_files_to_upload'] !== 'undefined' ? window['translations']['drop_files_to_upload'] : 'Drop the files here to Upload'),\n\t\t\t\t\t\tpaste:'
    '+(typeof window['translations']['pasting_a_file_click_to_cancel'] !== 'undefined' ? window['translations']['pasting_a_file_click_to_cancel'] : 'Pasting a file, click here to cancel.'),\n\t\t\t\t\t\tremoveConfirmation:(typeof window['translations']['are_you_sure_to_remove'] !== 'undefined' ? window['translations']['are_you_sure_to_remove'] : 'Are you sure you want to remove this file?'),\n\t\t\t\t\t\terrors:{\n\t\t\t\t\t\t\tfilesLimit:(typeof window['translations']['files_limit_exceed'] !== 'undefined' ? window['translations']['files_limit_exceed'] : 'Only ${limit} files are allowed to be uploaded.'),\n\t\t\t\t\t\t\tfilesType:(typeof window['translations']['invalid_file_extensions'] !== 'undefined' ? window['translations']['invalid_file_extensions'] : 'Only ${extensions} files are allowed to be uploaded.'),\n\t\t\t\t\t\t\tfileSize:(typeof window['translations']['file_size_exceed'] !== 'undefined' ? window['translations']['file_size_exceed'] : '${name} is too large! Please choose a file up to ${fileMaxSize}MB.'),\n\t\t\t\t\t\t\tfilesSizeAll:(typeof window['translations']['files_size_exceed'] !== 'undefined' ? window['translations']['files_size_exceed'] : 'Files that you chose are too large! Please upload files up to ${maxSize} MB.'),\n\t\t\t\t\t\t\tfileName:(typeof window['translations']['file_already_exists'] !== 'undefined' ? window['translations']['file_already_exists'] : 'File with the name ${name} is already selected.'),\n\t\t\t\t\t\t\tfolderUpload:(typeof window['translations']['folders_not_allowed'] !== 'undefined' ? window['translations']['folders_not_allowed'] : 'You are not allowed to upload folders.')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t };\n\t\t if (typeof fileField.attr('data-upload') !== 'undefined'){\n\t\t \tfileOptions.upload = {\n\t\t \t\turl:fileField.attr('data-uploadUrl'),\n\t\t \t\tdata:typeof fileField.attr('data-uploadData') !== 'undefined' ? fileField.attr('data-uploadData') : null,\n\t\t \t\ttype:'POST',\n\t\t \t\tenctype:'multipart/form-data',\n\t\t \t\tstart:true,\n\t\t \t\tsynchron:true,\n\t\t \t\tchunk:false,\n\t\t \t\tbeforeSend:function(item, listEl, parentEl, newInputEl, inputEl){\n\t\t \t\t\titem.upload.data.gallery_item = typeof fileField.attr('data-gallery-item') !== 'undefined' ? true : false;\n\t\t \t\t\titem.upload.data.custom_data = typeof fileField.attr('data-custom-data') !== 'undefined' ? fileField.attr('data-custom-data') : false;\n\t\t \t\t\tif (typeof inputEl.attr('data-theme') !== 'undefined' && inputEl.attr('data-theme') == 'onebutton'){\n\t\t \t\t\t\tinputEl.attr('disabled', 'disabled');\n\t\t \t\t\t\tinputEl.next().attr('data-default-text', inputEl.next().text());\n\t\t \t\t\t\tinputEl.next().removeClass('button--bordercolor-error button--color-error button--bordercolor-primary button--color-primary').addClass('button--disabled').html(''+(item.title.length <= 27 ? item.title : (item.title.slice(0, 27)+' ...'))+'');\n\t\t \t\t\t}\n\t\t \t\t\treturn true;\n\t\t \t\t},\n\t\t \t\tonSuccess:function(data, item, listEl, parentEl, newInputEl, inputEl, textStatus, jqXHR){\n\t\t \t\t\tif (typeof inputEl.attr('data-theme') !== 'undefined' && inputEl.attr('data-theme') == 'onebutton'){\n\t\t \t\t\t\tinputEl.next().addClass('button--bordercolor-primary button--color-primary').html(''+(item.title.length <= 27 ? item.title : (item.title.slice(0, 27)+' ...'))+'');\n\t\t \t\t\t}\n\t\t \t\t\titem.remove();\n\t\t \t\t\t$('.panel__body.hidden, .panel__footer.hidden').removeClass('hidden');\n\t\t \t\t\t$('#media-tiles').prepend(data.html);\n\t\t \t\t\tapp.reinit();\n\t\t \t\t\tapp.modules.lazyLoad.lazyLoadImages('#media-tiles [data-bg], #media-tiles img[data-src]');\n\t\t \t\t},\n\t\t \t\tonError:function(item, listEl, parentEl, newInputEl, inputEl, jqXHR, textStatus, errorThrown){\n\t\t \t\t\tif (typeof inputEl.attr('data-theme') !== 'undefined' && inputEl.attr('data-theme') == 'onebutton'){\n\t\t \t\t\t\tinputEl.next().addClass('button--bordercolor-error button--color-error').html(''+(item.title.length <= 27 ? item.title : (item.title.slice(0, 27)+' ...'))+'');\n\t\t \t\t\t}\n\t\t \t\t\tvar progressBar = item.html.find('.progress-bar2');\n\t\t \t\t\tif (progressBar.length > 0){\n\t\t \t\t\t\tprogressBar.find('span').html(0+'%');\n\t\t \t\t\t\tprogressBar.find('.fileuploader-progressbar .bar').width(0+'%');\n\t\t \t\t\t\titem.html.find('.progress-bar2').fadeOut(400);\n\t\t \t\t\t}\n\t\t \t\t\titem.upload.status != 'cancelled' && item.html.find('.fileuploader-action-retry').length == 0 ? item.html.find('.column-actions').prepend(\n\t\t \t\t\t\t''\n\t\t \t\t\t) : null;\n\t\t \t\t\tvar messagesHtml = '
      ';\n\t\t\t\t\t\t\t$.each(jqXHR.responseJSON, function(index, message){\n\t\t\t\t\t\t\t\tmessagesHtml += '
    • '+message+'
    • ';\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tmessagesHtml += '
    ';\n\t\t\t\t\t\t\t$.toaster({\n\t\t\t\t\t\t\t\tpriority:'error',\n\t\t\t\t\t\t\t\tmessage:messagesHtml\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tapp.reinit();\n\t\t \t\t},\n\t\t \t\tonProgress:function(data, item, listEl, parentEl, newInputEl, inputEl){\n\t\t \t\t\tvar progressBar = item.html.find('.progress-bar2');\n\t\t \t\t\tif (progressBar.length > 0){\n\t\t \t\t\t\tprogressBar.show();\n\t\t \t\t\t\tprogressBar.find('span').html(data.percentage+'%');\n\t\t \t\t\t\tprogressBar.find('.fileuploader-progressbar .bar').width(data.percentage+'%');\n\t\t \t\t\t}\n\t\t \t\t},\n\t\t \t\tonComplete:function(listEl, parentEl, newInputEl, inputEl, jqXHR, textStatus){\n\t\t \t\t\tif (typeof inputEl.attr('data-theme') !== 'undefined' && inputEl.attr('data-theme') == 'onebutton'){\n\t\t \t\t\t\tinputEl.removeAttr('disabled');\n\t\t \t\t\t\tinputEl.next().removeClass('button--disabled');\n\t\t \t\t\t\tif (typeof jqXHR.responseJSON !== 'undefined'){\n\t\t \t\t\t\t\tinputEl.closest('.fileuploader').next().val(jqXHR.responseJSON.id);\n\t\t \t\t\t\t} else {\n\t\t \t\t\t\t\tinputEl.closest('.fileuploader').next().val(jqXHR.responseText);\n\t\t \t\t\t\t}\n\t\t \t\t\t\tif (jQuery().dirtyForms){\n\t\t\t \t\t\t\t$('.form--dirty').dirtyForms('rescan');\n\t\t\t\t\t\t\t\t}\n\t\t \t\t\t}\n\t\t \t\t}\n\t\t \t};\n\t\t }\n\t\t if (typeof fileField.attr('value') !== 'undefined' && fileField.attr('value') != ''){\n\t\t \tfileOptions.files = jQuery.parseJSON(fileField.attr('value'));\n\t\t }\n\t\t fileField.fileuploader(fileOptions);\n\t\t }\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\tfileAdded:function(){\n\t\tvar that = this;\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.fileuploader = new fileuploader;\nfunction toaster(){}\ntoaster.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// init toaster\n\t\t$.toaster({\n\t\t\tsettings:{\n\t\t\t\ttimeout:8000,\n\t\t\t\ttoaster:{\n\t\t\t\t\tcss:{\n\t\t\t\t\t\twidth:'300px'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttoast:{\n\t\t\t\t\ttemplate:'

    ',\n\t\t\t\t\tdisplay:function($toast){\n\t\t\t\t\t\treturn $toast.fadeIn(0);\n\t\t\t\t\t},\n\t\t\t\t\tremove:function($toast, callback){\n\t\t\t\t\t\treturn $toast.animate({\n\t\t\t\t\t\t\topacity:0\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\tduration:0,\n\t\t\t\t\t\t\tcomplete:callback\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t}\n};\napp.modules.toaster = new toaster;\nfunction cms(){\n\tthis.emptyMessage = $('.panel__blocks_empty');\n\tthis.vars = {\n\t\tfieldSettingsQueryObj:{\n\t\t\tvalue:{\n\t\t\t\tbackground:null,\n\t\t\t\tborder:{\n\t\t\t\t\ttop:0,\n\t\t\t\t\tbottom:0\n\t\t\t\t},\n\t\t\t\thide:0\n\t\t\t},\n\t\t\tpage:null,\n\t\t\tmodule:null\n\t\t},\n\t\tcurrentSwiperIndexes:null\n\t}\n}\ncms.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// open/close block\n\t\t$('.panel__block .expand').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar expander = $(this);\t\t\t\t\n\t\t\t\tvar stickyElement = $('.dashboard__nav_container, .panel__nav_container');\n\t\t\t\tif (typeof stickyElement.data('stickySidebar') !== 'undefined'){\n\t\t\t\t\tstickyElement.data('stickySidebar').updateSticky();\n\t\t\t\t}\n\t\t\t\tvar block = expander.closest('.panel__block');\n\t\t\t\tblock.toggleClass('open');\n\t\t\t\tapp.modules.lazyLoad.lazyLoadImages('[data-bg], img[data-src]');\n\t\t\t\tsetTimeout(function(){\n\t\t\t\t\tapp.modules.hint.parseHints('[data-hint=\"hide-fields\"]');\n\t\t\t\t\tapp.modules.ace.resizeEditor();\n\t\t\t\t}, 100);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// show/hide field\n\t\t$('.form__visibility').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar visibilityButton = $(this);\n\t\t\t\tvar formFieldWrapper = visibilityButton.closest('.form__field_wrapper');\n\t\t\t\tvar fieldName = visibilityButton.attr('data-field-name');\n\t\t\t\tvar fieldNameArr = fieldName.split('[value]');\n\t\t\t\tvar shortFieldName = fieldNameArr[fieldNameArr.length-1];\n\t\t\t\tvar newFieldName = fieldNameArr.slice(0, fieldNameArr.length-1).join('[value]');\n\t\t\t\tnewFieldName = newFieldName+'[hidden][';\n\t\t\t\tnewFieldName = newFieldName+(shortFieldName.replace(/\\[/g, '').replace(/\\]/g, ''))+']';\n\t\t\t\tif (formFieldWrapper.hasClass('form__field_wrapper--hidden')){\n\t\t\t\t\tformFieldWrapper.removeClass('form__field_wrapper--hidden');\n\t\t\t\t\tvisibilityButton.find('input[name=\"'+newFieldName+'\"]').remove();\n\t\t\t\t} else {\n\t\t\t\t\tformFieldWrapper.addClass('form__field_wrapper--hidden');\n\t\t\t\t\tvisibilityButton.append('');\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// remove block\n\t\t$('.panel__block .block__heading .remove').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar block = $(this).closest('.panel__block');\n\t\t\t\tvar blockParent = block.parents('.panel__block');\n\t\t\t\tvar blockContaianer = block.parent();\n\t\t\t\tif (blockContaianer.children().length == 1){\n\t\t\t\t\tblockContaianer.removeClass('form__list_container--filled');\n\t\t\t\t\tif (typeof blockParent.html() === 'undefined'){\n\t\t\t\t\t\tblockContaianer.parent().find('.panel__blocks_empty').removeClass('hidden');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tblock.remove();\n\t\t\t}\n\t\t});\n\t},\n\topenedModuleOverlay:function(overlay, button){\n\t\tvar that = this;\n\t\tapp.modules.lazyLoad.lazyLoadImages('img[data-src]');\n\n\t\t// sticky sidebar\n\t\tsetTimeout(function(){\n\t\t\t$('._04__sidebar ul').stickySidebar({\n\t\t\t\tminWidth:1024,\n\t\t\t\ttopSpacing:30,\n\t\t\t\tbottomSpacing:30,\n\t\t\t\tcontainerSelector:'._04',\n\t\t\t\tinnerWrapperSelector:'._04__sidebar'\n\t\t\t});\n\t\t}, 310);\n\t},\n\tswitchTheme:function(button, data){\n\t\tvar that = this;\n\t\t$('#theme-body').html(data.html);\n\t\t$('._04__sidebar a').removeClass('active');\n\t\tvar stickyElement = $('._04__sidebar ul');\n\t\tif (typeof stickyElement.data('stickySidebar') !== 'undefined'){\n\t\t\tstickyElement.data('stickySidebar').updateSticky();\n\t\t}\n\t\tbutton.addClass('active');\n\t\tapp.reinit();\n\t\tapp.modules.lazyLoad.lazyLoadImages('img[data-src]');\n\t},\n\tswitchThemeModules:function(button, data){\n\t\tvar that = this;\n\t\tvar stickyElement = $('._04__sidebar ul');\n\t\tif (typeof stickyElement.data('stickySidebar') !== 'undefined'){\n\t\t\tstickyElement.data('stickySidebar').updateSticky();\n\t\t}\n\t\t$('#modules-body').html(data.html);\n\t\t$('._04__sidebar a').removeClass('active');\n\t\t$('._04__sidebar a[data-theme-id=\"'+data.theme+'\"]').addClass('active');\n\t\tapp.reinit();\n\t\tapp.modules.lazyLoad.lazyLoadImages('img[data-src]');\n\t},\n\taddModule:function(button, data){\n\t\tvar that = this;\n\t\tthat.emptyMessage.addClass('hidden');\n\t\t$('#page-content').append(data.htmlBackend);\n\t\tapp.modules.overlay.hideIfOpen();\n\t\tapp.reinit();\n\t},\n\taddModuleItem:function(button, data){\n\t\tvar that = this;\n\t\t$('.form__list_container[data-list=\"'+data.listName+'\"]').addClass('form__list_container--filled').append(data.htmlBackend);\n\t\tapp.reinit();\n\t},\n\tapplyFieldSettings:function(form, data){\n\t\tvar that = this;\n\t\tvar frame = $('#editor');\n\t\tvar frameContent = frame.contents();\n\t\tvar section = frameContent.find('section[data-module-key=\"'+data.moduleKey+'\"]');\n\t\tvar block = section.find('.block');\n\t\tapp.modules.overlay.hideIfOpen();\n\t\tif (data.field == 'block'){\t\t\t\n\t\t\t// background\n\t\t\tvar valBackground = data.data.value[data.moduleKey].value.background;\n\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][background]\"]').val(valBackground);\n\t\t\tblock.removeClass(function(index, className){\n\t\t\t\treturn (className.match(/(^|\\s)block--bg-\\S+/g) || []).join(' ');\n\t\t\t}).addClass('block--bg-'+valBackground);\n\t\t\tthat.vars.fieldSettingsQueryObj.value.background = valBackground;\n\n\t\t\t// border\n\t\t\tvar valBorder = data.data.value[data.moduleKey].value.border;\n\t\t\tblock.removeClass('block--border-top block--border-bottom');\n\t\t\tif (typeof valBorder !== 'undefined'){\n\t\t\t\tif (typeof valBorder.top !== 'undefined' && valBorder.top){\n\t\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][border][top]\"]').prop('checked', true);\n\t\t\t\t\tblock.addClass('block--border-top');\n\t\t\t\t\tthat.vars.fieldSettingsQueryObj.value.border.top = valBorder.top;\n\t\t\t\t} else {\n\t\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][border][top]\"]').prop('checked', false);\n\t\t\t\t\tthat.vars.fieldSettingsQueryObj.value.border.top = 0;\n\t\t\t\t}\n\t\t\t\tif (typeof valBorder.bottom !== 'undefined' && valBorder.bottom){\n\t\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][border][bottom]\"]').prop('checked', true);\n\t\t\t\t\tblock.addClass('block--border-bottom');\n\t\t\t\t\tthat.vars.fieldSettingsQueryObj.value.border.bottom = valBorder.bottom;\n\t\t\t\t} else {\n\t\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][border][bottom]\"]').prop('checked', false);\n\t\t\t\t\tthat.vars.fieldSettingsQueryObj.value.border.bottom = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][border][top]\"]').prop('checked', false);\n\t\t\t\tthat.vars.fieldSettingsQueryObj.value.border.top = 0;\n\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][border][bottom]\"]').prop('checked', false);\n\t\t\t\tthat.vars.fieldSettingsQueryObj.value.border.bottom = 0;\n\t\t\t}\n\n\t\t\t// hide hide\n\t\t\tvar valHide = data.data.value[data.moduleKey].value.hide;\n\t\t\tblock.removeClass('block--hide');\n\t\t\tif (typeof valHide !== 'undefined'){\n\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][hide]\"]').prop('checked', true);\n\t\t\t\tblock.addClass('block--hide');\n\t\t\t\tthat.vars.fieldSettingsQueryObj.value.hide = 1;\n\t\t\t} else {\n\t\t\t\t$('.editor', parent.document).find('[name=\"modules['+data.moduleKey+'][value][hide]\"]').prop('checked', false);\n\t\t\t\tthat.vars.fieldSettingsQueryObj.value.hide = 0;\n\t\t\t}\n\n\t\t\t// settings\n\t\t\tvar settingsData = data;\n\t\t\tdelete settingsData.data.value[data.moduleKey].value.background;\n\t\t\tdelete settingsData.data.value[data.moduleKey].value.border;\n\t\t\tdelete settingsData.data.value[data.moduleKey].value.hide;\n\t\t\tvar settingsValue = settingsData.data.value[data.moduleKey].value;\n\t\t\tvar settingsValueLength = Object.keys(settingsValue).length;\n\t\t\t$.each(settingsData.data.value[data.moduleKey].value, function(settingsKey, settingsValue){\n\t\t\t\tvar fieldName = 'modules['+data.moduleKey+'][value]['+settingsKey+']';\n\t\t\t\tif (typeof settingsValue === 'object' && settingsValue !== null && Object.keys(settingsValue)[0] == 0){\n\t\t\t\t\tvar sidebarFieldsBody = $('.editor', parent.document).find('.sidebar__fields [name^=\"'+fieldName+'\"]').closest('.form__row');\n\t\t\t\t\tvar arrCounter = 0;\n\t\t\t\t\tsidebarFieldsBody.empty();\n\t\t\t\t\t$.each(settingsValue, function(objKey, objValue){\n\t\t\t\t\t\tif (typeof objValue === 'object'){\n\t\t\t\t\t\t\t$.each(objValue, function(objKeySub, objValueSub){\n\t\t\t\t\t\t\t\tsidebarFieldsBody.append('');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tarrCounter++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsidebarFieldsBody.append('');\n\t\t\t\t\t\t\tarrCounter++;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$('.editor', parent.document).find('[name=\"'+fieldName+'\"]').val(settingsValue);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (settingsValueLength > 0){\n\t\t\t\tthat.resetModule(section, data);\n\t\t\t} else {\n\t\t\t\tthat.updateModuleSettingsLink(section);\n\t\t\t}\n\t\t}\n\t\tif (data.field == 'link'){\n\t\t\tvar linkButton = $('#'+data.id+'_button');\n\t\t\tvar linkText = $('#'+data.id+'_text');\n\t\t\tvar linkTarget = $('#'+data.id+'_target');\n\t\t\tvar linkLink = $('#'+data.id+'_link');\n\t\t\tvar linkModel = $('#'+data.id+'_model');\n\t\t\tvar linkId = $('#'+data.id+'_id');\n\t\t\tvar linkClass = $('#'+data.id+'_class');\n\t\t\tvar linkExtension = $('#'+data.id+'_extension');\n\t\t\tvar editorField = frameContent.find('.edit_field--link[data-field=\"'+(data.name)+'\"]');\n\t\t\tlinkButton.attr('href', data.url+'?'+app.getQueryString(data.data));\n\t\t\tlinkButton.html(data.button)\n\t\t\tlinkText.val(data.data.text);\n\t\t\tlinkTarget.val(data.data.target);\n\t\t\tlinkLink.val(data.data.link);\n\t\t\tlinkModel.val(data.data.model);\n\t\t\tlinkId.val(data.data.id);\n\t\t\tlinkClass.val(data.data.class);\n\t\t\tlinkExtension.val(data.data.extension);\n\t\t\teditorField.find('a').attr('class', ((typeof editorField.find('a').attr('data-class') !== 'undefined' ? editorField.find('a').attr('data-class')+(data.data.class != '' ? ' ' : '') : '')+data.data.class));\n\t\t\tif (typeof editorField.find('a').attr('data-text') === 'undefined'){\n\t\t\t\tif (typeof editorField.find('a [data-text]').html() !== 'undefined'){\n\t\t\t\t\teditorField.find('a [data-text]').text(data.data.text);\n\t\t\t\t} else {\n\t\t\t\t\teditorField.find('a').text(data.data.text);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (data.field == 'media' || data.field == 'gallery'){\n\t\t\tif (data.id == 'logo'){\n\t\t\t\tif (data.data.media){\n\t\t\t\t\tvar logoUrl = data.data.media.url_original;\n\t\t\t\t\tvar logoOrigin = frameContent.find('[data-logo-origin]');\n\t\t\t\t\tvar logoFooter = frameContent.find('[data-logo-footer]');\n\t\t\t\t\tif (typeof logoOrigin.find('img').html() !== 'undefined'){\n\t\t\t\t\t\tlogoOrigin.find('img').attr('src', logoUrl);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogoOrigin.html('');\n\t\t\t\t\t}\n\t\t\t\t\tif (data.data.updateFooter){\n\t\t\t\t\t\tif (typeof logoFooter.find('img').html() !== 'undefined'){\n\t\t\t\t\t\t\tlogoFooter.find('img').attr('src', logoUrl);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlogoFooter.html('');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (data.id == 'logo_footer'){\n\t\t\t\tif (data.data.media){\n\t\t\t\t\tvar logoUrl = data.data.media.url_original;\n\t\t\t\t\tvar logoOrigin = frameContent.find('[data-logo-origin]');\n\t\t\t\t\tvar logoFooter = frameContent.find('[data-logo-footer]');\n\t\t\t\t\tif (typeof logoFooter.find('img').html() !== 'undefined'){\n\t\t\t\t\t\tlogoFooter.find('img').attr('src', logoUrl);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlogoFooter.html('');\n\t\t\t\t\t}\n\t\t\t\t\tif (data.data.updateOrigin){\n\t\t\t\t\t\tif (typeof logoOrigin.find('img').html() !== 'undefined'){\n\t\t\t\t\t\t\tlogoOrigin.find('img').attr('src', logoUrl);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlogoOrigin.html('');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar inputField = $('#'+data.id);\n\t\t\t\tvar inputFieldForm = inputField.closest('form');\n\t\t\t\tvar fieldHtml = inputField.prev();\n\t\t\t\tif (data.data.media === null){\n\t\t\t\t\tvar newImageVal = '';\n\t\t\t\t} else {\n\t\t\t\t\tvar mediaReturnType = $.type(data.data.media);\n\t\t\t\t\tif (mediaReturnType == 'array'){\n\t\t\t\t\t\tvar mediaId = '';\n\t\t\t\t\t\t$.each(data.data.media, function(key, value){\n\t\t\t\t\t\t\tif (key > 0){\n\t\t\t\t\t\t\t\tmediaId = mediaId+',';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmediaId = mediaId+value.id;\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar mediaId = data.data.media.id;\n\t\t\t\t\t}\n\t\t\t\t\tvar newImageVal = data.field+'_'+mediaId;\n\t\t\t\t}\n\t\t\t\tvar editorField = frameContent.find('.edit_field--image[data-field=\"'+(data.name)+'\"]');\n\t\t\t\tvar imageObj = editorField.find('img');\n\t\t\t\tvar bgObj = editorField.find('[data-bg]');\n\t\t\t\tvar videoObj = editorField.find('video');\n\t\t\t\tinputField.val(newImageVal);\n\t\t\t\t$('.editor', parent.document).find('[name=\"'+(data.name)+'\"]').val(newImageVal);\n\t\t\t\tfieldHtml.remove();\n\t\t\t\t$(data.data.mediaHtml).insertBefore(inputField);\n\t\t\t\tif (imageObj.length > 0){\n\t\t\t\t\tvar mediaSrcArr = imageObj.attr('src').split('/');\n\t\t\t\t\tvar imageSize = mediaSrcArr[mediaSrcArr.length- 2];\n\t\t\t\t\tvar newImageUrl = data.data.media.url_size_placeholder.replace('{size}', imageSize);\n\t\t\t\t\tif (data.data.mediaType == 'image'){\n\t\t\t\t\t\timageObj.attr('src', newImageUrl).removeAttr('data-src');\n\t\t\t\t\t} else {\n\t\t\t\t\t\timageObj.after('');\n\t\t\t\t\t\timageObj.remove();\n\t\t\t\t\t}\n\t\t\t\t\teditorField.attr('href', data.data.actionUrl);\n\t\t\t\t} else if (bgObj.length > 0){\n\t\t\t\t\tvar mediaBgArr = bgObj.css('background-image').replace('url(','').replace(')','').replace(/\\\"/gi, \"\").split('/');\n\t\t\t\t\tvar imageSize = mediaBgArr[mediaBgArr.length- 2];\n\t\t\t\t\tvar newImageUrl = data.data.media.url_size_placeholder.replace('{size}', imageSize);\n\t\t\t\t\tbgObj.css('background-image', 'url('+newImageUrl+')').attr('data-bg', newImageUrl);\n\t\t\t\t\teditorField.attr('href', data.data.actionUrl);\n\t\t\t\t} else if (videoObj.length > 0){\n\t\t\t\t\tif (data.data.mediaType == 'image'){\n\t\t\t\t\t\tvideoObj.after('\"\"');\n\t\t\t\t\t\tvideoObj.remove();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvideoObj.find('source').attr('src', data.data.media.url);\n\t\t\t\t\t}\n\t\t\t\t\teditorField.attr('href', data.data.actionUrl);\n\t\t\t\t}\n\t\t\t\tif (inputFieldForm.hasClass('form--dirty') && jQuery().dirtyForms){\n\t\t\t\t\tinputFieldForm.dirtyForms('rescan');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (data.field == 'select'){\n\t\t\tvar selectField = $('select[name=\"'+data.name+'\"]');\n\t\t\tselectField.val(data.data.select);\n\t\t}\n\n\t\t// reload / reset\n\t\tif (data.forceReload && data.field != 'block'){\n\t\t\tthat.resetModule(section, data);\n\t\t} else {\n\t\t\tapp.reinit();\n\t\t\tif (frame.length){\n\t\t\t\tframe[0].contentWindow.app.reinit();\n\t\t\t}\n\t\t}\n\t},\n\tresetModule:function(section, data){\n\t\tvar that = this;\n\t\tvar frame = $('#editor');\n\t\tvar newSection = null;\n\t\tvar settingsButton = section.find('.edit_block__button--settings');\n\t\tthat.vars.fieldSettingsQueryObj.page = settingsButton.attr('data-page');\n\t\tthat.vars.fieldSettingsQueryObj.module = settingsButton.attr('data-module');\t\t\n\t\tthat.vars.currentSwiperIndexes = [];\n\t\tsection.find('.swiper-container-initialized').each(function(){\n\t\t\tvar swiperObj = $(this);\n\t\t\tvar swiperInstance = swiperObj[0].swiper;\n\t\t\tthat.vars.currentSwiperIndexes.push(swiperInstance.activeIndex);\n\t\t});\n\t\tif (frame.length > 0){\n\t\t\t$.ajax({\n\t\t\t\ttype:'POST',\n\t\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/dashboard/cms/pages/field-settings/'+data.field+'/'+data.moduleKey+'/'+data.moduleKey+'/reload?page='+that.vars.fieldSettingsQueryObj.page+'&moduleName='+that.vars.fieldSettingsQueryObj.module,\n\t\t\t\tdata:$('.editor', parent.document).find('form[id=\"page\"]').serialize(),\n\t\t\t\tsuccess:function(data){\n\t\t\t\t\tnewSection = $(data.html);\n\t\t\t\t\tsection.html(newSection.html());\n\t\t\t\t\tsection.parents('.site').removeClass(function(index, className){\n\t\t\t\t\t\treturn (className.match(/(^|\\s)site--settings-\\S+/g) || []).join(' ');\n\t\t\t\t\t}).addClass(data.siteClasses);\n\t\t\t\t\tthat.updateModuleSettingsLink(section);\n\t\t\t\t\tapp.reinit();\n\t\t\t\t\tif (frame.length){\n\t\t\t\t\t\tframe[0].contentWindow.app.reinit();\n\t\t\t\t\t}\n\t\t\t\t\tsection.find('.swiper-container-initialized').each(function(index){\n\t\t\t\t\t\tvar swiperObj = $(this);\n\t\t\t\t\t\tvar swiperInstance = swiperObj[0].swiper;\n\t\t\t\t\t\tswiperInstance.slideTo(that.vars.currentSwiperIndexes[index], 0);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tapp.reinit();\n\t\t\tif (frame.length){\n\t\t\t\tframe[0].contentWindow.app.reinit();\n\t\t\t}\n\t\t}\n\t\tif (!newSection){\n\t\t\tsection.find('.swiper-container-initialized').each(function(index){\n\t\t\t\tvar swiperObj = $(this);\n\t\t\t\tvar swiperInstance = swiperObj[0].swiper;\n\t\t\t\tswiperInstance.slideTo(that.vars.currentSwiperIndexes[index], 0);\n\t\t\t});\n\t\t}\n\t},\n\tupdateModuleSettingsLink:function(section){\n\t\tvar that = this;\n\t\tvar settingsButton = section.find('.edit_block__button--settings');\n\t\tthat.vars.fieldSettingsQueryObj.page = settingsButton.attr('data-page');\n\t\tthat.vars.fieldSettingsQueryObj.module = settingsButton.attr('data-module');\n\t\tvar settingsHrefArr = settingsButton.attr('href').split('?');\n\t\tvar queryStr = $.param(that.vars.fieldSettingsQueryObj);\n\t\tsettingsButton.attr('href', settingsHrefArr[0]+'?'+queryStr).attr('data-page', that.vars.fieldSettingsQueryObj.page).attr('data-module', that.vars.fieldSettingsQueryObj.module);\n\t},\n\tenableAddModuleButton:function(button, data){\n\t\tvar that = this;\n\t\tvar item = button.closest('._05__item');\n\t\tvar itemContainer = item.parent();\n\t\tvar appsContainer = item.closest('.module__apps');\n\t\titem.remove();\n\t\tvar itemLeftLength = itemContainer.children().length;\n\t\tif (itemLeftLength == 0){\n\t\t\tappsContainer.next().find('.button').removeClass('button--disabled');\n\t\t\tappsContainer.remove();\n\t\t}\n\t\treturn false;\n\t},\n\tupdateSticky:function(){\n\t\tvar that = this;\n\t\tvar stickyElement = $('._04__sidebar ul');\n\t\tif (typeof stickyElement.data('stickySidebar') !== 'undefined'){\n\t\t\tstickyElement.data('stickySidebar').updateSticky();\n\t\t}\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t}\n};\napp.modules.cms = new cms;\nfunction froala(){}\nfroala.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t\tvar lang = $('html').attr('lang');\n\n\t\t$('textarea[data-rte]').each(function(){\n\t\t\tvar textarea = $(this);\n\t\t\tvar editorObjLength = textarea.prev('.fr-box').length;\n\t\t\tif (editorObjLength == 0 && !textarea.hasClass('fr-ready') && typeof textarea.parents('.sidebar__fields').html() === 'undefined'){\n\t\t\t\ttextarea.addClass('fr-ready');\n\t\t\t\tvar customOptions = $.parseJSON(textarea.attr('data-rte-options'));\n\t\t\t\tvar editorOptions = {\n\t\t\t\t\tkey:window.location.hostname == 'webomat-new.devlocal' ? 'XAG4eA2A3C8B7D7B5C-11vgakhgsC6goA-8F4ikyB-13D-13qrxiB3B9A6C7C2C4G5H3G3I3==' : 'GPD2tA5A7A1D4B1A1squJ-7zzC2arzvwzhB5D-16kC-11A2B2C2H2C9B3C1C6A1E1==',\n\t\t\t\t\tlanguage:lang,\n\t\t\t\t\tattribution:false,\n\t\t\t\t\thtmlAllowComments:false,\n\t\t\t\t\thtmlExecuteScripts:false,\n\t\t\t\t\ttooltips:false,\n\t\t\t\t\tshortcutsHint:false,\n\t\t\t\t\tplaceholderText:typeof textarea.attr('data-placeholder') !== 'undefined' ? textarea.attr('data-placeholder') : '',\n\t\t\t\t\tlinkEditButtons:['linkEdit', 'linkStyle', 'linkRemove', 'linkOpen'],\n\t\t\t\t\tlinkInsertButtons:['linkBack'],\n\t\t\t\t\tlinkAlwaysNoFollow:false,\n\t\t\t\t\tcharCounterCount:true\n\t\t\t\t};\n\t\t\t\teditorOptions = $.extend({}, editorOptions, customOptions);\n\t\t\t\tvar editor = new FroalaEditor(textarea[0], editorOptions);\n\t\t\t}\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.froala = new froala;\nfunction blockPackages(){\n\tthis.site = $('.site');\n}\nblockPackages.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t$('.block--packages .packages__container').each(function(index){\n\t\t\tvar swiperObj = $(this);\n\t\t\tvar swiperInstance = new Swiper(swiperObj[0], {\n\t\t\t\twrapperClass:'packages__wrapper',\n\t\t\t\tslideClass:'packages__slide',\n\t\t\t\tspaceBetween:20,\n\t\t\t\tslideActiveClass:'packages__slide--active',\n\t\t\t\tslideNextClass:'packages__slide--next',\n\t\t\t\tslidesPerView:2,\n\t\t\t\tpagination:{\n\t\t\t\t\tel:'.packages__pagination',\n\t\t\t\t\ttype:'bullets',\n\t\t\t\t\tbulletClass:'bullet',\n\t\t\t\t\tbulletActiveClass:'bullet--active',\n\t\t\t\t\tmodifierClass:'packages__pagination--',\n\t\t\t\t\tclickableClass:'packages__pagination--clickable',\n\t\t\t\t\tclickable:true\n\t\t\t\t},\n\t\t\t\tallowTouchMove:that.site.hasClass('site--mode-editor') ? false : true,\n\t\t\t\tbreakpoints:{\n\t\t\t\t\t767:{\n\t\t\t\t\t\tslidesPerView:1,\n\t\t\t\t\t\tspaceBetween:20,\n\t\t\t\t\t\tallowTouchMove:that.site.hasClass('site--mode-editor') ? false : true\n\t\t\t\t\t},\n\t\t\t\t\t1023:{\n\t\t\t\t\t\tslidesPerView:2,\n\t\t\t\t\t\tspaceBetween:20,\n\t\t\t\t\t\tallowTouchMove:that.site.hasClass('site--mode-editor') ? false : true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t}\n};\napp.modules.blockPackages = new blockPackages;\nfunction table(){}\ntable.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t\tthat.initMobile();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t$('input[type=\"checkbox\"][name=\"check__all\"]').each(function(){\n\t\t\tvar checkAll = $(this);\n\t\t\tvar tableCheckboxes = $('input[name=\"'+checkAll.attr('value')+'[]\"]');\n\t\t\tcheckAll.on({\n\t\t\t\tchange:function(e){\n\t\t\t\t\tvar countTableCheckboxes = tableCheckboxes.length;\n\t\t\t\t\tvar countCheckedTableCheckboxes = $('input[name=\"'+checkAll.attr('value')+'[]\"]:checked').length;\n\t\t\t\t\tif (countTableCheckboxes > countCheckedTableCheckboxes){\n\t\t\t\t\t\ttableCheckboxes.prop('checked', true);\n\t\t\t\t\t\tthat.showActions(checkAll, tableCheckboxes);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttableCheckboxes.prop('checked', false);\n\t\t\t\t\t\tthat.hideActions(checkAll, tableCheckboxes);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableCheckboxes.on({\n\t\t\t\tchange:function(e){\n\t\t\t\t\tvar countTableCheckboxes = tableCheckboxes.length;\n\t\t\t\t\tvar countCheckedTableCheckboxes = $('input[name=\"'+checkAll.attr('value')+'[]\"]:checked').length;\n\t\t\t\t\tif (countCheckedTableCheckboxes > 0){\n\t\t\t\t\t\tthat.showActions(checkAll, tableCheckboxes);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthat.hideActions(checkAll, tableCheckboxes);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\tinitMobile:function(){\n\t\tvar that = this;\n\t\tif (app.vars.screenTablet !== true){\n\t\t\t$('.table, table').each(function(index){\n\t\t\t\tvar table = $(this);\n\t\t\t\tvar theadCell = [];\n\t\t\t\ttable.find('.thead .th, thead th').each(function(){\n\t\t\t\t\ttheadCell.push($(this).text());\n\t\t\t\t});\n\t\t\t\ttable.find('.tbody .tr, tbody tr').each(function(){\n\t\t\t\t\tvar tableRow = $(this);\n\t\t\t\t\ttableRow.find('.td, td').each(function(indexCell){\n\t\t\t\t\t\tvar tableCell = $(this);\n\t\t\t\t\t\tif (indexCell in theadCell){\n\t\t\t\t\t\t\ttableCell.prepend(''+theadCell[indexCell]+': ');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\ttable.find('.thead, thead').remove();\n\t\t\t});\n\t\t}\n\t},\n\tshowActions:function(checkAll, tableCheckboxes){\n\t\tvar that = this;\n\t\tcheckAll.prop('checked', true);\n\t\tvar tableCell = checkAll.parents('.th');\n\t\tif (typeof tableCell.attr('data-class') === 'undefined'){\n\t\t\ttableCell.attr('data-class', tableCell.attr('class'));\n\t\t}\n\t\ttableCell.attr('class', 'th col-xs-12');\n\t\ttableCell.nextAll().addClass('hidden');\n\t\ttableCell.find('.table__actions_col').addClass('table__actions_col--show');\n\t\tthat.updateActionsLink(tableCell, checkAll);\n\t},\n\thideActions:function(checkAll, tableCheckboxes){\n\t\tvar that = this;\n\t\tcheckAll.prop('checked', false);\n\t\tvar tableCell = checkAll.parents('.th');\n\t\ttableCell.attr('class', tableCell.attr('data-class'));\n\t\ttableCell.removeAttr('data-class');\n\t\ttableCell.nextAll().removeClass('hidden');\n\t\ttableCell.find('.table__actions_col').removeClass('table__actions_col--show');\n\t\tthat.updateActionsLink(tableCell, checkAll);\n\t},\n\tupdateActionsLink:function(tableCell, checkAll){\n\t\tvar that = this;\n\t\tvar checkedIds = $('input[name=\"'+checkAll.attr('value')+'[]\"]:checked').map(function(){\n\t\t\treturn $(this).val();\n\t\t}).get();\n\t\ttableCell.find('a').each(function(){\n\t\t\tvar action = $(this);\n\t\t\tvar actionLink = action.attr('href');\n\t\t\tvar actionLinkArr = actionLink.split('?');\n\t\t\tvar actionLinkQueryObj = typeof actionLinkArr[1] !== 'undefined' ? $.getQueryParameters(actionLinkArr[1]) : {};\n\t\t\tdelete actionLinkQueryObj['ids'];\n\t\t\tactionLinkQueryObj['ids'] = checkedIds.join(',');\n\t\t\tvar actionNewQuery = app.getQueryString(actionLinkQueryObj, false);\n\t\t\taction.attr('href', actionLinkArr[0]+'?'+actionNewQuery);\n\t\t});\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t}\n};\napp.modules.table = new table;\nfunction sortable(){\n\tthis.vars = {\n\t\tsortInputValue:null\n\t}\n}\nsortable.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// init sortable\n\t\t$('[data-sortable]').each(function(){\n\t\t\tvar sortable = $(this);\n\t\t\tsortable.sortable({\n\t\t\t\t//sort:true,\n\t\t\t\tdelay:0,\n\t\t\t\tdelayOnTouchOnly:false,\n\t\t\t\ttouchStartThreshold:0,\n\t\t\t\tdisabled:false,\n\t\t\t\tanimation:300,\n\t\t\t\thandle:typeof sortable.attr('data-sortable-disable-handle') !== 'undefined' ? false : '.handle',\n\t\t\t\tgroup:typeof sortable.attr('data-group') !== 'undefined' ? $.parseJSON(sortable.attr('data-group')) : null,\n\t\t\t\tpreventOnFilter:true,\n\t\t\t\tswapThreshold:1,\n\t\t\t\tinvertSwap:true,\n\t\t\t\tinvertedSwapThreshold:1,\n\t\t\t\tdirection:'horizontal',\n\t\t\t\tforceFallback:true,\n\t\t\t\tfallbackOnBody:false,\n\t\t\t\tfallbackTolerance:0,\n\t\t\t\tdragoverBubble:false,\n\t\t\t\tremoveCloneOnHide:true,\n\t\t\t\temptyInsertThreshold:5,\n\t\t\t\tghostClass:'sortable-ghost',\n\t\t\t\tonEnd:function(event){\n\t\t\t\t\tif (typeof sortable.attr('data-on-end') !== 'undefined'){\n\t\t\t\t\t\tvar onEndArr = sortable.attr('data-on-end').split('.');\n\t\t\t\t\t\tapp.modules[onEndArr[0]][onEndArr[1]](sortable, event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// sort by input\n\t\t$('[data-sortable] input[name=\"sort\"]').unbind().on({\n\t\t\tfocus:function(){\n\t\t\t\tvar sortValueField = $(this);\n\t\t\t\tthat.vars.sortInputValue = sortValueField.val();\n\t\t\t},\n\t\t\tblur:function(){\n\t\t\t\tvar sortValueField = $(this);\n\t\t\t\tif (sortValueField.val() != that.vars.sortInputValue){\n\t\t\t\t\tvar sortableObj = sortValueField.closest('[data-sortable]');\n\t\t\t\t\tvar sortable = sortableObj.data('sortable');\n\t\t\t\t\tvar sortableDragSelector = sortable.options.draggable;\n\t\t\t\t\tvar dragItem = sortValueField.closest(sortableObj.find(sortableDragSelector));\n\t\t\t\t\tvar ids = [];\n\t\t\t\t\tsortableObj.children().each(function(index){\n\t\t\t\t\t\tvar sortableChild = $(this);\n\t\t\t\t\t\tids.push(sortableChild.attr('data-id'));\n\t\t\t\t\t});\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\turl:sortableObj.attr('data-sortable-sort-url'),\n\t\t\t\t\t\tdata:'id='+dragItem.attr('data-id')+'&function=custom&new_sort_id='+sortValueField.val()+'&ids='+JSON.stringify(ids),\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\t$.each(data.items, function(index, value){\n\t\t\t\t\t\t\t\tsortableObj.find('[data-id=\"'+index+'\"]').attr('data-sort', value).find('.table__sort input').val(value);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t[].map.call(sortableObj[0].children, Object).sort(function(a, b){\n\t\t\t\t\t\t\t\treturn +a.getAttribute('data-sort').match(/\\d+/) - +b.getAttribute('data-sort').match(/\\d+/);\n\t\t\t\t\t\t\t}).forEach(function(elem){\n\t\t\t\t\t\t\t\tsortableObj[0].appendChild(elem);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthat.vars.sortInputValue = sortValueField.val();\n\t\t\t}\n\t\t});\n\t},\n\tsort:function(sortable, event){\n\t\tvar that = this;\n\t\tif (event.oldIndex != event.newIndex){\n\t\t\tvar beforeOrAfter = null;\n\t\t\tvar beforeOrAfterId = null;\n\t\t\tvar prevItem = $(event.item).prev();\n\t\t\tvar nextItem = $(event.item).next();\n\t\t\tif (nextItem.length > 0){\n\t\t\t\tbeforeOrAfter = 'before';\n\t\t\t\tbeforeOrAfterId = nextItem.attr('data-id');\n\t\t\t} else {\n\t\t\t\tbeforeOrAfter = 'after';\n\t\t\t\tbeforeOrAfterId = prevItem.attr('data-id');\n\t\t\t}\n\t\t\tvar ids = [];\n\t\t\tsortable.children().each(function(index){\n\t\t\t\tvar sortableChild = $(this);\n\t\t\t\tids.push(sortableChild.attr('data-id'));\n\t\t\t});\n\t\t\t$.ajax({\n\t\t\t\ttype:'POST',\n\t\t\t\turl:sortable.attr('data-sortable-sort-url'),\n\t\t\t\tdata:'id='+$(event.item).attr('data-id')+'&function='+beforeOrAfter+'&position_entity_id='+beforeOrAfterId+'&ids='+JSON.stringify(ids),\n\t\t\t\tsuccess:function(data){\n\t\t\t\t\t$.each(data.items, function(index, value){\n\t\t\t\t\t\tsortable.find('[data-id=\"'+index+'\"] .table__sort input').val(value);\n\t\t\t\t\t});\n\t\t\t\t\tthat.addListener();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.sortable = new sortable;\nfunction paging(){\n\tthis.vars = {\n\t\titemsPerPage:10\n\t}\n}\npaging.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tvar pagination = $('.paging');\n\t\tthat.addListener();\n\t\tthat.build(pagination, pagination.attr('data-total'), pagination.attr('data-pageLimit'));\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\tbuild:function(pagingContainer, itemsCount, pageLimit){\n\t\tvar that = this;\n\t\tvar itemsCount = parseInt(itemsCount),\n\t\t\tpageLimit = parseInt(pageLimit),\n\t\t\tpagingUrl = typeof pagingContainer.attr('data-url') !== 'undefined' ? pagingContainer.attr('data-url') : window.location.pathname,\n\t\t\tpagingHtml = '
      ',\n\t\t\tqueryParams = $.getQueryParameters(typeof pagingContainer.attr('data-url') !== 'undefined' ? pagingContainer.attr('data-url') : null),\n\t\t\tpagingPages = Math.ceil(itemsCount/pageLimit);\n\n\t\tpagingContainer.pagination({\n\t\t\titems:itemsCount,\n\t\t\titemsOnPage:pagingContainer.attr('data-pagelimit'),\n\t\t\tcurrentPage:typeof queryParams.page == 'undefined' ? 1 : queryParams.page,\n\t\t\threfTextPrefix:pagingUrl+(pagingUrl.indexOf('?') >= 0 ? '&' : '?')+app.getQueryString({page:''}),\n\t\t\tselectOnClick:false,\n\t\t\tprevText:typeof window['transGlobal'] !== 'undefined' && typeof window['transGlobal']['prev'] !== 'undefined' ? window['transGlobal']['prev'] : 'prev',\n\t\t\tnextText:typeof window['transGlobal'] !== 'undefined' && typeof window['transGlobal']['next'] !== 'undefined' ? window['transGlobal']['next'] : 'next',\n\t\t\tellipsePageSet:false,\n\t\t\tedges:2,\n\t\t\tdisplayedPages:app.vars.screenTablet ? 5 : 3,\n\t\t\tonPageClick:function(pageNumber, event){\n\t\t\t\tif (typeof pagingContainer.attr('data-ajax') !== 'undefined'){\n\t\t\t\t\tvar newUrl = decodeURIComponent(event.currentTarget.href);\n\t\t\t\t\tvar container = $(pagingContainer.attr('data-content-selector'));\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'GET',\n\t\t\t\t\t\turl:newUrl,\n\t\t\t\t\t\tdata:'',\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\tvar dataObj = $('
      '+data+'
      ');\n\t\t\t\t\t\t\tvar dataObjContainer = dataObj.find(pagingContainer.attr('data-content-selector'));\n\t\t\t\t\t\t\tcontainer.html(dataObjContainer.html());\n\t\t\t\t\t\t\tapp.reinit();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.paging = new paging;\nfunction editor(){\n\tthis.editorObj = $('.editor');\n\tthis.frame = $('#editor');\n\tthis.frameContent = $('#frame-content-placeholder');\n\tthis.selectPage = $('.topbar__select_page');\n\tthis.screenSizeMenu = $('.topbar__screensize');\n\tthis.addBlockButton = $('.add_block__button');\n\tthis.addBlockItemButton = $('.add_block_item__button');\n\tthis.removeBlockKey = null;\n\tthis.settingsBlockKey = null;\n\tthis.removeBlockItemKey = null;\n}\neditor.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\n\t\t// check if live editor is available\n\t\tthat.checkAvailable();\n\t\t$(window).on('load resize', function(e){\n\t\t\tthat.checkAvailable();\n\t\t});\n\n\t\t// load editor\n\t\tif (typeof that.frame.html() !== 'undefined'){\n\t\t\tvar frameLoader = setInterval(function(){\n\t\t\t\tif (window.editorLoaded){\n\t\t\t\t\tthat.frameContent = that.frame.contents();\n\t\t\t\t\tthat.addListener();\n\t\t\t\t\tthat.initInlineEditor();\n\t\t\t\t\tthat.loaded();\n\t\t\t\t\tclearInterval(frameLoader);\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t}\n\n\t\t// init editable fields\n\t\tthat.initInlineEditor();\n\n\t\t// init sidebar block toggle\n\t\t$('.sidebar__block--toggle').each(function(){\n\t\t\tvar sidebarBlock = $(this);\n\t\t\tsidebarBlock.find('.sidebar__block_header .icon').remove();\n\t\t\tsidebarBlock.find('.sidebar__block_header').append('');\n\t\t});\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// toggle sidebar blocks\n\t\t$('.sidebar__block--toggle .sidebar__block_header').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar blockHeader = $(this);\n\t\t\t\tvar block = blockHeader.closest('.sidebar__block');\n\t\t\t\tblock.toggleClass('sidebar__block--toggle-open');\n\t\t\t}\n\t\t});\n\n\t\t// switch sidebar pages\n\t\t$('a[data-page][data-move-module]').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar button = $(this);\n\t\t\t\tvar currentPage = button.closest('.sidebar__page');\n\t\t\t\tvar newPage = $('.sidebar__page[data-page=\"'+button.attr('data-page')+'\"]');\n\t\t\t\tif (typeof button.attr('data-module-key') !== 'undefined'){\n\t\t\t\t\tvar section = that.frameContent.find('section[data-module-key=\"'+(button.attr('data-module-key'))+'\"]');\n\t\t\t\t\tthat.frameContent.find('html, body').animate({\n\t\t\t\t\t\tscrollTop:section.offset().top\n\t\t\t\t\t}, 800, 'easeOutCubic');\n\t\t\t\t} else {\n\t\t\t\t\tcurrentPage.removeClass('sidebar__page--open');\n\t\t\t\t\tnewPage.addClass('sidebar__page--open');\n\t\t\t\t\tapp.modules.tooltip.init();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// toggle sidebar\n\t\t$('.topbar__col--burger i').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar burgerIcon = $(this);\n\t\t\t\tvar burger = burgerIcon.closest('.burger');\n\t\t\t\tvar sidebar = $('.editor__sidebar');\n\t\t\t\tburger.toggleClass('selected');\n\t\t\t\tsidebar.toggleClass('editor__sidebar--show');\n\t\t\t}\n\t\t});\n\n\t\t// switch screen size\n\t\tthat.screenSizeMenu.find('a').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar screenOption = $(this);\n\t\t\t\tvar screen = screenOption.attr('data-size');\n\t\t\t\tthat.frame.removeClass('frame--mobile frame--tablet frame--desktop').addClass('frame--'+screen);\n\t\t\t\t//that.frame.attr('src', that.frame.attr('src'));\n\t\t\t\tthat.screenSizeMenu.find('a').removeClass('selected');\n\t\t\t\tscreenOption.addClass('selected');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// add block\n\t\tthat.frameContent.find('.add_block__button').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar addBlockButton = $(this);\n\t\t\t\tapp.modules.overlay.prepare(addBlockButton);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// add block item\n\t\tthat.frameContent.find('.edit_block_item__button--add').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar addBlockItemButton = $(this);\n\t\t\t\tapp.modules.form.submitAjaxButton(addBlockItemButton);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// sort block\n\t\tthat.frameContent.find('.edit_block__button--forward, .edit_block__button--back').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar editBlockButton = $(this);\n\t\t\t\tvar editBlockKey = editBlockButton.attr('data-module-key');\n\n\t\t\t\t// sort block\n\t\t\t\tvar block = editBlockButton.closest('section');\n\t\t\t\tvar index = block.index();\n\t\t\t\tif (editBlockButton.hasClass('edit_block__button--back')){\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\tblock.prev().insertAfter(block);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (index+1 < block.parent().children().length){\n\t\t\t\t\t\tblock.next().insertBefore(block);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// sort editor block\n\t\t\t\tvar editorBlock = $('.sidebar__fields .fields__block[data-module-key=\"'+editBlockKey+'\"]');\n\t\t\t\tvar index = editorBlock.index();\n\t\t\t\tif (editBlockButton.hasClass('edit_block__button--back')){\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\teditorBlock.prev().insertAfter(editorBlock);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (index+1 < editorBlock.parent().children().length){\n\t\t\t\t\t\teditorBlock.next().insertBefore(editorBlock);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// update site\n\t\t\t\tthat.updateSite(block.parents('.site'));\n\n\t\t\t\t// reinit\n\t\t\t\tapp.reinit();\n\t\t\t\tif (that.frame.length){\n\t\t\t\t\tthat.frame[0].contentWindow.app.reinit();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// sort block item\n\t\tthat.frameContent.find('.edit_block_item__button--forward, .edit_block_item__button--back').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar editBlockItemButton = $(this);\n\t\t\t\tvar itemFieldName = editBlockItemButton.attr('data-item-field-name');\n\n\t\t\t\t// sort item\n\t\t\t\tvar item = editBlockItemButton.closest('[data-module-item]');\n\t\t\t\tvar index = item.index();\n\t\t\t\tif (editBlockItemButton.hasClass('edit_block_item__button--back')){\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\titem.prev().insertAfter(item);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (index+1 < item.parent().children().length){\n\t\t\t\t\t\titem.next().insertBefore(item);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// sort editor item\n\t\t\t\tvar editorItem = $('.sidebar__fields .form__list_container input[name=\"'+itemFieldName+'\"]').parent();\n\t\t\t\tvar index = editorItem.index();\n\t\t\t\tif (editBlockItemButton.hasClass('edit_block_item__button--back')){\n\t\t\t\t\tif (index > 0){\n\t\t\t\t\t\teditorItem.prev().insertAfter(editorItem);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (index+1 < editorItem.parent().children().length){\n\t\t\t\t\t\teditorItem.next().insertBefore(editorItem);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// reinit\n\t\t\t\tapp.reinit();\n\t\t\t\tif (that.frame.length){\n\t\t\t\t\tthat.frame[0].contentWindow.app.reinit();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// remove block\n\t\tthat.frameContent.find('.edit_block__button--delete').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar removeBlockButton = $(this);\n\t\t\t\tthat.removeBlockKey = removeBlockButton.attr('data-module-key');\n\t\t\t\tapp.modules.overlay.prepare(removeBlockButton);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// remove block item\n\t\tthat.frameContent.find('.edit_block_item__button--delete').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar removeBlockItemButton = $(this);\n\t\t\t\tthat.removeBlockItemKey = removeBlockItemButton.attr('data-item-field-name');\n\t\t\t\tapp.modules.overlay.prepare(removeBlockItemButton);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// block settings\n\t\tthat.frameContent.find('.edit_block__button--settings').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar settingsBlockButton = $(this);\n\t\t\t\tthat.settingsBlockKey = settingsBlockButton.attr('data-module-key');\n\t\t\t\tapp.modules.overlay.prepare(settingsBlockButton);\n\t\t\t\tsettingsBlockButton.blur();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// block change mode\n\t\tthat.frameContent.find('.edit_block__button--mode').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar changeModeBlockButton = $(this);\n\t\t\t\tapp.modules.overlay.prepare(changeModeBlockButton);\n\t\t\t\tchangeModeBlockButton.blur();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// edit logo\n\t\tthat.frameContent.find('.edit_field--logo').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tapp.modules.overlay.prepare($(this));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// edit images\n\t\tthat.frameContent.find('.edit_field--image').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tapp.modules.overlay.prepare($(this));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// edit gallery\n\t\tthat.frameContent.find('.edit_field--gallery').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tapp.modules.overlay.prepare($(this));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// edit select\n\t\tthat.frameContent.find('.edit_field--select').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tapp.modules.overlay.prepare($(this));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// edit link\n\t\tthat.frameContent.find('.edit_field--link').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar linkButton = $(this);\n\t\t\t\tvar editorButton = $('.sidebar__fields input[name=\"'+linkButton.attr('data-field')+'[text]\"]').prev();\n\t\t\t\tapp.modules.overlay.prepare(editorButton);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// handle editor links\n\t\tthat.frameContent.find('a[href$=preview]').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar link = $(this);\n\t\t\t\tvar href = link.attr('href').replace('/preview/preview', '');\n\t\t\t\tvar hrefArr = href.split('/');\n\t\t\t\tvar parentDocument = parent.document;\n\t\t\t\tvar id = hrefArr[hrefArr.length-1];\n\t\t\t\tvar newEditorUrl = parentDocument.location.origin+parentDocument.location.pathname+'?page='+id;\n\t\t\t\tparentDocument.location.href = newEditorUrl;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// show/hide field\n\t\tthat.frameContent.find('.edit_field_visibility').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar visibilityButton = $(this);\n\t\t\t\tvar item = visibilityButton.closest('[data-module-item]');\n\t\t\t\tvar editPrimaryField = visibilityButton.closest('.edit_primary_field');\n\t\t\t\tvar formFieldWrapper = visibilityButton.closest('.edit_field_wrapper').find('.edit_field');\n\t\t\t\tvar formFieldOuterWrapper = formFieldWrapper.closest('[data-visible-wrapper]');\n\t\t\t\tvar fieldName = visibilityButton.attr('data-field-name');\n\t\t\t\tvar fieldNameArr = fieldName.split('[value]');\n\t\t\t\tvar shortFieldName = fieldNameArr[fieldNameArr.length-1];\n\t\t\t\tvar fieldNameString = shortFieldName.replace('[', '').replace(']', '');\n\t\t\t\tvar newFieldName = fieldNameArr.slice(0, fieldNameArr.length-1).join('[value]');\n\t\t\t\tnewFieldName = newFieldName+'[hidden][';\n\t\t\t\tnewFieldName = newFieldName+(shortFieldName.replace(/\\[/g, '').replace(/\\]/g, ''))+']';\n\t\t\t\tvar section = visibilityButton.closest('section');\n\t\t\t\tvar pageForm = $('#page');\n\t\t\t\tvar fieldBlock = $('.sidebar__fields .fields__block[data-module-key=\"'+section.attr('data-module-key')+'\"]');\n\t\t\t\tif (formFieldWrapper.hasClass('edit_field--hidden')){\n\t\t\t\t\tconsole.log('show');\n\t\t\t\t\tformFieldWrapper.removeClass('edit_field--hidden');\n\t\t\t\t\tfieldBlock.find('input[name=\"'+newFieldName+'\"]').remove();\n\t\t\t\t\tif (typeof formFieldOuterWrapper.html() !== 'undefined'){\n\t\t\t\t\t\tformFieldOuterWrapper.removeClass('edit_field_visibility_wrapper--hidden');\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof item.html() !== 'undefined'){\n\t\t\t\t\t\tvar itemVisibilityField = item.find('[data-field-'+fieldNameString+']');\n\t\t\t\t\t\tif (typeof itemVisibilityField.html() !== 'undefined'){\n\t\t\t\t\t\t\titemVisibilityField.removeClass('edit_field_visibility_item--hidden');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('hide');\n\t\t\t\t\tformFieldWrapper.addClass('edit_field--hidden');\n\t\t\t\t\tfieldBlock.append('');\n\t\t\t\t\tif (typeof formFieldOuterWrapper.html() !== 'undefined'){\n\t\t\t\t\t\tformFieldOuterWrapper.addClass('edit_field_visibility_wrapper--hidden');\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof item.html() !== 'undefined'){\n\t\t\t\t\t\tvar itemVisibilityField = item.find('[data-field-'+fieldNameString+']');\n\t\t\t\t\t\tif (typeof itemVisibilityField.html() !== 'undefined'){\n\t\t\t\t\t\t\titemVisibilityField.addClass('edit_field_visibility_item--hidden');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\t\t\t\t\n\t\t\t\tif (typeof editPrimaryField.html() !== 'undefined'){\n\t\t\t\t\tthat.frameContent.find('.tooltip').remove();\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/dashboard/cms/pages/field-settings/block/'+section.attr('data-module-key')+'/'+section.attr('data-module-key')+'/apply',\n\t\t\t\t\t\tdata:$('#page').serialize(),\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\tapp.modules.cms.applyFieldSettings(pageForm, data);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// update/publish page\n\t\t$('button[form=\"page\"][name=\"action\"]').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar button = $(this);\n\t\t\t\tvar form = $('#page');\n\t\t\t\tvar actionField = form.find('input[name=\"action\"]');\n\t\t\t\tactionField.val(button.attr('value'));\n\t\t\t}\n\t\t});\n\t},\n\tinitInlineEditor:function(){\n\t\tvar that = this;\n\t\tvar lang = $('html').attr('lang');\n\n\t\t// custom buttons\n\t\tFroalaEditor.DefineIcon('close', {NAME:'close', SVG_KEY:'close'});\n\t\tFroalaEditor.RegisterCommand('close', {\n\t\t\ttitle:'Close toolbar',\n\t\t\tfocus:false,\n\t\t\tundo:false,\n\t\t\trefreshAfterCallback:false,\n\t\t\tcallback:function(){\n\t\t\t\tthis.selection.clear();\n\t\t\t\tthis.toolbar.hide();\n\t\t\t}\n\t\t});\n\n\t\t// init editor\n\t\t$('.editable, .edit_field--text, .edit_field--textarea').each(function(){\n\t\t\tvar textarea = $(this);\n\t\t\tif (!textarea.hasClass('fr-box')){\n\t\t\t\tvar customOptions = $.parseJSON(textarea.attr('data-rte-options'));\n\t\t\t\tvar editorOptions = {\n\t\t\t\t\tkey:window.location.hostname == 'webomat-new.devlocal' ? 'XAG4eA2A3C8B7D7B5C-11vgakhgsC6goA-8F4ikyB-13D-13qrxiB3B9A6C7C2C4G5H3G3I3==' : 'GPD2tA5A7A1D4B1A1squJ-7zzC2arzvwzhB5D-16kC-11A2B2C2H2C9B3C1C6A1E1==',\n\t\t\t\t\tlanguage:lang,\n\t\t\t\t\tattribution:false,\n\t\t\t\t\ttoolbarInline:true,\n\t\t\t\t\t//toolbarContainer:'.topbar__col--editor',\n\t\t\t\t\thtmlAllowComments:false,\n\t\t\t\t\thtmlExecuteScripts:false,\n\t\t\t\t\ttooltips:false,\n\t\t\t\t\tshortcutsHint:false,\n\t\t\t\t\tplaceholderText:typeof textarea.attr('data-placeholder') !== 'undefined' ? textarea.attr('data-placeholder') : '',\n\t\t\t\t\tlinkEditButtons:['linkEdit', 'linkStyle', 'linkRemove', 'linkOpen'],\n\t\t\t\t\tlinkInsertButtons:['linkBack'],\n\t\t\t\t\tlinkAlwaysNoFollow:false,\n\t\t\t\t\tevents:{\n\t\t\t\t\t\tinitialized:function(){\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t'toolbar.show':function(){\n\t\t\t\t\t\t\t$('.topbar__col').not('.topbar__col--editor').addClass('topbar__col--invisible');\n\t\t\t\t\t\t\t$('.topbar__col--editor').removeClass('topbar__col--invisible');\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'toolbar.hide':function(){\n\t\t\t\t\t\t\t$('.topbar__col').not('.topbar__col--editor').removeClass('topbar__col--invisible');\n\t\t\t\t\t\t\t$('.topbar__col--editor').addClass('topbar__col--invisible');\n\t\t\t\t\t\t},\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tcontentChanged:function(){\n\t\t\t\t\t\t\tvar box = this.$box;\n\t\t\t\t\t\t\tif (typeof box.attr('data-field') !== 'undefined'){\n\t\t\t\t\t\t\t\t$('.editor', parent.document).find('[name=\"'+(box.attr('data-field'))+'\"]').val(this.$el[0].innerHTML);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\teditorOptions = $.extend({}, editorOptions, customOptions);\n\t\t\t\tvar editor = new FroalaEditor(textarea[0], editorOptions);\n\t\t\t}\n\t\t});\n\t},\n\taddModule:function(button, data){\n\t\tvar that = this;\n\t\tthat.frame = $('#editor');\n\n\t\t// reload assets\n\t\tthat.reloadAssets();\n\n\t\tif (typeof that.frameContent.find('#empty-section').html() !== 'undefined'){\n\t\t\tvar section = that.frameContent.find('main #empty-section');\n\t\t\tvar editorListItem = $('.sidebar__list #empty-list-item a');\n\t\t\tvar fieldBlock = $('.sidebar__fields #empty-field-block');\n\t\t} else {\n\t\t\tvar section = that.frameContent.find('main section[data-module-key=\"'+data.moduleKey+'\"]');\n\t\t\tvar editorListItem = $('.sidebar__list a[data-module-key=\"'+data.moduleKey+'\"]');\n\t\t\tvar fieldBlock = $('.sidebar__fields .fields__block[data-module-key=\"'+data.moduleKey+'\"]');\n\t\t}\n\n\t\t// insert section\n\t\tsection.after(data.htmlEditor);\n\n\t\t// insert editor list item\n\t\teditorListItem.parent().after(data.editorListItem);\n\n\t\t// insert fields\n\t\tfieldBlock.after('
      '+data.htmlBackend+'
      ');\n\n\t\tif (typeof that.frameContent.find('#empty-section').html() !== 'undefined'){\n\t\t\tthat.frameContent.find('#empty-section').remove();\n\t\t\t$('#empty-list-item, #empty-field-block').remove();\n\t\t}\n\n\t\t// reinit\n\t\tapp.reinit();\n\t\tif (that.frame.length){\n\t\t\tthat.frame[0].contentWindow.app.reinit();\n\t\t}\n\t},\n\taddModuleItem:function(button, data){\n\t\tvar that = this;\n\t\tvar item = button.closest('[data-module-item]');\n\t\tthat.frame = $('#editor');\n\n\t\t// insert item\n\t\t//$(data.htmlEditor).insertAfter(item);\n\t\titem.parent().prepend(data.htmlEditor);\n\n\t\t// insert editor item\n\t\tvar fieldBlockList = $('.sidebar__fields .fields__block[data-module-key=\"'+data.moduleKey+'\"] .form__list_container[data-list=\"'+data.listName+'\"]');\n\t\tfieldBlockList.prepend(data.htmlBackend);\n\n\t\t// reinit\n\t\tapp.reinit();\n\t\tif (that.frame.length){\n\t\t\tthat.frame[0].contentWindow.app.reinit();\n\t\t}\n\t},\n\tsortContentBlock:function(sortable, event){\n\t\tvar that = this;\n\n\t\t// sort section\n\t\tvar section = that.frameContent.find('main section').eq(event.oldIndex);\n\t\tif (that.frameContent.find('main section').length > 1){\n\t\t\tif (event.newIndex == 0){\n\t\t\t\t$(section.detach()).insertBefore(that.frameContent.find('main section').eq(0));\n\t\t\t} else {\n\t\t\t\t$(section.detach()).insertAfter(that.frameContent.find('main section').eq(event.newIndex-1));\n\t\t\t}\n\t\t}\n\n\t\t// sort fields\n\t\tvar fieldBlock = $('.sidebar__fields .fields__block').eq(event.oldIndex);\n\t\tif (that.frameContent.find('main section').length > 1){\n\t\t\tif (event.newIndex == 0){\n\t\t\t\t$(fieldBlock.detach()).insertBefore($('.sidebar__fields .fields__block').eq(0));\n\t\t\t} else {\n\t\t\t\t$(fieldBlock.detach()).insertAfter($('.sidebar__fields .fields__block').eq(event.newIndex-1));\n\t\t\t}\n\t\t}\n\t},\n\tremoveContentBlock:function(button){\n\t\tvar that = this;\n\t\tapp.modules.overlay.hideIfOpen();\n\t\tif (that.removeBlockKey){\n\t\t\tvar section = that.frameContent.find('main section[data-module-key=\"'+that.removeBlockKey+'\"]');\n\t\t\t\n\t\t\t// block size\n\t\t\tvar blocks = section.parent().find('section');\n\t\t\tif (blocks.length == 1){\n\t\t\t\t$.toaster({\n\t\t\t\t\tpriority:'warning',\n\t\t\t\t\tmessage:trans.editor.at_least_one_block_needed\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// remove section\n\t\t\tsection.remove();\n\n\t\t\t// remove editor list item\n\t\t\tvar editorListItem = $('.sidebar__list a[data-module-key=\"'+that.removeBlockKey+'\"]');\n\t\t\teditorListItem.parent().remove();\n\n\t\t\t// remove fields\n\t\t\tvar fieldBlock = $('.sidebar__fields .fields__block[data-module-key=\"'+that.removeBlockKey+'\"]');\n\t\t\tfieldBlock.remove();\n\n\t\t\t// update site\n\t\t\tthat.updateSite(that.frameContent.find('.site'));\n\t\t}\n\t},\n\tremoveModuleItem:function(button){\n\t\tvar that = this;\n\t\tapp.modules.overlay.hideIfOpen();\n\t\tif (that.removeBlockItemKey){\n\t\t\tvar removeBlockItemButton = that.frameContent.find('.edit_block_item__button--delete[data-item-field-name=\"'+that.removeBlockItemKey+'\"]');\n\t\t\tvar item = removeBlockItemButton.closest('[data-module-item]');\n\n\t\t\t// item size\n\t\t\tvar items = item.parent().find('[data-module-item]');\n\t\t\tif (items.length == 1){\n\t\t\t\t$.toaster({\n\t\t\t\t\tpriority:'warning',\n\t\t\t\t\tmessage:trans.editor.at_least_one_item_needed\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\t// remove item\n\t\t\titem.remove();\n\n\t\t\t// remove editor item\n\t\t\tvar editorItem = $('.sidebar__fields .form__list_container input[name=\"'+that.removeBlockItemKey+'\"]').parent();\n\t\t\teditorItem.remove();\n\n\t\t\t// reinit\n\t\t\tapp.reinit();\n\t\t\tif (that.frame.length){\n\t\t\t\tthat.frame[0].contentWindow.app.reinit();\n\t\t\t}\n\t\t}\n\n\t},\n\treloadAssets:function(){\n\t\tvar that = this;\n\t\tvar pageStyles = that.frameContent.find('#page-styles');\n\t\tpageStyles.attr('href', pageStyles.attr('href')+'&nv='+(new Date().getTime()));\n\t\tvar pageJsVendor = that.frameContent.find('#page-js-vendor');\n\t\tvar pageJsVendorSrc = pageJsVendor.attr('src')+'&nv='+(new Date().getTime());\n\t\tpageJsVendor.attr('src', pageJsVendorSrc);\n\t\tvar pageJsScripts = that.frameContent.find('#page-js-scripts');\n\t\tvar pageJsScriptsSrc = pageJsScripts.attr('src')+'&nv='+(new Date().getTime());\n\t\tpageJsScripts.attr('src', pageJsScriptsSrc);\n\t\tif (typeof $('#editor')[0] !== 'undefined'){\n\t\t\t$('#editor')[0].contentWindow.app.modules.editor.reloadJavascript(pageJsVendorSrc, pageJsScriptsSrc);\n\t\t}\n\t},\n\treloadJavascript:function(vendor, scripts){\n\t\tvar that = this;\n\t\t$.getScript(vendor, function(data, textStatus, jqxhr){\n\t\t\t$.getScript(scripts, function(data, textStatus, jqxhr){\n\t\t\t\t$('section.unvisible').removeClass('unvisible');\n\t\t\t});\n\t\t});\n\t},\n\tswitchPage:function(select){\n\t\tvar that = this;\n\t\t\n\t\tvar selectedPageValue = select.val();\n\t\tif (selectedPageValue != ''){\n\t\t\tvar selectUrl = window.location.origin+window.location.pathname+'?page='+selectedPageValue;\n\t\t\t/*\n\t\t\tHistory.pushState({\n\t\t\t\tmode:'sleep'\n\t\t\t}, null, selectUrl);\n\t\t\tthat.frame.attr('src', that.frame.attr('data-url').replace('/id/', '/'+selectedPageValue+'/'))\n\t\t\t*/\n\t\t\twindow.location.href = selectUrl;\n\t\t\treturn false;\n\t\t}\n\t},\n\tloaded:function(){\n\t\tvar that = this;\n\t\tvar editorLoading = $('.editor__loading');\n\t\teditorLoading.addClass('editor__loading--hide');\n\t},\n\tcheckAvailable:function(){\n\t\tvar that = this;\n\t\tvar warningMessage = $('.editor__warning');\n\t\tvar viewportWidth = app.getViewport('width');\n\t\tif (viewportWidth < 1024){\n\t\t\twarningMessage.addClass('editor__warning--show');\n\t\t} else {\n\t\t\twarningMessage.removeClass('editor__warning--show');\n\t\t}\n\t},\n\tswitchMode:function(button){\n\t\tvar that = this;\n\t\tvar form = $('#page');\n\t\tvar actionField = form.find('input[name=\"action\"]');\n\t\tvar callbackModuleField = form.find('input[name=\"callbackModule\"]');\n\t\tvar callbackFunctionField = form.find('input[name=\"callbackFunction\"]');\n\t\tactionField.val('update');\n\t\tcallbackModuleField.val('editor');\n\t\tcallbackFunctionField.val('redirectToExpertMode');\n\t\tbutton.addClass('button--disabled').append('');\n\t\tform.submit();\n\t\treturn false;\n\t},\n\tredirectToExpertMode:function(form, data){\n\t\tvar that = this;\n\t\tvar button = $('#confirm .button--confirm');\n\t\tbutton.removeClass('button--disabled');\n\t\tbutton.find('.loader').remove();\n\t\tbutton.find('.icon').removeClass('hidden');\n\t\tif (jQuery().dirtyForms){\n\t\t\tform.dirtyForms('setClean');\n\t\t}\n\t\twindow.location.href = pageLinkExpertMode;\n\t},\n\tupdateSite:function(site){\n\t\tvar pageId = site.find('main section:first-child .edit_block__button--settings').attr('data-page');\n\t\tvar that = this;\n\t\t$.ajax({\n\t\t\ttype:'POST',\n\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/dashboard/cms/pages/'+pageId+'/get-site-settings',\n\t\t\tdata:$('.editor', parent.document).find('form[id=\"page\"]').serialize(),\n\t\t\tsuccess:function(data){\n\t\t\t\t// update site classes\n\t\t\t\tsite.removeClass(function(index, className){\n\t\t\t\t\treturn (className.match(/(^|\\s)site--settings-\\S+/g) || []).join(' ');\n\t\t\t\t}).addClass(data.siteClasses);\n\t\t\t}\n\t\t});\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t\tthat.initInlineEditor();\n\t}\n};\napp.modules.editor = new editor;\nfunction menu(){\n\tthis.menuContainer = $('#menu-container');\n\tthis.menuSaveButton = $('#menu-save-button');\n\tthis.emptyMessageContainer = $('#menu-empty-message');\n\tthis.menuItemSettings = $('#menu-item-settings');\n\tthis.selectPage = $('#select-page');\n\tthis.items = [];\n\tthis.vars = {\n\t\titemSelector:'.panel__block',\n\t\tmenuSettingsItem:null\n\t}\n}\nmenu.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// edit menu item\n\t\tthat.menuContainer.find('.block__heading .edit').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar menuSettingsItem = $(this).closest(that.vars.itemSelector);\n\t\t\t\tthat.vars.menuSettingsItem = menuSettingsItem;\n\t\t\t\tthat.menuItemSettings.find('.selectized').each(function(){\n\t var selectizedField = $(this);\n\t if (selectizedField[0].selectize){\n\t selectizedField[0].selectize.destroy();\n\t }\n\t });\n\t that.menuItemSettings.find('form')[0].reset();\n\t\t\t\tthat.menuItemSettings.find('form input[name=\"text\"]').val(menuSettingsItem.find('> input[name=\"menu_item_text\"]').val());\n\t\t\t\tthat.menuItemSettings.find('form select[name=\"target\"]').val(menuSettingsItem.find('> input[name=\"menu_item_target\"]').val());\n\t that.menuItemSettings.find('form select[name=\"model\"]').val(menuSettingsItem.find('> input[name=\"menu_item_id\"]').val() != '' ? 'page' : (menuSettingsItem.find('> input[name=\"menu_item_route\"]').val() != '' ? 'route' : 'custom'));\n\t that.menuItemSettings.find('form input[name=\"link\"]').val(menuSettingsItem.find('> input[name=\"menu_item_link\"]').val());\n\t if (menuSettingsItem.find('> input[name=\"menu_item_id\"]').val() != ''){\n\t \tthat.menuItemSettings.find('form select[name=\"id_page\"]').find('option').remove().end().append(new Option(menuSettingsItem.find('> .block__heading .expand .caption').text(), menuSettingsItem.find('> input[name=\"menu_item_id\"]').val()));\n\t }\n\t that.menuItemSettings.find('form select[name=\"id_page\"]').val(menuSettingsItem.find('> input[name=\"menu_item_id\"]').val());\n\t that.menuItemSettings.find('form select[name=\"id_route\"]').val(menuSettingsItem.find('> input[name=\"menu_item_route\"]').val());\n\t that.menuItemSettings.find('form input[name=\"extension\"]').val(menuSettingsItem.find('> input[name=\"menu_item_link_extension\"]').val());\n\t app.modules.form.reinit();\n\t\t\t\tapp.modules.overlay.show('inline', 'menu-item-settings', undefined, true);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// update menu item\n\t\tthat.menuItemSettings.find('.button--submit').unbind().on({\n\t\t\tclick:function(e){\n\t\t\t\tvar isValid = that.menuItemSettings.find('form').valid();\n\t\t\t\tif(!isValid) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t} else {\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> input[name=\"menu_item_text\"]').val(that.menuItemSettings.find('form input[name=\"text\"]').val());\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> .block__heading .expand .caption').text(that.menuItemSettings.find('form input[name=\"text\"]').val());\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> input[name=\"menu_item_target\"]').val(that.menuItemSettings.find('form select[name=\"target\"]').val());\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> input[name=\"menu_item_id\"]').val(that.menuItemSettings.find('form select[name=\"model\"]').val() == 'page' ? that.menuItemSettings.find('form select[name=\"id_page\"]').val() : '');\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> input[name=\"menu_item_route\"]').val(that.menuItemSettings.find('form select[name=\"model\"]').val() == 'route' ? that.menuItemSettings.find('form select[name=\"id_route\"]').val() : '');\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> input[name=\"menu_item_link\"]').val(that.menuItemSettings.find('form select[name=\"model\"]').val() == 'custom' ? that.menuItemSettings.find('form input[name=\"link\"]').val() : '');\n\t\t\t\t\tthat.vars.menuSettingsItem.find('> input[name=\"menu_item_link_extension\"]').val(that.menuItemSettings.find('form input[name=\"extension\"]').val());\n\t\t\t\t\tapp.modules.overlay.hideIfOpen();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// remove menu item\n\t\tthat.menuContainer.find('.block__heading .remove').on({\n\t\t\tclick:function(){\n\t\t\t\tvar menuSettingsItem = $(this).closest(that.vars.itemSelector);\n\t\t\t\tif (that.menuContainer.children().length == 0){\n\t\t\t\t\tthat.emptyMessageContainer.removeClass('hidden');\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// save menu\n\t\tthat.menuSaveButton.unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar thisButton = $(this);\n\t\t\t\tif (!thisButton.hasClass('button--disabled')){\n\t\t\t\t\tthisButton.addClass('button--disabled').append('');\n\t\t\t\t\tthat.items = [];\n\t\t\t\t\tthat.items.push(that.parseItems(that.menuContainer));\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\turl:thisButton.attr('href'),\n\t\t\t\t\t\tdata:'menu='+encodeURIComponent(JSON.stringify(that.items)),\n\t\t\t\t\t\tsuccess:function(data){\n\t\t\t\t\t\t\tthisButton.removeClass('button--disabled');\n\t\t\t\t\t\t\tthisButton.find('.loader').remove();\n\t\t\t\t\t\t\tthisButton.find('.icon').removeClass('hidden');\n\t\t\t\t\t\t\t$.toaster({\n\t\t\t\t\t\t\t\tpriority:'success',\n\t\t\t\t\t\t\t\tmessage:data.msg\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\taddPage:function(select){\n\t\tvar that = this;\n\t\tif (select.val() != ''){\n\t\t\t$.ajax({\n\t\t\t\ttype:'POST',\n\t\t\t\turl:select.attr('data-callback-on-change-url'),\n\t\t\t\tdata:'page='+select.val(),\n\t\t\t\tsuccess:function(data){\n\t\t\t\t\tthat.pageAdded(null, data);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tpageAdded:function(button, data){\n\t\tvar that = this;\n\t\tvar select = that.selectPage.find('select');\n\t\tselect.data('selectize').clear();\n\t\tthat.emptyMessageContainer.addClass('hidden');\n\t\tthat.menuContainer.prepend(data.html);\n\t\tapp.reinit();\n\t\tthat.addListener();\n\t},\n\tparseItems:function(element){\n\t\tvar that = this;\n\t\tvar items = [];\n\t\telement.children('.panel__block').each(function(index, value){\n\t\t\tvar subElement = $(this);\n\t\t\tvar item = {\n\t\t\t\t'id':subElement.find('input[name=\"menu_item_id\"]').val(),\n\t\t\t\t'route':subElement.find('input[name=\"menu_item_route\"]').val(),\n\t\t\t\t'text':subElement.find('input[name=\"menu_item_text\"]').val(),\n\t\t\t\t'target':subElement.find('input[name=\"menu_item_target\"]').val(),\n\t\t\t\t'link':subElement.find('input[name=\"menu_item_link\"]').val(),\n\t\t\t\t'link_extension':subElement.find('input[name=\"menu_item_link_extension\"]').val(),\n\t\t\t\t'children':[]\n\t\t\t};\n\t\t\tif (subElement.find('.panel__blocks').children('.panel__block').length > 0){\n\t\t\t\titem.children = that.parseItems(subElement.find('> .block__body > .panel__blocks'));\n\t\t\t}\n\t\t\titems.push(item);\n\t\t});\n\t\treturn items;\n\t},\n\tchangeMenu:function(select){\n\t\tvar that = this;\n\t\twindow.location.href = select.val();\n\t},\n\tresetItemSettings:function(overlay){\n\t\tvar that = this;\n\t\tthat.vars.menuSettingsItem = null;\n\t}\n};\napp.modules.menu = new menu;\nfunction domain(){}\ndomain.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// click popup link\n\t\t$('[data-popup]').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar popupLink = $(this);\n\t\t\t\tvar popupStr = popupLink.attr('data-popup');\n\t\t\t\tvar popupObj = $.parseJSON(popupStr);\n\t\t\t\tvar onClose = popupObj.onClose.split('.');\n\n\t\t\t\tvar popup = window.open(popupObj.url, '', 'width=850, height=650');\n\t\t\t\tvar popupTick = setInterval(function(){\n\t\t\t\t\tif (popup.closed){\n\t\t\t\t\t\tclearInterval(popupTick);\n\t\t\t\t\t\tapp.modules[onClose[0]][onClose[1]](popupLink);\n\t\t\t\t\t}\n\t\t\t\t}, 250);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\tverifyConnection:function(popupLink){\n\t\tvar that = this;\n\t\tif (typeof popupLink !== 'undefined'){\n\t\t\tvar popupStr = popupLink.attr('data-popup');\n\t\t\tvar popupObj = $.parseJSON(popupStr);\n\t\t\twindow.location.href = popupObj.callbackUrl;\n\t\t} else {\n\t\t\t//\n\t\t}\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.domain = new domain;\nfunction gallery(){\n\tthis.galleryForm = $('form[name=\"gallery_selection\"]');\n\tthis.galleryBody = $('._08__body');\n\tthis.galleryEmpty = $('._08__empty');\n\tthis.gallerySelection = $('._08__selection');\n}\ngallery.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// select media item\n\t\t$('._07__tile--gallery-selector').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar item = $(this);\n\t\t\t\tif (item.hasClass('_07__tile--gallery-selected')){\n\t\t\t\t\tthat.removeItem(item.attr('data-id'));\n\t\t\t\t} else {\n\t\t\t\t\tthat.addItem(item);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\t// remove media item\n\t\t$('._07__tile--gallery-item .tile__remove').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar removeButton = $(this);\n\t\t\t\tvar item = removeButton.closest('._07__tile');\n\t\t\t\tthat.removeItem(item.attr('data-id'));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\taddItem:function(item){\n\t\tvar that = this;\n\t\tthat.galleryForm = $('form[name=\"gallery_selection\"]');\n\t\tthat.galleryBody = $('._08__body');\n\t\tthat.galleryEmpty = $('._08__empty');\n\t\tthat.gallerySelection = $('._08__selection');\n\t\tvar itemLength = $('._07__tile--gallery-item[data-id=\"'+item.attr('data-id')+'\"]').length;\n\t\tvar galleryItemsLength = $('._07__tile--gallery-item').length;\n\t\tif (itemLength > 0 && !that.galleryBody.hasClass('_08__body-no-sidebar')){\n\t\t\tthat.removeItem(item.attr('data-id'));\n\t\t} else {\n\t\t\tif (itemLength > 0 && that.galleryBody.hasClass('_08__body-no-sidebar')){\n\t\t\t\tthat.removeItem(item.attr('data-id'));\n\t\t\t}\n\t\t\tvar gridItem = item.parent();\n\t\t\tvar galleryItem = gridItem.clone();\n\t\t\tif (that.galleryBody.attr('data-limit') == '' || galleryItemsLength < that.galleryBody.attr('data-limit') || that.galleryBody.attr('data-limit') == 1){\n\t\t\t\tthat.galleryEmpty.addClass('hidden');\n\t\t\t\tthat.gallerySelection.removeClass('hidden');\n\t\t\t\titem.addClass('_07__tile--gallery-selected');\n\t\t\t\tgalleryItem.addClass('handle').find('._07__tile').removeClass('_07__tile--gallery-selector').addClass('_07__tile--gallery-item').prepend('
      ');\n\t\t\t\tthat.galleryForm.find('.grid').prepend(galleryItem);\n\t\t\t} else {\n\t\t\t\t$.toaster({\n\t\t\t\t\tpriority:'warning',\n\t\t\t\t\tmessage:that.galleryBody.attr('data-limit-msg')\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthat.addListener();\n\t\tif (that.galleryBody.hasClass('_08__body-no-sidebar')){\n\t\t\tthat.galleryForm.submit();\n\t\t}\n\t},\n\tremoveItem:function(id){\n\t\tvar that = this;\n\t\tvar selectorItem = $('._07__tile--gallery-selector[data-id=\"'+id+'\"]');\n\t\tvar galleryItem = $('._07__tile--gallery-item[data-id=\"'+id+'\"]');\n\t\tvar galleryItemsLength = $('._07__tile--gallery-item').length;\n\t\tvar galleryGridItem = galleryItem.parent();\n\t\tthat.galleryForm = $('form[name=\"gallery_selection\"]');\n\t\tthat.galleryBody = $('._08__body');\n\t\tthat.galleryEmpty = $('._08__empty');\n\t\tthat.gallerySelection = $('._08__selection');\n\t\tselectorItem.removeClass('_07__tile--gallery-selected');\n\t\tgalleryGridItem.remove();\n\t\tif (galleryItemsLength <= 1){\n\t\t\tthat.galleryEmpty.removeClass('hidden');\n\t\t\tthat.gallerySelection.addClass('hidden');\n\t\t}\n\t\tthat.addListener();\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.gallery = new gallery;\nfunction hint(){\n\tthis.vars = {\n\t\thintQuery:[]\n\t}\n}\nhint.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// check if hint is needed\n\t\tif (typeof $('[data-hint]').html() !== 'undefined'){\n\t\t\tthat.parseHints();\n\t\t}\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// dismiss hint\n\t\t$('.hint .close-hint').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar hint = $(this).closest('[data-hint-id]');\n\t\t\t\tthat.dismiss(hint);\n\t\t\t}\n\t\t});\n\t},\n\tparseHints:function(selector){\n\t\tvar that = this;\n\t\tif (typeof selector !== 'undefined'){\n\t\t\tvar hintObjects = $(selector);\n\t\t} else {\n\t\t\tvar hintObjects = $('[data-hint]:reallyvisible');\n\t\t}\n\t\thintObjects.sort(function(a, b){\n\t\t\treturn $(a).attr('data-hint-pos')-$(b).attr('data-hint-pos');\n\t\t}).each(function(){\n\t\t\tvar hint = $(this);\n\t\t\tif (hint.is(':reallyvisible')){\n\t\t\t\tthat.get(hint);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\tget:function(hint){\n\t\tvar that = this;\n\t\tif ($.inArray(hint.attr('data-hint'), that.vars.hintQuery) == -1){\n\t\t\tthat.vars.hintQuery.push(hint.attr('data-hint'));\n\t\t\t$.ajax({\n\t\t\t\ttype:'POST',\n\t\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/events/hint/get/'+hint.attr('data-hint'),\n\t\t\t\tsuccess:function(data){\n\t\t\t\t\tif (data.hint){\n\t\t\t\t\t\t$('.hint').addClass('hint--show').html(data.hint);\n\t\t\t\t\t\tthat.position(hint);\n\t\t\t\t\t\tthat.addListener();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Object.keys(data.left).length > 0){\n\t\t\t\t\t\t\t$('[data-hint=\"'+hint.attr('data-hint')+'\"]').removeAttr('data-hint');\n\t\t\t\t\t\t\tthat.parseHints();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tdismiss:function(hint){\n\t\tvar that = this;\n\t\t$('.hint').removeClass('hint--show');\n\t\tsetTimeout(function(){\n\t\t\t$('.hint').empty();\n\t\t\t$.ajax({\n\t\t\t\ttype:'POST',\n\t\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/events/hint/dismiss/'+hint.attr('data-hint-id'),\n\t\t\t\tsuccess:function(data){\n\t\t\t\t\t$('[data-hint=\"'+hint.attr('data-hint-id')+'\"]').removeAttr('data-hint');\n\t\t\t\t\tthat.parseHints();\n\t\t\t\t}\n\t\t\t});\n\t\t}, 260);\n\t},\n\tposition:function(hintOrigin){\n\t\tvar that = this;\n\t\tvar isFixed = app.elementOrParentIsFixed(hintOrigin);\n\t\tvar hintWrapper = $('.hint');\n\t\tvar hint = $('[data-hint-id]');\n\t\tvar windowWidth = app.getViewport('width');\n\t\tvar windowHeight = app.getViewport('height');\n\t\tvar windowScrollTop = $(window).scrollTop();\n\t\tvar hintOriginWidth = hintOrigin.outerWidth();\n\t\tvar hintOriginHeight = hintOrigin.outerHeight();\n\t\tvar hintLeft = hintOrigin.offset().left-23+(hintOriginWidth/2);\n\t\tif (isFixed){\n\t\t\tvar hintTop = hintOrigin[0].getBoundingClientRect().top;\n\t\t} else {\n\t\t\tvar hintTop = hintOrigin.offset().top;\n\t\t}\n\t\tvar hintClass = 'hint__content';\n\n\t\tif (isFixed){\n\t\t\thintWrapper.addClass('hint--fixed');\n\t\t} else {\n\t\t\thintWrapper.removeClass('hint--fixed');\n\t\t}\n\n\t\t// override left/right pos\n\t\tif (hintLeft+hint.outerWidth() > windowWidth){\n\t\t\thintClass = 'hint__content hint__content--right';\n\t\t\thintLeft = hintOrigin.offset().left-hint.outerWidth()+23+(hintOriginWidth/2);\n\t\t\tif (hintOriginWidth > 70) hintLeft = hintOrigin.offset().left-hint.outerWidth()+hintOriginWidth;\n\t\t}\n\n\t\thint.attr('class', hintClass).css({\n\t\t\ttop:hintTop+hintOriginHeight+14,\n\t\t\tleft:hintLeft\n\t\t});\n\n\t\thintWrapper.css({\n\t\t\theight:$('.site').outerHeight()\n\t\t});\n\n\t\t// override top/bottom pos\n\t\tif (hintTop+hintOriginHeight+14+hint.outerHeight()-windowScrollTop > windowHeight){\n\t\t\thint.addClass('hint__content--top').css({\n\t\t\t\ttop:hintTop-14-hint.outerHeight()\n\t\t\t});\n\t\t}\n\n\t\t// override left/right pos if width too big\n\t\tif (hint.outerWidth() > app.getViewport('width')-20){\n\t\t\thint.css({\n\t\t\t\tleft:10,\n\t\t\t\twidth:app.getViewport('width')-20,\n\t\t\t\t'white-space':'inherit'\n\t\t\t});\n\t\t}\n\t}\n};\napp.modules.hint = new hint;\nfunction authenticate(){\n\tthis.vars = {\n\t\tpm:null\n\t}\n}\nauthenticate.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t\tvar cardSelector = $('form#authenticate select[name=\"card\"]');\n\n\t\t// select a card\n\t\tcardSelector.unbind().on({\n\t\t\tchange:function(){\n\t\t\t\tvar card = $(this);\n\t\t\t\tthat.vars.pm = card.val();\n\t\t\t\tif (card.val() == 'new'){\n\t\t\t\t\twindow.location.href = intentCreateNewPaymentMethodUrl+'?redirect_url='+window.location.href;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// handle card payment\n\t\tvar form = $('form#authenticate');\n\t\tif (typeof stripe !== 'undefined' && typeof form.html() !== 'undefined'){\n\t\t\tvar showCardsHelper = $('input[name=\"show_cards\"]');\n\t\t\tvar authError = [];\n\t\t\tthat.vars.pm = intentPaymentMethod;\n\n\t\t\t// step 1: check if payment method exists in intent\n\t\t\tif (that.vars.pm){\n\t\t\t\t//\n\t\t\t} else {\n\t\t\t\tshowCardsHelper.val('1');\n\t\t\t\tapp.modules.form.reinit();\n\t\t\t}\n\t\t\t\n\t\t\t// step 2: add click handler to start handleCardPayment process\n\t\t\tvar cardButton = document.getElementById('card-button');\n\t\t\tcardButton.addEventListener('click', function(event){\n\t\t\t\tevent.preventDefault();\t\t\t\t\n\t\t\t\tapp.modules.form.loading(form, true, true);\n\t\t\t\tstripe.handleCardPayment(intentClientSecret, {\n\t\t\t\t\tpayment_method:that.vars.pm\n\t\t\t\t}).then(function(response){\n\t\t\t\t\tapp.modules.form.loading(form, false, true);\n\t\t\t\t\tif (response.error){\n\t\t\t\t\t\tif (response.error.param == 'payment_method'){\n\t\t\t\t\t\t\tauthError = [stripeMessages.paymentMethod];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tauthError = [response.error.message];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tapp.modules.form.throwError(form, authError);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar successData = {\n\t\t\t\t\t\t\tmsg:stripeMessages.authSuccess\n\t\t\t\t\t\t};\n\t\t\t\t\t\tapp.modules.form.success(form, successData, false);\n\t\t\t\t\t\tform.find('.form__row:not(.form__row--msg)').remove();\n\t\t\t\t\t\t$('.button--return-after-success').removeClass('hidden');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\napp.modules.authenticate = new authenticate;\nfunction chart(){\n\tthis.vars = {\n\t\tcolors:{\n\t\t\tred:'rgb(255, 99, 132)',\n\t\t\torange:'rgb(255, 159, 64)',\n\t\t\tyellow:'rgb(255, 205, 86)',\n\t\t\tgreen:'rgb(75, 192, 192)',\n\t\t\tblue:'rgb(54, 162, 235)',\n\t\t\tpurple:'rgb(153, 102, 255)',\n\t\t\tgrey:'rgb(201, 203, 207)'\n\t\t}\n\t}\n}\nchart.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.chart = new chart;\nfunction cropper(){}\ncropper.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.initSelection();\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\tinitSelection:function(){\n\t\tvar that = this;\n\t\t$('.selection__container').each(function(index){\n\t\t\tvar swiperObj = $(this);\n\t\t\tvar swiperInstance = new Swiper(swiperObj[0], {\n\t\t\t\twrapperClass:'selection__wrapper',\n\t\t\t\tslideClass:'selection__slide',\n\t\t\t\tspaceBetween:30,\n\t\t\t\tslideActiveClass:'selection__slide--active',\n\t\t\t\tslideNextClass:'selection__slide--next',\n\t\t\t\tslidesPerView:3,\n\t\t\t\tnavigation:{\n\t\t\t\t\tnextEl:'.selection__next',\n \t\t\t\tprevEl:'.selection__prev',\n\t\t\t\t\tdisabledClass:'selection__nav--disabled',\n\t\t\t\t\thiddenClass:'selection__nav--hidden'\n\t\t\t\t},\n\t\t\t\tallowTouchMove:true,\n\t\t\t\tbreakpoints:{\n\t\t\t\t\t1224:{\n\t\t\t\t\t\tslidesPerView:3,\n\t\t\t\t\t\tspaceBetween:30\n\t\t\t\t\t},\n\t\t\t\t\t1024:{\n\t\t\t\t\t\tslidesPerView:2,\n\t\t\t\t\t\tspaceBetween:20\n\t\t\t\t\t},\n\t\t\t\t\t768:{\n\t\t\t\t\t\tslidesPerView:1,\n\t\t\t\t\t\tspaceBetween:10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ton:{\n\t\t\t\t\tclick:function(event){\n\t\t\t\t\t\tvar src = $(event.srcElement);\n\t\t\t\t\t\tvar slide = src.closest('.selection__slide');\n\t\t\t\t\t\tvar image = slide.find('.item__image');\n\t\t\t\t\t\t$('.selection__slide').removeClass('selection__slide--selected');\n\t\t\t\t\t\tslide.addClass('selection__slide--selected');\n\t\t\t\t\t\tthat.initCropper(image);\n\t\t\t\t\t},\n\t\t\t\t\ttransitionEnd:function(){\n\t\t\t\t\t\tapp.modules.lazyLoad.lazyLoadImages('.cropper__selection [data-bg]');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t},\n\tinitCropper:function(originalImage){\n\t\tvar that = this,\n\t\t\turl = originalImage.attr('data-original'),\n\t\t\tloading = $('.cropper__loading'),\n\t\t\tactions = $('.cropper__actions'),\n\t\t\tstage = $('.cropper__stage'),\n\t\t\timage = $('.cropper__image'),\n\t\t\taspectRatio = originalImage.attr('data-aspect-ratio') == 'NaN' ? 'NaN' : originalImage.attr('data-aspect-ratio').split('/'),\n\t\t\tid = originalImage.attr('data-id'),\n\t\t\tsize = originalImage.attr('data-size');\n\n\t\tloading.removeClass('cropper__loading--disabled');\n\t\tthat.destroy(loading, actions, stage, image);\n\n\t\timage.attr('src', url);\n\t\timage.cropper({\n\t\t\taspectRatio:aspectRatio == 'NaN' ? 'NaN' : aspectRatio[0] / aspectRatio[1],\n\t\t\tzoomOnWheel:false,\n\t\t\tcrop:function(event){\n\t\t\t\t//\n\t\t\t}\n\t\t});\n\n\t\tvar cropper = image.data('cropper');\n\t\tsetTimeout(function(){\n\t\t\tloading.addClass('cropper__loading--disabled');\n\t\t\tactions.removeClass('cropper__actions--disabled');\n\t\t\tstage.removeClass('cropper__stage--disabled');\n\t\t\tcropper.resize();\n\t\t}, 1000);\n\n\t\t$('.button--crop-event').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar button = $(this);\n\t\t\t\tif (!cropper){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdata = {\n\t\t\t\t\tmethod:button.attr('data-method'),\n\t\t\t\t\toption:button.attr('data-option') || undefined,\n\t\t\t\t\tsecondOption:button.attr('data-second-option') || undefined\n\t\t\t\t};\n\n\t\t\t\tcropped = cropper.cropped;\n\n\t\t\t\tif (data.method){\n\t\t\t\t\tswitch(data.method){\n\t\t\t\t\t\tcase 'rotate':\n\t\t\t\t\t\t\tif (cropped){\n\t\t\t\t\t\t\t\tcropper.clear();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tresult = cropper[data.method](data.option, data.secondOption);\n\n\t\t\t\t\tswitch(data.method){\n\t\t\t\t\t\tcase 'rotate':\n\t\t\t\t\t\t\tif (cropped){\n\t\t\t\t\t\t\t\tcropper.crop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t$('.button--crop-image').unbind().on({\n\t\t\tclick:function(){\n\t\t\t\tvar button = $(this);\n\t\t\t\tif (!button.hasClass('button--disabled')){\n\t\t\t\t\tbutton.addClass('button--disabled').append('');\n\t\t\t\t\tvar canvas = image.cropper('getCroppedCanvas', {\n\t\t\t\t\t\timageSmoothingEnabled:true,\n\t\t\t\t\t\timageSmoothingQuality:'high',\n\t\t\t\t\t\tfillColor:'#fff'\n\t\t\t\t\t});\n\t\t\t\t\tvar canvaURL = canvas.toDataURL('image/jpeg');\n\t\t\t\t\t$.ajax({\n\t\t\t\t\t\ttype:'POST',\n\t\t\t\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/dashboard/cms/media/'+id+'/crop/'+size,\n\t\t\t\t\t\tdata:{\n\t\t\t\t\t\t\timg:canvaURL\n\t\t\t\t\t\t},\n\t\t\t\t\t\terror:function(jqXHR, exception, thrownError){\n\t\t\t\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\t\t\t\t$.toaster({\n\t\t\t\t\t\t\t\tpriority:'error',\n\t\t\t\t\t\t\t\tmessage:'Error!'\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess:function(data, textStatus, xhr){\n\t\t\t\t\t\t\tif (data.success === true){\n\t\t\t\t\t\t\t\t$.toaster({\n\t\t\t\t\t\t\t\t\tpriority:'success',\n\t\t\t\t\t\t\t\t\tmessage:data.msg\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$.toaster({\n\t\t\t\t\t\t\t\t\tpriority:'error',\n\t\t\t\t\t\t\t\t\tmessage:data.msg\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbutton.removeClass('button--disabled');\n\t\t\t\t\t\t\tbutton.find('.loader').remove();\n\t\t\t\t\t\t\tthat.destroy(loading, actions, stage, image);\n\t\t\t\t\t\t\t$('.selection__slide').removeClass('selection__slide--selected');\n\t\t\t\t\t\t\tapp.modules.lazyLoad.reset('.cropper__selection [data-size=\"'+data.size+'\"]');\n\t\t\t\t\t\t\toriginalImage.attr('data-bg', data.url);\n\t\t\t\t\t\t\tapp.modules.lazyLoad.lazyLoadImages('.cropper__selection [data-size=\"'+data.size+'\"]');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\tdestroy:function(loading, actions, stage, image){\n\t\tvar taht = this;\n\t\tactions.addClass('cropper__actions--disabled');\n\t\tstage.addClass('cropper__stage--disabled');\n\t\timage.cropper('destroy');\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.initSelection();\n\t}\n};\napp.modules.cropper = new cropper;\nfunction search(){\n\tthis.site = $('.site');\n\tthis.autocompleteSearchForm = $('form[id=\"search\"]');\n\tthis.searchQueryField = $('form[id=\"search\"] input[name=\"q\"]');\n\tthis.autocomplete = $('.search_autocomplete');\n\tthis.autocompleteCol = $('.search_autocomplete__col');\n\tthis.autocompleteLeft = $('.search_autocomplete__left');\n\tthis.vars = {\n\t\tquery:'',\n\t\tsearchFocus:false,\n\t\tautocompleteEnabled:false,\n\t\tallowSearch:true\n\t}\n}\nsearch.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\n\t\t// autocomplete search\n\t\tthat.searchQueryField.on({\n\t\t\tfocus:function(){\n\t\t\t\tthat.vars.searchFocus = true;\n\t\t\t\tthat.showAutocomplete();\n\t\t\t},\n\t\t\tblur:function(){\n\t\t\t\tthat.vars.searchFocus = false;\n\t\t\t}\n\t\t});\n\t\tthat.searchQueryField.keyup(app.debounce(function(e){\n\t\t\tvar formField = $(this);\n\t\t\tvar formFieldName = formField.attr('name');\n\t\t\tif (formField.val().length > 2 && e.keyCode != 27){\n\t\t\t\tif (formField.val() != that.vars.query){\n\t\t\t\t\tthat.vars.query = $.trim(formField.val());\n\t\t\t\t\tif (e.keyCode != 38 && e.keyCode != 40 && that.vars.allowSearch){\n\t\t\t\t\t\tthat.autocompleteSearch();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (e.keyCode != 38 && e.keyCode != 40){\n\t\t\t\t\tthat.hideAutocomplete();\n\t\t\t\t\tthat.resetAutocomplete();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (e.keyCode == 38 || e.keyCode == 40){\n\t\t\t\tthat.showAutocomplete();\n\t\t\t\tvar optionSelected = $('.autocomplete__list li.selected');\n\t\t\t\tvar optionTarget = optionSelected;\n\t\t\t\tif (typeof optionSelected.html() === 'undefined'){\n\t\t\t\t\tif (e.keyCode == 40){\n\t\t\t\t\t\toptionTarget = $('.search_autocomplete__col:not(.hidden):eq(0) .autocomplete__list:not(.hidden):eq(0) ul li:first-child');\n\t\t\t\t\t} else if (e.keyCode == 38){\n\t\t\t\t\t\toptionTarget = $('.search_autocomplete__col:not(.hidden)').eq($('.search_autocomplete__col:not(.hidden)').length-1).find('.autocomplete__list:not(.hidden)').eq($('.search_autocomplete__col:not(.hidden)').eq($('.search_autocomplete__col:not(.hidden)').length-1).find('.autocomplete__list:not(.hidden)').length-1).find('ul li:last-child');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (e.keyCode == 40){\n\t\t\t\t\t\toptionTarget = optionTarget.next();\n\t\t\t\t\t\tif (optionTarget.length == 0){\n\t\t\t\t\t\t\tvar optionList = optionSelected.closest('.autocomplete__list');\n\t\t\t\t\t\t\tvar newOptionList = optionList.next(':not(.hidden)');\n\t\t\t\t\t\t\tif (newOptionList.length == 0){\n\t\t\t\t\t\t\t\tvar optionCol = optionSelected.closest('.search_autocomplete__col');\n\t\t\t\t\t\t\t\tvar newOptionCol = optionCol.next(':not(.hidden)');\n\t\t\t\t\t\t\t\tif (newOptionCol.length == 0){\n\t\t\t\t\t\t\t\t\t// start\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\toptionTarget = newOptionCol.find('.autocomplete__list:not(.hidden) ul li:first-child');\n\t\t\t\t\t\t\t\t\tif (optionTarget.length == 0){\n\t\t\t\t\t\t\t\t\t\t// start\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\toptionTarget = newOptionList.find('ul li:first-child');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (e.keyCode == 38){\n\t\t\t\t\t\toptionTarget = optionTarget.prev();\n\t\t\t\t\t\tif (optionTarget.length == 0){\n\t\t\t\t\t\t\tvar optionList = optionSelected.closest('.autocomplete__list');\n\t\t\t\t\t\t\tvar newOptionList = optionList.prev(':not(.hidden)');\n\t\t\t\t\t\t\tif (newOptionList.length == 0){\n\t\t\t\t\t\t\t\tvar optionCol = optionSelected.closest('.search_autocomplete__col');\n\t\t\t\t\t\t\t\tvar newOptionCol = optionCol.prev(':not(.hidden)');\n\t\t\t\t\t\t\t\tif (newOptionCol.length == 0){\n\t\t\t\t\t\t\t\t\t// start\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\toptionTarget = newOptionCol.find('.autocomplete__list:not(.hidden):eq('+(newOptionCol.find('.autocomplete__list:not(.hidden)').length-1)+') ul li:last-child');\n\t\t\t\t\t\t\t\t\tif (optionTarget.length == 0){\n\t\t\t\t\t\t\t\t\t\t// start\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\toptionTarget = newOptionList.find('ul li:last-child');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\toptionSelected.removeClass('selected');\n\t\t\t\t}\n\t\t\t\toptionTarget.focus().addClass('selected');\n\t\t\t\tformField.val(optionTarget.find('a').text());\n\t\t\t}\n\t\t}, 50));\n\t\tthat.autocomplete.unbind().on({\n\t\t\tclickoutside:function(){\n\t\t\t\tif (that.vars.searchFocus !== true){\n\t\t\t\t\tthat.hideAutocomplete();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t$(document).keyup(function(e){\n\t\t\tif (e.keyCode == 27) {\n\t\t\t\tif (that.site.hasClass('site--search-autocomplete')){\n\t\t\t\t\tthat.hideAutocomplete();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t$(document).on({\n\t\t\tkeyup:function(e){\n\t\t\t\tif (e.keyCode == 27) {\n\t\t\t\t\tif (that.site.hasClass('site--search-autocomplete')){\n\t\t\t\t\t\tthat.hideAutocomplete();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tscroll:function(){\n\t\t\t\tthat.repositionAutocomplete();\n\t\t\t}\n\t\t});\n\n\t\t// submit autocomplete form\n\t\tthat.autocompleteSearchForm.unbind().on({\n\t\t\tsubmit:function(e){\n\t\t\t\te.preventDefault();\n \t\t\t\te.stopImmediatePropagation();\n\t\t\t\tthat.submitForm(false);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t},\n\tshowAutocomplete:function(){\n\t\tvar that = this;\n\t\tif (that.vars.autocompleteEnabled){\n\t\t\tthat.site.addClass('site--search-autocomplete');\n\t\t}\n\t},\n\thideAutocomplete:function(){\n\t\tvar that = this;\n\t\tthat.site.removeClass('site--search-autocomplete');\n\t},\n\tresetAutocomplete:function(){\n\t\tvar that = this;\n\t\tthat.vars.autocompleteEnabled = false;\n\t\tthat.autocomplete.removeAttr('style').find('.autocomplete__list ul, #autocomplete__query').empty();\n\t},\n\trepositionAutocomplete:function(){\n\t\tvar that = this;\n\t\tif (typeof that.autocomplete.html() !== 'undefined' && typeof that.autocompleteSearchForm.html() !== 'undefined'){\n\t\t\tthat.autocomplete.css({\n\t\t\t\tleft:that.autocompleteSearchForm.offset().left,\n\t\t\t\ttop:that.autocompleteSearchForm.offset().top+that.autocompleteSearchForm.outerHeight(),\n\t\t\t\twidth:that.autocompleteSearchForm.outerWidth()\n\t\t\t});\n\t\t}\n\t},\n\tresize:function(){\n\t\tvar that = this;\n\t\tthat.repositionAutocomplete();\n\t},\n\tsubmitForm:function(force){\n\t\tvar that = this;\n\t\tif (that.autocomplete.find('li.selected').length > 0){\n\t\t\twindow.location.href = that.autocomplete.find('li.selected a').attr('href');\n\t\t\tthat.vars.autocompleteEnabled = false;\n\t\t\tthat.vars.allowSearch = false;\n\t\t\tthat.hideAutocomplete();\n\t\t}\n\t\treturn false;\n\t},\n\tautocompleteSearch:function(){\n\t\tvar that = this;\n\t\t$.ajax({\n\t\t\ttype:'POST',\n\t\t\turl:$('meta[name=\"site-url\"]').attr('content')+'/dashboard/events/search/suggest',\n\t\t\tdata:that.autocompleteSearchForm.serialize(),\n\t\t\tsuccess:function(data){\n\t\t\t\tthat.vars.autocompleteEnabled = true;\n\n\t\t\t\t// pages\n\t\t\t\tvar resultListHtml = '';\n\t\t\t\tvar listObj = that.autocomplete.find('.autocomplete__list--pages');\n\t\t\t\tif (typeof data.hits_pages !== 'undefined'){\n\t\t\t\t\t$.each(data.hits_pages.hits, function(key, item){\n\t\t\t\t\t\tvar itemName = item._source.name;\n\t\t\t\t\t\tvar itemNameField = 'name';\n\t\t\t\t\t\tif (typeof item.highlight !== 'undefined'){\n\t\t\t\t\t\t\titemName = item.highlight[itemNameField];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresultListHtml += '
    • '+itemName+'';\n\t\t\t\t\t\tresultListHtml += '
    • ';\n\t\t\t\t\t});\n\t\t\t\t\tif (data.hits_pages.total.value == 0){\n\t\t\t\t\t\tresultListHtml += '
    • '+data.message_no_results+'
    • ';\n\t\t\t\t\t\tlistObj.addClass('hidden');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlistObj.removeClass('hidden');\n\t\t\t\t\t}\n\t\t\t\t\tlistObj.find('ul').html(resultListHtml);\n\t\t\t\t}\n\n\t\t\t\t// system pages\n\t\t\t\tvar resultListHtml = '';\n\t\t\t\tvar listObj = that.autocomplete.find('.autocomplete__list--system');\n\t\t\t\tif (typeof data.hits_system !== 'undefined'){\n\t\t\t\t\t$.each(data.hits_system.hits, function(key, item){\n\t\t\t\t\t\tvar itemName = item._source.name;\n\t\t\t\t\t\tvar itemNameField = 'name';\n\t\t\t\t\t\tif (typeof item.highlight !== 'undefined'){\n\t\t\t\t\t\t\titemName = item.highlight[itemNameField];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresultListHtml += '
    • '+itemName+'';\n\t\t\t\t\t\tresultListHtml += '
    • ';\n\t\t\t\t\t});\n\t\t\t\t\tif (data.hits_system.total.value == 0){\n\t\t\t\t\t\tresultListHtml += '
    • '+data.message_no_results+'
    • ';\n\t\t\t\t\t\tlistObj.addClass('hidden');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlistObj.removeClass('hidden');\n\t\t\t\t\t}\n\t\t\t\t\tlistObj.find('ul').html(resultListHtml);\n\t\t\t\t}\n\n\t\t\t\t// left side\n\t\t\t\tif (data.hits_pages.total.value == 0 && data.hits_system.total.value == 0){\n\t\t\t\t\tthat.autocompleteLeft.addClass('hidden');\n\t\t\t\t} else {\n\t\t\t\t\tthat.autocompleteLeft.removeClass('hidden');\n\t\t\t\t}\n\n\t\t\t\t// show autocomplete\n\t\t\t\tif (data.hits_pages.total.value == 0 && data.hits_system.total.value == 0){\n\t\t\t\t\tthat.hideAutocomplete();\n\t\t\t\t} else {\n\t\t\t\t\tthat.site.addClass('site--search-autocomplete');\n\t\t\t\t\tthat.autocomplete.css({\n\t\t\t\t\t\tleft:that.autocompleteSearchForm.offset().left,\n\t\t\t\t\t\ttop:that.autocompleteSearchForm.offset().top+that.autocompleteSearchForm.outerHeight(),\n\t\t\t\t\t\twidth:that.autocompleteSearchForm.outerWidth()\n\t\t\t\t\t});\n\t\t\t\t\tthat.site.append(that.autocomplete);\n\t\t\t\t}\n\n\t\t\t\t// reinit options addlistener\n\t\t\t\tthat.optionsAddListener();\n\t\t\t}\n\t\t});\n\t},\n\toptionsAddListener:function(){\n\t\tvar that = this;\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.search = new search;\nfunction ace(){}\nace.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\n\t\t// init ace\n\t\tif (typeof $('.ace_editor').html() !== 'undefined' && typeof ace !== 'undefined'){\n\t\t\tvar acePath = $('meta[name=\"site-url\"]').attr('content')+'/assets/vendor/ace';\n\t\t\t$.getScript(acePath+'/ace.js', function(data, textStatus, jqxhr){\n\t\t\t\tace.config.set('basePath', acePath);\n\t\t\t\t$('.ace_editor').each(function(index){\n\t\t\t\t\tvar aceEditorContainer = $(this);\n\t\t\t\t\tvar aceEditor = aceEditorContainer.find('.ace_editor__inner');\n\t\t\t\t\tvar textarea = aceEditor.next('textarea');\n\t\t\t\t\taceEditor.attr('id', 'ace-editor-'+index);\n\t\t\t\t\tif (typeof $('.ace_editor__inner[id=\"ace-editor-'+index+'\"]').html() !== 'undefined'){\n\t\t\t\t\t\tvar editor = ace.edit('ace-editor-'+index, {\n\t\t\t\t\t mode:'ace/mode/'+aceEditor.attr('data-mode'),\n\t\t\t\t\t minLines:10,\n\t\t\t\t\t maxLines:40,\n\t\t\t\t\t wrap:false,\n\t\t\t\t\t autoScrollEditorIntoView:true\n\t\t\t\t\t });\n\t\t\t\t\t editor.getSession().on('change', function(){\n\t\t\t\t\t \ttextarea.val(editor.getSession().getValue());\n\t\t\t\t\t });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\tresizeEditor:function(){\n\t\tvar that = this;\n\t\tif (typeof $('.ace_editor').html() !== 'undefined' && typeof ace !== 'undefined'){\n\t\t\t$('.ace_editor').each(function(index){\n\t\t\t\tvar aceEditorContainer = $(this);\n\t\t\t\tif (typeof $('.ace_editor__inner[id=\"ace-editor-'+index+'\"]').html() !== 'undefined'){\n\t\t\t\t\tvar editor = ace.edit('ace-editor-'+index);\n\t\t\t\t\teditor.resize(true);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\treinit:function(){\n\t\tvar that = this;\n\t\tthat.init();\n\t}\n};\napp.modules.ace = new ace;\nfunction media(){\n\tthis.folderContainer = $('#folder-tiles');\n}\nmedia.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\tfolderCreated:function(form, data){\n\t\tvar that = this;\n\t\tthat.folderContainer.prepend(data.html);\n\t\tform[0].reset();\n\t\tapp.modules.overlay.hideIfOpen();\n\t\tapp.modules.overlay.reinit();\n\t},\n\tfolderDeleted:function(button, data){\n\t\tvar that = this;\n\t\tthat.folderContainer.find('[data-id=\"'+data.id+'\"]').remove();\n\t\tapp.modules.overlay.hideIfOpen();\n\t},\n\tfolderUpdated:function(button, data){\n\t\tvar that = this;\n\t\tvar folderItem = that.folderContainer.find('[data-id=\"'+data.id+'\"]');\n\t\tfolderItem.find('.item__name').text(data.name);\n\t\tif (folderItem.attr('data-parent') != data.parent){\n\t\t\tfolderItem.remove();\n\t\t}\n\t\tapp.modules.overlay.hideIfOpen();\n\t}\n};\napp.modules.media = new media;\nfunction appSocialhub(){}\nappSocialhub.prototype = {\n\tinit:function(){\n\t\tvar that = this;\n\t\tthat.addListener();\n\t},\n\taddListener:function(){\n\t\tvar that = this;\n\t},\n\ttoggleStatus:function(button, data){\n\t\tvar that = this;\n\t\t$('.badge[data-status=\"'+data.id+'\"]').attr('class', data.badgeClass).html(data.badgeHtml);\n\t\t$('[data-toggle-button=\"'+data.id+'\"][data-toggle-button-type=\"toggle\"]').removeClass('hidden').html(data.button);\n\t\t$('[data-toggle-button=\"'+data.id+'\"][data-toggle-button-type=\"manually\"]').remove();\n\t\t$('[data-toggle-li=\"'+data.id+'\"][data-toggle-li-type=\"toggle\"]').removeClass('hidden').find('a').html(data.button);\n\t\t$('[data-toggle-li=\"'+data.id+'\"][data-toggle-li-type=\"manually\"]').remove();\n\t}\n};\napp.modules.appSocialhub = new appSocialhub;"]}