{"version":3,"sources":["framework7.js"],"names":["window","Framework7","params","createPageCallback","callbackName","capitalized","replace","match","toUpperCase","app","pageName","callback","onPage","handleInfiniteScroll","virtualList","inf","$","this","scrollTop","scrollHeight","height","offsetHeight","distance","getAttribute","virtualListContainer","find","onTop","hasClass","indexOf","parseInt","trigger","length","eq","f7VirtualList","reachEnd","updatableScroll","_fixIpadBodyScrolLeft","device","ipad","document","body","scrollLeft","setTimeout","version","root","cache","cacheIgnore","cacheIgnoreGetParameters","cacheDuration","preloadPreviousPage","uniqueHistory","uniqueHistoryIgnoreGetParameters","dynamicPageUrl","allowDuplicateUrls","router","routerRemoveTimeout","routerRemoveWithTimeout","pushState","pushStateRoot","undefined","pushStateNoAnimation","pushStateSeparator","pushStateOnLoad","fastClicks","fastClicksDistanceThreshold","fastClicksDelayBetweenClicks","fastClicksExclude","tapHold","tapHoldDelay","tapHoldPreventClicks","activeState","activeStateElements","animateNavBackIcon","swipeBackPage","swipeBackPageThreshold","swipeBackPageActiveArea","swipeBackPageAnimateShadow","swipeBackPageAnimateOpacity","ajaxLinks","externalLinks","sortable","hideNavbarOnPageScroll","hideToolbarOnPageScroll","hideTabbarOnPageScroll","showBarsOnPageScrollEnd","showBarsOnPageScrollTop","swipeout","swipeoutActionsNoFold","swipeoutNoFollow","swipeoutRemoveWithTimeout","smartSelectOpenIn","smartSelectBackText","smartSelectPopupCloseText","smartSelectPickerCloseText","smartSelectSearchbar","smartSelectBackOnSelect","scrollTopOnNavbarClick","scrollTopOnStatusbarClick","panelLeftBreakpoint","panelRightBreakpoint","swipePanel","swipePanelActiveArea","swipePanelCloseOpposite","swipePanelOnlyClose","swipePanelNoFollow","swipePanelThreshold","panelsCloseByOutside","modalButtonOk","modalButtonCancel","modalUsernamePlaceholder","modalPasswordPlaceholder","modalTitle","modalCloseByOutside","actionsCloseByOutside","popupCloseByOutside","modalPreloaderTitle","modalStack","modalsMoveToRoot","imagesLazyLoadThreshold","imagesLazyLoadSequential","viewClass","viewMainClass","viewsClass","notificationCloseOnClick","notificationCloseIcon","notificationCloseButtonText","animatePages","templates","template7Data","template7Pages","precompileTemplates","material","materialPageLoadDelay","materialPreloaderSvg","materialPreloaderHtml","materialRipple","materialRippleElements","init","param","Dom7","t7","Template7","_compiledTemplates","addClass","touchEvents","start","support","touch","move","end","ls","localStorage","rtl","css","attr","statusbarOverlay","removeClass","ios","cordova","phonegap","on","needsStatusBar","views","View","selector","i","defaults","dynamicNavbar","domCache","linksView","reloadPages","def","view","container","main","contentCache","contextCache","pagesCache","pageElementsCache","f7View","pagesContainer","initialPages","initialPagesUrl","initialNavbars","push","allowPageChange","docLocation","location","href","history","viewURL","split","currentPage","currentPageData","activePage","f7PageData","url","navbarInnerContainer","isScrolling","viewContainerWidth","touchesDiff","touchStartTime","activeNavElements","previousNavElements","activeNavBackIcon","previousNavBackIcon","pageShadow","el","isTouched","isMoved","touchesStart","previousPage","allowViewTouchMove","activeNavbar","previousNavbar","handleTouchStart","e","swipeoutOpenedEl","x","type","targetTouches","pageX","y","pageY","Date","getTime","handleTouchMove","Math","abs","f7PreventSwipeBack","preventSwipeBack","cancel","width","target","parents","is","notFromBorder","offset","left","android","append","closeModal","f7PreventPanelSwipe","preventDefault","inverter","percentage","callbackData","onSwipeBackMove","activePageTranslate","previousPageTranslate","pixelRatio","round","transform","style","opacity","className","activeNavTranslate","f7NavbarRightOffset","previousNavTranslate","f7NavbarLeftOffset","handleTouchEnd","boxShadow","timeDiff","pageChanged","each","translate","sliding","pageBackCallback","pageContainer","position","newPage","oldPage","swipeBack","pageAnimCallback","onSwipeBackBeforeChange","onSwipeBackBeforeReset","transitionEnd","back","afterBack","onSwipeBackAfterChange","onSwipeBackAfterReset","remove","attachEvents","detach","action","passiveListener","passive","capture","activeListener","detachEvents","name","mainView","load","options","loadPage","loadContent","content","reloadPage","reload","reloadContent","reloadPreviousPage","reloadPrevious","reloadPreviousContent","refreshPage","ignoreCache","refreshPreviousPage","hideNavbar","animated","showNavbar","hideToolbar","showToolbar","pushStateUrl","pushStateUrlSplit","pushStateAnimatePages","historyState","state","destroy","removeAttr","splice","prop","hasOwnProperty","pluginHook","addView","getCurrentView","index","popoverView","popupView","panelView","appViews","appView","children","currentViews","navbarInitCallback","navbarContainer","parent","f7NavbarInitialized","navbarData","innerContainer","pageData","eventData","page","navbar","reinitNavbar","initNavbar","navbarRemoveCallback","initSearchbar","initNavbarWithCallback","viewContainer","pages","sizeNavbars","navbarInner","n","currLeft","diff","right","center","subnavbar","noLeft","noRight","leftWidth","outerWidth","rightWidth","centerWidth","navbarStyles","styles","navbarWidth","offsetWidth","paddingLeft","paddingRight","onLeft","requiredLeft","activeNavbarBackLink","offsetLeft","centerLeft","toolbarContainer","toolbar","Searchbar","preventSubmit","input","clearButton","cancelButton","searchList","searchIn","searchBy","found","notFound","overlay","ignore","customSearch","removeDiacritics","hideDividers","hideGroups","s","active","isVirtualList","cancelMarginProp","cancelButtonHasMargin","setCancelButtonMargin","transition","show","clientLeft","triggerEvent","eventName","enable","_enable","query","disable","_disable","blur","val","clear","previousQuery","value","focus","handleInput","trim","search","internal","_vlQuery","foundItems","resetFilter","hide","searchAll","items","searchByItem","values","toLowerCase","compareWithText","itemText","text","join","wordsMatch","title","nextElements","nextAll","nextEl","group","notHidden","filterItems","method","f7Searchbar","searchbar","onBeforeRemove","sb","dataset","once","Messagebar","textarea","maxHeight","m","pageContent","pageContentPadding","initialBarHeight","initialAreaHeight","sizeTextarea","clientHeight","newAreaHeight","newBarHeight","maxBarHeight","onBottom","bottom","padding-bottom","textareaTimeout","handleTextarea","clearTimeout","f7Messagebar","messagebar","initPageMessagebar","pageBeforeRemove","mb","off","removeFromCache","xhr","get","_url","time","ajax","beforeSend","onAjaxStart","complete","status","responseText","onAjaxComplete","error","onAjaxError","pageCallbacks","pageNames","returnCallbacks","callbacks","removeIndex","toString","pageCallbacksNames","triggerPageCallbacks","allPagesCallbacks","j","pageInitCallback","f7PageInitialized","pageQuery","parseUrlQuery","from","context","fromPage","oldNavbarInnerContainer","reinitPage","onPageReinit","preloadOnly","onPageBeforeInit","initPage","onPageInit","pageRemoveCallback","pageContext","onPageBeforeRemove","onPageAfterBack","onPageBack","onPageAfterAnimation","tabBar","onPageBeforeAnimation","initPageMessages","initFormsStorage","initSmartSelects","initPageSwiper","initPullToRefresh","initPageInfiniteScroll","initPageScrollToolbars","initImagesLazyLoad","initPageProgressbar","initPageResizableTextarea","initPageMaterialPreloader","initPageMaterialInputs","initPageMaterialTabbar","reinitPageSwiper","reinitLazyLoad","initPageWithCallback","_remove","_modalsSelector","temporaryDom","createElement","findElement","notCached","filter","leftPage","rightPage","direction","removeClasses","prepareNavbar","newNavbarInner","oldNavbarInner","newNavbarPosition","slidingOffset","animateNavbars","leftNavbarInner","rightNavbarInner","rightText","preprocess","next","pluginProcess","preroute","isBack","template7Render","t7_ctx","t7_template","t7_rendered_content","contextName","template","template7Cache","compile","_ctx_path","_ctx","data","pageNameMatch","templateName","url_query","key","console","_load","afterAnimation","pushStateClearQueue","historyBecameUnique","pagesInView","reloadPosition","t7_rendered","isDynamicPage","pageElement","innerHTML","ci","prependTo","f7RelatedNavbar","f7RelatedPage","newPageName","viewIndex","lastUrl","_history","lastIndexOf","slice","prev","insertBefore","insertAfter","animationEnd","proceed","abort","_back","animateBack","parseNewPage","setPages","navbarInners","force","pageToRemove","navbarToRemove","removeNavbar","unshift","manipulateDom","prepend","newNavbar","previousURL","pop","inners","oldNavbar","pageUrl","preloadUrl","_modalTemplateTempDiv","modalStackClearQueue","shift","modal","modalHTML","modalTemplate","buttonsHTML","buttons","bold","titleHTML","textHTML","afterTextHTML","afterText","noButtons","verticalButtons","modalButtonsHTML","cssClass","close","onClick","openModal","alert","callbackOk","arguments","confirm","callbackCancel","prompt","modalLogin","username","password","modalPassword","showPreloader","hidePreloader","showIndicator","hideIndicator","actions","groupSelector","buttonSelector","toPopover","Array","isArray","actionsToPopoverTemplate","modalActionsToPopoverTemplate","actionsToPopover","popoverHTML","popover","modalActionsTemplate","button","buttonClass","label","color","bg","disabled","groups","groupIndex","clickTarget","buttonIndex","buttonParams","removeOnClose","sizePopover","top","modalAngle","modalAngleLeft","modalAngleTop","modalWidth","modalHeight","modalAngleSize","targetWidth","targetHeight","outerHeight","targetOffset","targetParentPage","windowHeight","windowWidth","modalTop","modalLeft","modalPosition","diffX","diffY","max","min","_modal","childNodes","classList","add","popup","pickerModal","loginScreen","isModal","isPopover","isPopup","isLoginScreen","isPickerModal","isActions","modalType","modalParent","removeData","marginTop","keepOnClose","setProgressbar","progress","speed","progressbar","showProgressbar","parseFloat","hideProgressbar","p","allowPanelOpen","openPanel","panelPosition","panelTransitionEnd","transitionEndTarget","panel","panelOverlay","display","closePanel","effect","activePanel","initPanelsBreakpoints","setPanels","ww","panelLeft","wasVisible","margin-left","panelRight","margin-right","initSwipePanels","nodeName","closest","side","opened","innerWidth","panelWidth","threshold","overlayOpacity","edge","loadImage","onLoad","src","imageIsLoading","imagesSequence","onError","placeholderSrc","image","Image","onload","onerror","lazyHandler","lazyLoadImages","isElementInViewport","rect","getBoundingClientRect","innerHeight","imagesLazyLoadPlaceholder","f7DestroyImagesLazyLoad","destroyImagesLazyLoad","reinitImagesLazyLoad","html","Messages","autoLayout","newMessagesFirst","scrollMessages","scrollMessagesOnlyOnEdge","messageTemplate","layout","message","onlyPic","nodeType","textContent","isSent","appendMessage","props","animate","addMessage","prependMessage","addMessages","newMessages","newMessagesHTML","hasImage","onlyImage","scrollHeightBefore","heightBefore","scrollBefore","onEdge","messages","messagesToReturn","removeMessage","removeMessages","clean","duration","newScroll","currentScroll","f7Messages","allowSwipeout","initSwipeout","swipeoutEl","swipeOutEl","swipeOutContent","actionsRight","actionsLeft","actionsLeftWidth","actionsRightWidth","buttonsLeft","buttonsRight","overswipeRightButton","overswipeLeftButton","noFoldLeft","noFoldRight","openedActions","buttonOffset","swipeoutClose","swipeoutOpen","overswipeLeft","overswipeRight","$button","pow","_buttonOffset","actionsWidth","newTranslate","click","closed","dir","swipeOutActions","swipeOutActionsWidth","call","onSwipeoutClose","closeTO","swipeoutDelete","virtualIndex","f7VirtualListIndex","deleteItem","sortableToggle","sortableContainer","toggleClass","sortableOpen","sortableClose","initSortable","touchStartY","sortingEl","startIndex","sortingItems","minTop","offsetTop","maxTop","sortingElHeight","currentEl","currentElOffset","currentElHeight","sortingElOffset","oldIndex","newIndex","moveItem","selects","smartSelect","$select","select","displayAs","valueText","selected","itemAfter","selectedText","smartSelectAddOption","option","selectName","smartSelectOpen","reLayout","scrollToInput","newPaddingBottom","paddingTop","paddingBottom","pageHeight","picker","pageScrollHeight","inputTop","closeOnHTMLClick","checkMaxLength","selectedOptions","maxLength","checked","handleInputs","virtualListInstance","smartSelectItemTemplate","virtualListHeight","item","openIn","backOnSelect","inputName","optionText","inputType","pageInit","detail","f7SmartSelectPicker","closeText","smartSelectData","pageTitle","backText","pickerCloseText","popupCloseText","formTheme","smartSelectFormTheme","navbarTheme","smartSelectNavbarTheme","toolbarTheme","smartSelectToolbarTheme","pickerHeight","smartSelectPickerHeight","$selectData","optionHasMedia","optionImage","optionIcon","optionGroup","optionGroupLabel","optionIsLabel","previousGroup","optionColor","optionClassName","optionData","id","multiple","optionClass","groupLabel","isLabel","icon","hasMedia","checkbox","smartSelectItem","inputsHTML","navbarHTML","navbarLayout","toolbarHTML","noNavbar","noToolbar","noTabbar","smartSelectToolbar","smartSelectToolbarTemplate","inPicker","smartSelectNavbar","smartSelectNavbarTemplate","inPopup","inPage","leftTemplate","smartSelectPopupCloseTemplate","smartSelectBackTemplate","searchbarPlaceholder","searchbarCancel","useSearchbar","searchbarHTML","pageHTML","VirtualList","listBlock","cols","dynamicHeightBufferSize","showFilteredItemsOnly","vl","filteredItems","renderItem","osVersion","ul","displayDomCache","tempDomElement","lastRepaintY","fragment","createDocumentFragment","indexes","resetScrollTop","update","rowsPerScreen","rowsBefore","rowsAfter","rowsToRender","listHeight","maxBufferHeight","dynamicHeight","setListSize","heights","itemHeight","ceil","render","forceScrollTop","fromIndex","toIndex","heightBeforeFirstItem","heightBeforeLastItem","itemTop","topPosition","currentFromIndex","currentToIndex","onItemBeforeInsert","appendChild","onBeforeClear","onItemsBeforeInsert","emptyTemplate","onItemsAfterInsert","scrollToItem","listTop","handleScroll","_isVisible","getClientRects","handleResize","appendItems","appendItem","replaceAllItems","replaceItem","prependItems","newCache","cached","prependItem","cachedIndex","leftIndex","rightIndex","indexShift","insertItemBefore","deleteItems","prevIndex","deletedItem","deleteAllItems","clearCache","reinitVirtualList","vlists","vlistInstance","os","pullStarted","wasScrolled","touchId","identifier","touches","dynamicTriggerDistance","triggerDistance","startTranslate","useTranslate","refresh","event","changedTouches","done","pullToRefreshDone","destroyPullToRefresh","eventsTarget","hasNavbar","f7DestroyPullToRefresh","pullToRefreshTrigger","pullToRefreshContent","attachInfiniteScroll","infiniteContent","detachInfiniteScroll","scrollContent","bottomBarHeight","navbarHidden","toolbarHidden","tabbarHidden","tabbar","previousScroll","hasToolbar","hasTabbar","hideTabbar","toolbarHeight","tabbarHeight","f7ScrollToolbarsHandler","destroyScrollToolbars","handler","materialTabbarSetHighlight","activeLink","tabLinkWidth","highlightTranslate","tabbarSetHighlight","initMaterialTabbar","showTab","tab","tabLink","newTab","tabs","isAnimatedTabs","tabTranslate","swiper","isSwipeableTabs","activeIndex","slideTo","oldTab","oldTabLink","oldTabId","accordionToggle","accordionClose","accordionOpen","list","expandedItem","initFastClicks","findActivableElement","activable","isInsideScrollableView","activeTimeout","rippleTimeout","addActive","activableElement","removeActive","isFormElement","nodes","androidNeedsBlur","noBlur","activeElement","targetNeedsFastClick","$el","targetNeedsFocus","tag","skipInputs","readOnly","targetNeedsPrevent","prevent","handleMouseDown","which","touchStartX","rippleTouchStart","handleMouseMove","rippleTouchMove","handleMouseUp","rippleTouchEnd","findRippleElement","needsRipple","rippleParent","createRipple","box","diameter","rippleWave","rippleTransform","removeRipple","toRemove","removeTimeout","rippleTarget","sendClick","evt","createEvent","eventType","targetElement","initMouseEvent","screenX","screenY","clientX","clientY","forwardedTouchEvent","dispatchEvent","tapHoldFired","tapHoldTimeout","needsFastClickTimeOut","needsFastClick","trackClick","selection","getSelection","rangeCount","focusNode","isCollapsed","activeSelection","scrollParent","f7ScrollTop","timeStamp","lastClickTime","_isMoved","cancelable","webView","handleTouchCancel","handleClick","allowClick","stopImmediatePropagation","stopPropagation","androidChrome","addEventListener","initClickEvents","handleScrollTop","clicked","isLink","handleClicks","open","clickedData","pickerToClose","pickerToOpen","isTabLink","confirmTitle","closeOnCancel","accordionItem","validUrl","JSON","parse","preventScrolling","initResize","resize","orientationchange","minimalUi","orientation","formsData","formStoreData","formId","formJSON","stringify","formDeleteData","removeItem","formGetData","formToData","form","formData","skipTypes","skipNames","formToJSON","formFromData","formFromJSON","storeForm","forms","contentType","FormData","serializeObject","success","resizeTextarea","resizableTextarea","f7DestroyResizableTextarea","destroyResizableTextarea","textareas","itemInput","notInputs","initMaterialWatchInputs","addFocusState","els","removeFocusState","watchChangeState","pushStateQueue","queue","stateUrl","stateContent","statePageName","initPushState","handlePopState","blockPopstate","readyState","Swiper","destroySwiperOnRemove","slider","destroySwiper","swipers","initialSlide","onSlideChangeStart","slides","_slider","sliders","sliderInstance","PhotoBrowser","pb","photos","spaceBetween","zoom","zoomMax","zoomMin","exposition","expositionHideCaptions","theme","swipeToClose","backLinkText","ofText","loop","lazyLoading","lazyLoadingInPrevNext","lazyLoadingOnTransitionStart","maxZoom","minZoom","iconsColorClass","iconsColor","preloaderColorClass","photoTemplate","photoLazyTemplate","lazyPhotoTemplate","objectTemplate","captionTemplate","navbarTemplate","toolbarTemplate","htmlTemplate","openIndex","onPopupClose","onOpen","swiperContainer","onClose","swiperWrapper","onSliderTransitionStart","current","total","loopedSlides","isBeginning","isEnd","captions","captionsContainer","captionIndex","previousSlideVideo","previousIndex","pause","onTransitionStart","onSliderTransitionEnd","onTransitionEnd","sliderSettings","nextButton","prevButton","indexButton","preloadImages","onTap","toggleExposition","onDoubleTap","onSlideChangeEnd","onLazyImageLoad","slide","img","onLazyImageReady","onTouchStart","swipeCloseTouchStart","onTouchMoveOpposite","swipeCloseTouchMove","onTouchEnd","swipeCloseTouchEnd","exposed","enableExposition","disableExposition","swipeToCloseDiff","swipeToCloseStart","swipeToCloseCurrent","swipeToCloseActiveSlide","swipeToCloseTimeStart","swipeToCloseIsTouched","allowSwipeToClose","swipeToCloseStarted","onSwipeToClose","photoBrowser","Autocomplete","handleInputValue","a","source","itemsHTML","limit","regExp","highlightMatches","RegExp","itemValue","valueProperty","textProperty","dropdownItemTemplate","dropdownPlaceholderText","dropdownPlaceholderTemplate","dropdown","handleDropdownClick","clickedItem","updateInputValueOnSelect","onChange","searchbarPlaceholderText","searchbarCancelText","openWithAnimation","autoFocus","notFoundText","requestSourceOnOpen","expandInput","preloaderColor","preloader","opener","itemTemplate","dropdownTemplate","positionDropDown","listBlockOffsetLeft","inputOffsetLeft","inputOffsetTop","onSource","aValue","updateValues","valuesHTML","onSearch","isValues","self","bind","initEvents","autocomplete","Picker","convertToPopover","onlyInPopover","inline","inPopover","resizeCols","divider","calcSize","setValue","openOnInput","onPickerClose","destroyPickerCol","updateValuesOnMomentum","updateValuesOnTouchmove","rotateEffect","momentumRatio","freeMode","closeByOutsideClick","inputReadOnly","toolbarCloseText","initialized","originBug","navigator","userAgent","arrValues","valueIndex","updateValue","forceValues","column","newValue","newDisplayValue","displayValues","displayValue","formatValue","initPickerCol","colElement","updateItems","updateDuringScroll","animationFrameId","requestAnimationFrame","col","touchCurrentY","allowItemClick","currentTranslate","getTranslate","wrapper","cancelAnimationFrame","returnTo","minTranslate","maxTranslate","velocityTranslate","prevTranslate","velocityTime","touchEndTime","velocity","floor","colContainer","colIndex","wrapperHeight","itemsHeight","replaceValues","destroyEvents","newItemsHTML","columnHTML","colWidth","colHeight","valueCallbacks","newActiveIndex","previousActiveIndex","selectedItem","itemOffsetTop","translateOffset","itemOffset","itemsFit","angle","f7DestroyPickerCol","onlyItems","columnItemsHTML","textAlign","pickerHTML","pickerClass","colsHTML","f7Picker","Calendar","formatDate","date","year","getFullYear","month","getMonth","month1","day","getDate","weekDay","getDay","dateFormat","substring","monthNames","monthNamesShort","dayNames","dayNamesShort","destroyCalendarEvents","firstDay","weekendDays","rangePicker","minDate","maxDate","events","rangesClasses","touchMove","closeOnSelect","monthPicker","monthPickerTemplate","yearPicker","yearPickerTemplate","weekHeader","headerPlaceholder","header","footer","headerTemplate","footerTemplate","isH","animating","addValue","inValuesIndex","sort","b","onlyHeader","inputValue","valueDate","initCalendarEvents","monthsTranslate","touchCurrentX","wrapperWidth","resetMonth","nextMonth","prevMonth","handleDayClick","dateYear","dateMonth","dateDay","onDayClick","UTC","prevYear","nextYear","f7DestroyCalendarEvents","dateInRange","dayDate","range","to","daysInMonth","d","monthHTML","daysInPrevMonth","firstDayOfMonthIndex","k","hasEvent","currentValues","rows","dayIndex","today","setHours","rowHTML","dayNumber","weekDayIndex","dayYear","dayMonth","updateCurrentMonthYear","currentMonth","months","currentYear","onMonthChangeStart","currentIndex","onMonthYearChangeStart","onMonthChangeEnd","rebuildBoth","nextMonthHTML","prevMonthHTML","newMonthHTML","setMonthsTranslate","onMonthAdd","onMonthYearChangeEnd","prevMonthTranslate","currentMonthTranslate","nextMonthTranslate","nextDate","nextDateTime","transitionEndCallback","prevDate","prevDateTime","setYearMonth","targetDate","currentDate","monthTranslate","wrapperTranslate","layoutDate","currentMonthHTML","monthsHTML","weekHeaderHTML","dayName","headerHTML","footerHTML","f7Calendar","calendar","_tempNotificationElement","addNotification","media","notificationMedia","notificationTitle","subtitle","notificationSubtitle","closeIcon","hold","notificationHold","closeOnClick","notificationTemplate","notification","closeNotification","additionalClass","marginBottom","initTemplate7Templates","_plugins","initPlugins","plugin","plugins","hook","hooks","pluginPrevent","prevents","process","processed","getDeviceInfo","onAppInit","arr","_this","tempParent","toCreate","querySelectorAll","getElementById","prototype","classes","contains","toggle","attrs","setAttribute","attrName","removeAttribute","propName","dom7ElementDataStorage","dataKey","attributes","toCamelCase","elStyle","webkitTransform","webkitTransitionDuration","transitionDuration","targetSelector","listener","handleLiveEvent","dom7LiveListeners","liveListener","removeEventListener","proxy","dom","CustomEvent","bubbles","initEvent","fireCallBack","includeMargins","getPropertyValue","clientTop","scrollY","scrollX","getComputedStyle","matchedItems","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","returnIndex","newChild","tempDiv","firstChild","appendTo","before","parentNode","cloneNode","after","nextSibling","nextElementSibling","nextEls","previousElementSibling","prevAll","prevEls","siblings","unique","foundElements","removeChild","toAdd","empty","createMethod","notTrigger","shortcuts","globalAjaxOptions","ajaxSetup","optionName","optionValue","_jsonpRequests","fireAjaxCallback","async","user","headers","xhrFields","statusCode","processData","dataType","timeout","globalOptionName","globalOptionValue","defaultValue","paramsPrefix","_method","stringData","abortTimeout","now","callbackSplit","requestUrl","addVars","script","scripterror","querySelector","XMLHttpRequest","requestParameters","postData","postDataInstances","ArrayBuffer","Blob","Document","constructor","boundary","setRequestHeader","_data","_newData","headerName","headerCallback","crossDomain","test","$2","host","fieldName","fieldValue","xhrTimeout","responseData","err","parseerror","responseType","response","onabort","send","methods","decodeURIComponent","obj","var_name","_parents","encodeURIComponent","var_value","resultArray","separator","newParents","toPush","string","group1","axis","matrix","curTransform","curStyle","transformMatrix","WebKitCSSMatrix","map","m41","m42","webkitRequestAnimationFrame","webkitCancelAnimationFrame","supportTouch","DocumentTouch","defaultDiacriticsRemovalap","base","letters","diacriticsMap","str","fn","scrollTo","easing","startTime","easeProgress","cos","PI","animateTop","currentTop","newTop","animateLeft","currentLeft","newLeft","maxLeft","scrollWidth","Animate7","elements","easingProgress","stop","frameId","animate7Instance","que","began","begin","_elements","currentValue","initialValue","finalValue","_container","unit","propsDone","Object","keys","elementsDone","initialFullValue","finalFullValue","foundInstance","supportsPassive","opts","defineProperty","ua","windows","ipod","iphone","osVersionArr","screen","statusBar","classNames","devicePixelRatio","major","apply","isFunction","func","_escape","escape","helperToSlices","shiftIndex","helperParts","slices","blockQuoteRegExp","openingQuote","part","quoteDoubleRexExp","quoteSingleRexExp","hashParts","hashName","hashContent","hash","stringToBlocks","blocks","_blocks","block","helperSlices","helperName","isPartial","helperContext","helperHash","helperContent","elseContent","toSkip","foundClosed","foundElse","depth","inverseContent","getCompileFn","getCompileInverse","getCompileVar","ctx","variable","parts","levelsUp","newDepth","isFinite","getCompiledArguments","contextArray","t","Error","resultString","compiledArguments","helpers","eval","compiled","partials","_partial","partialName","if","inverse","unless","ret","reverse","first","last","with","delimiter","delimeter","js","expression","js_compare","condition","instance","rendered","registerHelper","unregisterHelper","registerPartial","unregisterPartial","autoplay","autoplayDelay","activeSlide","autoplayTimeoutId","fixLoop","_slideNext","emit","autoplayStopOnLast","stopAutoplay","_slideTo","findElementInEvent","_el","initObserver","ObserverFunc","MutationObserver","WebkitMutationObserver","observer","mutations","forEach","mutation","onResize","observe","childList","characterData","observers","setParallaxTransform","pX","pY","rtlFactor","isHorizontal","normalizeEventName","touchEventsTarget","autoplayDisableOnInteraction","iOSEdgeSwipeDetection","iOSEdgeSwipeThreshold","freeModeMomentum","freeModeMomentumRatio","freeModeMomentumBounce","freeModeMomentumBounceRatio","freeModeMomentumVelocityRatio","freeModeSticky","freeModeMinimumVelocity","autoHeight","setWrapperSize","virtualTranslate","coverflow","rotate","stretch","modifier","slideShadows","flip","limitRotation","cube","shadow","shadowOffset","shadowScale","fade","crossFade","parallax","zoomToggle","scrollbar","scrollbarHide","scrollbarDraggable","scrollbarSnapOnRelease","keyboardControl","mousewheelControl","mousewheelReleaseOnEdges","mousewheelInvert","mousewheelForceToAxis","mousewheelSensitivity","mousewheelEventsTarged","hashnav","hashnavWatchState","replaceState","breakpoints","slidesPerView","slidesPerColumn","slidesPerColumnFill","slidesPerGroup","centeredSlides","slidesOffsetBefore","slidesOffsetAfter","roundLengths","touchRatio","touchAngle","simulateTouch","shortSwipes","longSwipes","longSwipesRatio","longSwipesMs","followFinger","onlyExternal","touchMoveStopPropagation","touchReleaseOnEdges","uniqueNavElements","pagination","paginationElement","paginationClickable","paginationHide","paginationBulletRender","paginationProgressRender","paginationFractionRender","paginationCustomRender","paginationType","resistance","resistanceRatio","watchSlidesProgress","watchSlidesVisibility","grabCursor","preventClicks","preventClicksPropagation","slideToClickedSlide","lazyLoadingInPrevNextAmount","updateOnImagesReady","loopAdditionalSlides","control","controlInverse","controlBy","normalizeSlideIndex","allowSwipeToPrev","allowSwipeToNext","swipeHandler","noSwiping","noSwipingClass","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","bulletClass","bulletActiveClass","buttonDisabledClass","paginationCurrentClass","paginationTotalClass","paginationHiddenClass","paginationProgressbarClass","paginationClickableClass","paginationModifierClass","lazyLoadingClass","lazyStatusLoadingClass","lazyStatusLoadedClass","lazyPreloaderClass","notificationClass","preloaderClass","zoomContainerClass","observeParents","a11y","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","runCallbacksOnInit","initialVirtualTranslate","originalParams","jQuery","deepParam","deepDef","Zepto","currentBreakpoint","getActiveBreakpoint","point","breakpoint","points","setBreakpoint","breakPointsParams","needsReLoop","destroyLoop","reLoop","flexbox","transforms3d","paginationContainer","wrongRTL","lockSwipeToNext","unsetGrabCursor","lockSwipeToPrev","lockSwipes","unlockSwipeToNext","setGrabCursor","unlockSwipeToPrev","unlockSwipes","moving","cursor","imagesToLoad","imagesLoaded","imgElement","srcset","sizes","checkForComplete","onReady","_onReady","currentSrc","autoplaying","autoplayPaused","startAutoplay","pauseAutoplay","snapGrid","updateAutoHeight","activeSlides","newHeight","updateContainerSize","clientWidth","size","updateSlidesSize","slidesGrid","slidesSizesGrid","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","slidesNumberEvenToRows","slideSize","slidesPerRow","numFullColumns","newSlideOrderIndex","row","-webkit-box-ordinal-group","-moz-box-ordinal-group","-ms-flex-order","-webkit-order","order","swiperSlideSize","newSlidesGrid","updateSlidesOffset","swiperSlideOffset","currentSlidesPerView","spv","breakLoop","updateSlidesProgress","offsetCenter","slideProgress","slideBefore","slideAfter","isVisible","updateProgress","translatesDiff","wasBeginning","wasEnd","updateActiveIndex","snapIndex","updateClasses","updateRealIndex","realIndex","nextSlide","prevSlide","bullets","scale","scaleX","scaleY","updatePagination","paginationHTML","numberOfBullets","initPagination","updateTranslate","forceSetTranslate","setWrapperTranslate","set","translated","controller","spline","forceUpdatePagination","onBeforeResize","slideChangedBySlideTo","lazy","onAfterResize","touchEventsDesktop","pointerEnabled","msPointerEnabled","actionDom","moveCapture","nested","browser","ie","onTouchMove","onClickNext","onEnterKey","onClickPrev","onClickIndex","slideNext","slidePrev","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToIndex","allowTouchCallbacks","allowThresholdMove","clickTimeout","allowMomentumBounce","formElements","velocities","startX","startY","currentX","currentY","isTouchEvent","startMoving","originalEvent","swipeDirection","preventedByNestedSwiper","atan2","getWrapperTranslate","setWrapperTransition","disableParentSwiper","currentPos","lastMoveEvent","velocityEvent","momentumDuration","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","slideReset","stopIndex","groupSize","ratio","slideIndex","runCallbacks","lteIE9","setHistory","setHash","_slidePrev","disableTouchControl","enableTouchControl","byController","effects","setTransition","z","setTranslate","MozTransform","OTransform","MsTransform","msTransform","initObservers","containerParents","disconnectObservers","disconnect","createLoop","prependSlides","appendSlides","updatePosition","appendSlide","prependSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","tx","ty","slideOpacity","eventTriggered","triggerEvents","rotateY","rotateX","zIndex","shadowBefore","shadowAfter","cubeShadow","wrapperRotate","slideAngle","tz","-webkit-transform-origin","-moz-transform-origin","-ms-transform-origin","transform-origin","shadowAngle","multiplier","sin","scale1","scale2","zFactor","isSafari","isUiWebView","slideOffset","offsetMultiplier","translateZ","translateY","translateX","slideTransform","ws","perspectiveOrigin","initialImageLoaded","loadImageInSlide","loadInDuplicate","_img","background","slideOriginalIndex","originalSlide","duplicatedSlide","amount","maxIndex","minIndex","setDragPosition","pointerPosition","track","dragSize","positionMin","moveDivider","positionMax","dragStart","dragTimeout","drag","dragMove","returnValue","dragEnd","draggableEvents","enableDraggable","disableDraggable","trackSize","newPos","newSize","LinearSpline","binarySearch","guess","array","lastIndex","i1","i3","interpolate","x2","getInterpolateFunction","c","setControlledTranslate","controlledTranslate","controlled","setControlledTransition","parallaxDuration","currentScale","isScaling","gesture","slideWidth","slideHeight","imageWrap","minX","minY","maxX","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","getDistanceBetweenTouches","x1","y1","y2","sqrt","onGestureStart","gestures","scaleStart","onGestureChange","scaleMove","onGestureEnd","scaledWidth","scaledHeight","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","toggleZoom","touchX","touchY","offsetX","offsetY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","callPlugins","emitterEventListeners","_handler","makeFocusable","addRole","role","addLabel","keyCode","notify","liveRegion","bullet","enableKeyboardControl","enableMousewheelControl","hashnavReplaceState","cleanupStyles","deleteInstance","disableKeyboardControl","disableMousewheelControl","setHistoryPopState","ieTouch","msMaxTouchPoints","maxTouchPoints","div","getElementsByTagName","Modernizr","csstransforms3d"],"mappings":"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","file":"framework7.min.js","sourcesContent":["/**\n * Framework7 1.5.4\n * Full featured mobile HTML framework for building iOS & Android apps\n * \n * http://framework7.io/\n * \n * Copyright 2017, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n * \n * Licensed under MIT\n * \n * Released on: March 13, 2017\n */\n(function () {\n\n 'use strict';\n /*===========================\n Framework 7\n ===========================*/\n window.Framework7 = function (params) {\n // App\n var app = this;\n \n // Version\n app.version = '1.5.4';\n \n // Default Parameters\n app.params = {\n //\n root: 'body',\n //\n cache: true,\n cacheIgnore: [],\n cacheIgnoreGetParameters: false,\n cacheDuration: 1000 * 60 * 10, // Ten minutes\n preloadPreviousPage: true,\n uniqueHistory: false,\n uniqueHistoryIgnoreGetParameters: false,\n dynamicPageUrl: 'content-{{index}}',\n allowDuplicateUrls: false,\n router: true,\n routerRemoveTimeout: false,\n routerRemoveWithTimeout: false,\n // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateNoAnimation: false,\n pushStateSeparator: '#!/',\n pushStateOnLoad: true,\n // Fast clicks\n fastClicks: true,\n fastClicksDistanceThreshold: 10,\n fastClicksDelayBetweenClicks: 50,\n fastClicksExclude: '', // CSS selector\n // Tap Hold\n tapHold: false,\n tapHoldDelay: 750,\n tapHoldPreventClicks: true,\n // Active State\n activeState: true,\n activeStateElements: 'a, button, label, span',\n // Animate Nav Back Icon\n animateNavBackIcon: false,\n // Swipe Back\n swipeBackPage: true,\n swipeBackPageThreshold: 0,\n swipeBackPageActiveArea: 30,\n swipeBackPageAnimateShadow: true,\n swipeBackPageAnimateOpacity: true,\n // Ajax\n ajaxLinks: undefined, // or CSS selector\n // External Links\n externalLinks: '.external', // CSS selector\n // Sortable\n sortable: true,\n // Scroll toolbars\n hideNavbarOnPageScroll: false,\n hideToolbarOnPageScroll: false,\n hideTabbarOnPageScroll: false,\n showBarsOnPageScrollEnd: true,\n showBarsOnPageScrollTop: true,\n // Swipeout\n swipeout: true,\n swipeoutActionsNoFold: false,\n swipeoutNoFollow: false,\n swipeoutRemoveWithTimeout: false,\n // Smart Select Back link template\n smartSelectOpenIn: 'page', // or 'popup' or 'picker'\n smartSelectBackText: 'Back',\n smartSelectPopupCloseText: 'Close',\n smartSelectPickerCloseText: 'Done',\n smartSelectSearchbar: false,\n smartSelectBackOnSelect: false,\n // Tap Navbar or Statusbar to scroll to top\n scrollTopOnNavbarClick: false,\n scrollTopOnStatusbarClick: false,\n // Panels\n panelLeftBreakpoint: null,\n panelRightBreakpoint: null,\n swipePanel: false, // or 'left' or 'right'\n swipePanelActiveArea: 0,\n swipePanelCloseOpposite: true,\n swipePanelOnlyClose: false,\n swipePanelNoFollow: false,\n swipePanelThreshold: 0,\n panelsCloseByOutside: true,\n // Modals\n modalButtonOk: 'OK',\n modalButtonCancel: 'Cancel',\n modalUsernamePlaceholder: 'Username',\n modalPasswordPlaceholder: 'Password',\n modalTitle: 'Framework7',\n modalCloseByOutside: false,\n actionsCloseByOutside: true,\n popupCloseByOutside: true,\n modalPreloaderTitle: 'Loading... ',\n modalStack: true,\n modalsMoveToRoot: true,\n // Lazy Load\n imagesLazyLoadThreshold: 0,\n imagesLazyLoadSequential: true,\n // Name space\n viewClass: 'view',\n viewMainClass: 'view-main',\n viewsClass: 'views',\n // Notifications defaults\n notificationCloseOnClick: false,\n notificationCloseIcon: true,\n notificationCloseButtonText: 'Close',\n // Animate Pages\n animatePages: true,\n // Template7\n templates: {},\n template7Data: {},\n template7Pages: false,\n precompileTemplates: false,\n // Material\n material: false,\n materialPageLoadDelay: 0,\n materialPreloaderSvg: '',\n materialPreloaderHtml:\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '',\n materialRipple: true,\n materialRippleElements: '.ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a',\n // Auto init\n init: true,\n };\n \n // Extend defaults with parameters\n for (var param in params) {\n app.params[param] = params[param];\n }\n \n // DOM lib\n var $ = Dom7;\n \n // Template7 lib\n var t7 = Template7;\n app._compiledTemplates = {};\n \n // App Root\n app.root = $(app.params.root);\n app.root.eq(0).addClass('framework7-root');\n \n // Touch events\n app.touchEvents = {\n start: app.support.touch ? 'touchstart' : 'mousedown',\n move: app.support.touch ? 'touchmove' : 'mousemove',\n end: app.support.touch ? 'touchend' : 'mouseup'\n };\n \n // Link to local storage\n app.ls = window.localStorage;\n \n // RTL\n app.rtl = $('body').css('direction') === 'rtl';\n if (app.rtl) $('html').attr('dir', 'rtl');\n \n // Overwrite statusbar overlay\n if (typeof app.params.statusbarOverlay !== 'undefined') {\n if (app.params.statusbarOverlay) $('html').addClass('with-statusbar-overlay');\n else $('html').removeClass('with-statusbar-overlay');\n }\n else if (app.device.ios && (window.cordova || window.phonegap)) {\n $(document).on('resume', function () {\n if (app.device.needsStatusBar()) {\n $('html').addClass('with-statusbar-overlay');\n }\n }, false);\n }\n \n\n /*======================================================\n ************ Views ************\n ======================================================*/\n app.views = [];\n var View = function (selector, params) {\n var defaults = {\n dynamicNavbar: false,\n domCache: false,\n linksView: undefined,\n reloadPages: false,\n uniqueHistory: app.params.uniqueHistory,\n uniqueHistoryIgnoreGetParameters: app.params.uniqueHistoryIgnoreGetParameters,\n allowDuplicateUrls: app.params.allowDuplicateUrls,\n swipeBackPage: app.params.swipeBackPage,\n swipeBackPageAnimateShadow: app.params.swipeBackPageAnimateShadow,\n swipeBackPageAnimateOpacity: app.params.swipeBackPageAnimateOpacity,\n swipeBackPageActiveArea: app.params.swipeBackPageActiveArea,\n swipeBackPageThreshold: app.params.swipeBackPageThreshold,\n animatePages: app.params.animatePages,\n preloadPreviousPage: app.params.preloadPreviousPage\n };\n var i;\n \n // Params\n params = params || {};\n \n // Disable dynamic navbar for material theme\n if (params.dynamicNavbar && app.params.material) params.dynamicNavbar = false;\n \n // Extend params with defaults\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n // View\n var view = this;\n view.params = params;\n \n // Selector\n view.selector = selector;\n \n // Container\n var container = $(selector);\n view.container = container[0];\n \n // Fix Selector\n \n if (typeof selector !== 'string') {\n // Supposed to be HTMLElement or Dom7\n selector = (container.attr('id') ? '#' + container.attr('id') : '') + (container.attr('class') ? '.' + container.attr('class').replace(/ /g, '.').replace('.active', '') : '');\n view.selector = selector;\n }\n \n // Is main\n view.main = container.hasClass(app.params.viewMainClass);\n \n // Content cache\n view.contentCache = {};\n \n // Context cache\n view.contextCache = {};\n \n // Pages cache\n view.pagesCache = {};\n view.pageElementsCache = {};\n \n // Store View in element for easy access\n container[0].f7View = view;\n \n // Pages\n view.pagesContainer = container.find('.pages')[0];\n view.initialPages = [];\n view.initialPagesUrl = [];\n view.initialNavbars = [];\n if (view.params.domCache) {\n var initialPages = container.find('.page');\n for (i = 0; i < initialPages.length; i++) {\n view.initialPages.push(initialPages[i]);\n view.initialPagesUrl.push('#' + initialPages.eq(i).attr('data-page'));\n }\n if (view.params.dynamicNavbar) {\n var initialNavbars = container.find('.navbar-inner');\n for (i = 0; i < initialNavbars.length; i++) {\n view.initialNavbars.push(initialNavbars[i]);\n }\n }\n \n }\n \n view.allowPageChange = true;\n \n // Location\n var docLocation = document.location.href;\n \n // History\n view.history = [];\n var viewURL = docLocation;\n var pushStateSeparator = app.params.pushStateSeparator;\n var pushStateRoot = app.params.pushStateRoot;\n if (app.params.pushState && view.main) {\n if (pushStateRoot) {\n viewURL = pushStateRoot;\n }\n else {\n if (pushStateSeparator && viewURL.indexOf(pushStateSeparator) >= 0 && viewURL.indexOf(pushStateSeparator + '#') < 0) viewURL = viewURL.split(pushStateSeparator)[0];\n }\n \n }\n \n // Active Page\n var currentPage, currentPageData;\n if (!view.activePage) {\n currentPage = $(view.pagesContainer).find('.page-on-center');\n if (currentPage.length === 0) {\n currentPage = $(view.pagesContainer).find('.page:not(.cached)');\n currentPage = currentPage.eq(currentPage.length - 1);\n }\n if (currentPage.length > 0) {\n currentPageData = currentPage[0].f7PageData;\n }\n }\n \n // View startup URL\n if (view.params.domCache && currentPage) {\n view.url = container.attr('data-url') || view.params.url || '#' + currentPage.attr('data-page'); \n view.pagesCache[view.url] = currentPage.attr('data-page');\n }\n else view.url = container.attr('data-url') || view.params.url || viewURL;\n \n // Update current page Data\n if (currentPageData) {\n currentPageData.view = view;\n currentPageData.url = view.url;\n if (view.params.domCache && view.params.dynamicNavbar && !currentPageData.navbarInnerContainer) {\n currentPageData.navbarInnerContainer = view.initialNavbars[view.initialPages.indexOf(currentPageData.container)];\n }\n view.activePage = currentPageData;\n currentPage[0].f7PageData = currentPageData;\n }\n \n // Store to history main view's url\n if (view.url) {\n view.history.push(view.url);\n }\n \n // Touch events\n var isTouched = false,\n isMoved = false,\n touchesStart = {},\n isScrolling,\n activePage = [],\n previousPage = [],\n viewContainerWidth,\n touchesDiff,\n allowViewTouchMove = true,\n touchStartTime,\n activeNavbar = [],\n previousNavbar = [],\n activeNavElements,\n previousNavElements,\n activeNavBackIcon,\n previousNavBackIcon,\n dynamicNavbar,\n pageShadow,\n el;\n \n view.handleTouchStart = function (e) {\n if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl || !view.allowPageChange) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n dynamicNavbar = view.params.dynamicNavbar && container.find('.navbar-inner').length > 1;\n };\n \n view.handleTouchMove = function (e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n if (!isMoved) {\n var cancel = false;\n // Calc values during first move fired\n viewContainerWidth = container.width();\n var target = $(e.target);\n var swipeout = target.hasClass('swipeout') ? target : target.parents('.swipeout');\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n activePage = target.is('.page') ? target : target.parents('.page');\n if (activePage.hasClass('no-swipeback')) cancel = true;\n previousPage = container.find('.page-on-left:not(.cached)');\n var notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n if (app.rtl) {\n notFromBorder = touchesStart.x < container.offset().left - container[0].scrollLeft + viewContainerWidth - view.params.swipeBackPageActiveArea;\n }\n else {\n notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n }\n if (notFromBorder) cancel = true;\n if (previousPage.length === 0 || activePage.length === 0) cancel = true;\n if (cancel) {\n isTouched = false;\n return;\n }\n \n if (view.params.swipeBackPageAnimateShadow && !app.device.android) {\n pageShadow = activePage.find('.swipeback-page-shadow');\n if (pageShadow.length === 0) {\n pageShadow = $('
');\n activePage.append(pageShadow);\n }\n }\n \n if (dynamicNavbar) {\n activeNavbar = container.find('.navbar-on-center:not(.cached)');\n previousNavbar = container.find('.navbar-on-left:not(.cached)');\n activeNavElements = activeNavbar.find('.left, .center, .right, .subnavbar, .fading');\n previousNavElements = previousNavbar.find('.left, .center, .right, .subnavbar, .fading');\n if (app.params.animateNavBackIcon) {\n activeNavBackIcon = activeNavbar.find('.left.sliding .back .icon');\n previousNavBackIcon = previousNavbar.find('.left.sliding .back .icon');\n }\n }\n \n // Close/Hide Any Picker\n if ($('.picker-modal.modal-in').length > 0) {\n app.closeModal($('.picker-modal.modal-in'));\n }\n }\n e.f7PreventPanelSwipe = true;\n isMoved = true;\n e.preventDefault();\n \n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n // Touches diff\n touchesDiff = (pageX - touchesStart.x - view.params.swipeBackPageThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n var percentage = touchesDiff / viewContainerWidth;\n \n // Swipe Back Callback\n var callbackData = {\n percentage: percentage,\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (view.params.onSwipeBackMove) {\n view.params.onSwipeBackMove(callbackData);\n }\n container.trigger('swipeBackMove swipeback:move', callbackData);\n \n // Transform pages\n var activePageTranslate = touchesDiff * inverter;\n var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n if (app.device.pixelRatio === 1) {\n activePageTranslate = Math.round(activePageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n \n activePage.transform('translate3d(' + activePageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateShadow && !app.device.android) pageShadow[0].style.opacity = 1 - 1 * percentage;\n \n previousPage.transform('translate3d(' + previousPageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateOpacity) previousPage[0].style.opacity = 0.9 + 0.1 * percentage;\n \n // Dynamic Navbars Animation\n if (dynamicNavbar) {\n var i;\n for (i = 0; i < activeNavElements.length; i++) {\n el = $(activeNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = (1 - percentage * 1.3);\n if (el[0].className.indexOf('sliding') >= 0) {\n var activeNavTranslate = percentage * el[0].f7NavbarRightOffset;\n if (app.device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n el.transform('translate3d(' + activeNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && activeNavBackIcon.length > 0) {\n activeNavBackIcon.transform('translate3d(' + -activeNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n for (i = 0; i < previousNavElements.length; i++) {\n el = $(previousNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = percentage * 1.3 - 0.3;\n if (el[0].className.indexOf('sliding') >= 0) {\n var previousNavTranslate = el[0].f7NavbarLeftOffset * (1 - percentage);\n if (app.device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n el.transform('translate3d(' + previousNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && previousNavBackIcon.length > 0) {\n previousNavBackIcon.transform('translate3d(' + -previousNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n }\n };\n \n view.handleTouchEnd = function (e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n if (touchesDiff === 0) {\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''});\n if (dynamicNavbar) {\n activeNavElements.transform('').css({opacity: ''});\n previousNavElements.transform('').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.transform('');\n if (previousNavBackIcon && activeNavBackIcon.length > 0) previousNavBackIcon.transform('');\n }\n return;\n }\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var pageChanged = false;\n // Swipe back to previous page\n if (\n timeDiff < 300 && touchesDiff > 10 ||\n timeDiff >= 300 && touchesDiff > viewContainerWidth / 2\n ) {\n activePage.removeClass('page-on-center').addClass('page-on-right');\n previousPage.removeClass('page-on-left').addClass('page-on-center');\n if (dynamicNavbar) {\n activeNavbar.removeClass('navbar-on-center').addClass('navbar-on-right');\n previousNavbar.removeClass('navbar-on-left').addClass('navbar-on-center');\n }\n pageChanged = true;\n }\n // Reset custom styles\n // Add transitioning class for transition-duration\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}).addClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.css({opacity: ''})\n .each(function () {\n var translate = pageChanged ? this.f7NavbarRightOffset : 0;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && activeNavBackIcon.length > 0) {\n activeNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n \n }).addClass('page-transitioning');\n \n previousNavElements.transform('').css({opacity: ''}).each(function () {\n var translate = pageChanged ? 0 : this.f7NavbarLeftOffset;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && previousNavBackIcon.length > 0) {\n previousNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n }).addClass('page-transitioning');\n }\n allowViewTouchMove = false;\n view.allowPageChange = false;\n // Swipe Back Callback\n var callbackData = {\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (pageChanged) {\n // Update View's URL\n var url = view.history[view.history.length - 2];\n view.url = url;\n \n // Page before animation callback\n app.pageBackCallback('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n \n if (view.params.onSwipeBackBeforeChange) {\n view.params.onSwipeBackBeforeChange(callbackData);\n }\n container.trigger('swipeBackBeforeChange swipeback:beforechange', callbackData);\n }\n else {\n if (view.params.onSwipeBackBeforeReset) {\n view.params.onSwipeBackBeforeReset(callbackData);\n }\n container.trigger('swipeBackBeforeReset swipeback:beforereset', callbackData);\n }\n \n activePage.transitionEnd(function () {\n $([activePage[0], previousPage[0]]).removeClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.removeClass('page-transitioning').css({opacity: ''});\n previousNavElements.removeClass('page-transitioning').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.removeClass('page-transitioning');\n if (previousNavBackIcon && previousNavBackIcon.length > 0) previousNavBackIcon.removeClass('page-transitioning');\n }\n allowViewTouchMove = true;\n view.allowPageChange = true;\n if (pageChanged) {\n if (app.params.pushState && view.main) history.back();\n // Page after animation callback\n app.pageBackCallback('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.router.afterBack(view, activePage, previousPage);\n \n if (view.params.onSwipeBackAfterChange) {\n view.params.onSwipeBackAfterChange(callbackData);\n }\n container.trigger('swipeBackAfterChange swipeback:afterchange', callbackData);\n }\n else {\n if (view.params.onSwipeBackAfterReset) {\n view.params.onSwipeBackAfterReset(callbackData);\n }\n container.trigger('swipeBackAfterReset swipeback:afterreset', callbackData);\n }\n if (pageShadow && pageShadow.length > 0) pageShadow.remove();\n });\n };\n view.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n var activeListener = app.support.passiveListener ? {passive: false, capture: false} : false;\n container[action](app.touchEvents.start, view.handleTouchStart, passiveListener);\n container[action](app.touchEvents.move, view.handleTouchMove, activeListener);\n container[action](app.touchEvents.end, view.handleTouchEnd, passiveListener);\n };\n view.detachEvents = function () {\n view.attachEvents(true);\n };\n \n // Init\n if (view.params.swipeBackPage && !app.params.material) {\n view.attachEvents();\n }\n \n // Check view name to delete unwanted characters\n if (view.params.name) view.params.name = view.params.name.replace(/[^a-zA-Z]/g, '');\n \n // Add view to app\n app.views.push(view);\n if (view.main) {\n app.mainView = view;\n app.views.main = view;\n }\n else if(view.params.name) {\n app[view.params.name + 'View'] = view;\n app.views[view.params.name] = view;\n }\n \n // Router\n view.router = {\n load: function (options) {\n return app.router.load(view, options);\n },\n back: function (options) {\n return app.router.back(view, options);\n },\n // Shortcuts\n loadPage: function (options) {\n options = options || {};\n if (typeof options === 'string') {\n var url = options;\n options = {};\n if (url && url.indexOf('#') === 0 && view.params.domCache) {\n options.pageName = url.split('#')[1];\n }\n else options.url = url;\n }\n return app.router.load(view, options);\n },\n loadContent: function (content) {\n return app.router.load(view, {content: content});\n },\n reloadPage: function (url) {\n return app.router.load(view, {url: url, reload: true});\n },\n reloadContent: function (content) {\n return app.router.load(view, {content: content, reload: true});\n },\n reloadPreviousPage: function (url) {\n return app.router.load(view, {url: url, reloadPrevious: true, reload: true});\n },\n reloadPreviousContent: function (content) {\n return app.router.load(view, {content: content, reloadPrevious: true, reload: true});\n },\n refreshPage: function () {\n var options = {\n url: view.url,\n reload: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0) {\n if (view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n else if (view.contentCache[options.url]) {\n options.content = view.contentCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n }\n return app.router.load(view, options);\n },\n refreshPreviousPage: function () {\n var options = {\n url: view.history[view.history.length - 2],\n reload: true,\n reloadPrevious: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0 && view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n return app.router.load(view, options);\n }\n };\n \n // Aliases for temporary backward compatibility\n view.loadPage = view.router.loadPage;\n view.loadContent = view.router.loadContent;\n view.reloadPage = view.router.reloadPage;\n view.reloadContent = view.router.reloadContent;\n view.reloadPreviousPage = view.router.reloadPreviousPage;\n view.reloadPreviousContent = view.router.reloadPreviousContent;\n view.refreshPage = view.router.refreshPage;\n view.refreshPreviousPage = view.router.refreshPreviousPage;\n view.back = view.router.back;\n \n // Bars methods\n view.hideNavbar = function (animated) {\n return app.hideNavbar(container.find('.navbar'), animated);\n };\n view.showNavbar = function (animated) {\n return app.showNavbar(container.find('.navbar'), animated);\n };\n view.hideToolbar = function (animated) {\n return app.hideToolbar(container.find('.toolbar'), animated);\n };\n view.showToolbar = function (animated) {\n return app.showToolbar(container.find('.toolbar'), animated);\n };\n \n // Push State on load\n if (app.params.pushState && app.params.pushStateOnLoad && view.main) {\n var pushStateUrl;\n var pushStateUrlSplit = docLocation.split(pushStateSeparator)[1];\n if (pushStateRoot) {\n pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1];\n }\n else if (pushStateSeparator && docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) {\n pushStateUrl = pushStateUrlSplit;\n }\n var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined;\n var historyState = history.state;\n if (pushStateUrl) {\n if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && view.initialPagesUrl.indexOf(pushStateUrl) >= 0) {\n app.router.load(view, {pageName: pushStateUrl.replace('#',''), animatePages: pushStateAnimatePages, pushState: false});\n }\n else app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (view.params.domCache && docLocation.indexOf(pushStateSeparator + '#') >= 0) {\n if (historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateSeparator && pushStateUrlSplit.indexOf('#') === 0) {\n if (view.initialPagesUrl.indexOf(pushStateUrlSplit)) {\n app.router.load(view, {pageName: pushStateUrlSplit.replace('#', ''), animatePages: pushStateAnimatePages, pushState: false});\n }\n }\n }\n }\n \n // Destroy\n view.destroy = function () {\n view.detachEvents();\n if (view.main) {\n app.mainView = null;\n delete app.mainView;\n app.views.main = null;\n delete app.views.main;\n }\n else if(view.params.name) {\n app[view.params.name + 'View'] = null;\n delete app[view.params.name + 'View'];\n app.views[view.params.name] = null;\n delete app.views[view.params.name];\n }\n container.removeAttr('data-page');\n container[0].f7View = null;\n delete container[0].f7View;\n \n app.views.splice(app.views.indexOf(view), 1);\n \n // Delete props & methods\n for (var prop in view) {\n if (view.hasOwnProperty(prop)) {\n view[prop] = null;\n delete view[prop];\n }\n }\n view = null;\n };\n \n // Plugin hook\n app.pluginHook('addView', view);\n \n // Return view\n return view;\n };\n \n app.addView = function (selector, params) {\n return new View(selector, params);\n };\n \n app.getCurrentView = function (index) {\n var popoverView = $('.popover.modal-in .view');\n var popupView = $('.popup.modal-in .view');\n var panelView = $('.panel.active .view');\n var appViews = $('.views');\n // Find active view as tab\n var appView = appViews.children('.view');\n // Propably in tabs or split view\n if (appView.length > 1) {\n if (appView.hasClass('tab')) {\n // Tabs\n appView = appViews.children('.view.active');\n }\n else {\n // Split View, leave appView intact\n }\n }\n if (popoverView.length > 0 && popoverView[0].f7View) return popoverView[0].f7View;\n if (popupView.length > 0 && popupView[0].f7View) return popupView[0].f7View;\n if (panelView.length > 0 && panelView[0].f7View) return panelView[0].f7View;\n if (appView.length > 0) {\n if (appView.length === 1 && appView[0].f7View) return appView[0].f7View;\n if (appView.length > 1) {\n var currentViews = [];\n for (var i = 0; i < appView.length; i++) {\n if (appView[i].f7View) currentViews.push(appView[i].f7View);\n }\n if (currentViews.length > 0 && typeof index !== 'undefined') return currentViews[index];\n if (currentViews.length > 1) return currentViews;\n if (currentViews.length === 1) return currentViews[0];\n return undefined;\n }\n }\n return undefined;\n };\n \n\n /*======================================================\n ************ Navbars && Toolbars ************\n ======================================================*/\n // On Navbar Init Callback\n app.navbarInitCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n if (!navbarInnerContainer || navbarInnerContainer.f7NavbarInitialized && view && !view.params.domCache) return;\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData = pageContainer && pageContainer.f7PageData;\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n \n if (navbarInnerContainer.f7NavbarInitialized && ((view && view.params.domCache) || (!view && $(navbarContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Navbar\n app.reinitNavbar(navbarContainer, navbarInnerContainer);\n \n // Plugin hook\n app.pluginHook('navbarReinit', eventData);\n \n // Event\n $(navbarInnerContainer).trigger('navbarReinit navbar:reinit', eventData);\n return;\n }\n navbarInnerContainer.f7NavbarInitialized = true;\n // Before Init\n app.pluginHook('navbarBeforeInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeInit navbar:beforeinit', eventData);\n \n // Initialize Navbar\n app.initNavbar(navbarContainer, navbarInnerContainer);\n \n // On init\n app.pluginHook('navbarInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarInit navbar:init', eventData);\n };\n // Navbar Remove Callback\n app.navbarRemoveCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData;\n if (pageContainer) {\n pageData = pageContainer.f7PageData;\n }\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n app.pluginHook('navbarBeforeRemove', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeRemove navbar:beforeremove', eventData);\n navbarData = null;\n pageData = null;\n };\n app.initNavbar = function (navbarContainer, navbarInnerContainer) {\n // Init Subnavbar Searchbar\n if (app.initSearchbar) app.initSearchbar(navbarInnerContainer);\n };\n app.reinitNavbar = function (navbarContainer, navbarInnerContainer) {\n // Re init navbar methods\n };\n app.initNavbarWithCallback = function (navbarContainer) {\n navbarContainer = $(navbarContainer);\n var viewContainer = navbarContainer.parents('.' + app.params.viewClass);\n var view;\n if (viewContainer.length === 0) return;\n if (navbarContainer.parents('.navbar-through').length === 0 && viewContainer.find('.navbar-through').length === 0) return;\n view = viewContainer[0].f7View || undefined;\n \n navbarContainer.find('.navbar-inner').each(function () {\n var navbarInnerContainer = this;\n var pageContainer;\n if ($(navbarInnerContainer).attr('data-page')) {\n // For dom cache\n pageContainer = viewContainer.find('.page[data-page=\"' + $(navbarInnerContainer).attr('data-page') + '\"]')[0];\n }\n if (!pageContainer) {\n var pages = viewContainer.find('.page');\n if (pages.length === 1) {\n pageContainer = pages[0];\n }\n else {\n viewContainer.find('.page').each(function () {\n if (this.f7PageData && this.f7PageData.navbarInnerContainer === navbarInnerContainer) {\n pageContainer = this;\n }\n });\n }\n }\n app.navbarInitCallback(view, pageContainer, navbarContainer[0], navbarInnerContainer);\n });\n };\n \n // Size Navbars\n app.sizeNavbars = function (viewContainer) {\n if (app.params.material) return;\n var navbarInner = viewContainer ? $(viewContainer).find('.navbar .navbar-inner:not(.cached)') : $('.navbar .navbar-inner:not(.cached)');\n navbarInner.each(function () {\n var n = $(this);\n if (n.hasClass('cached')) return;\n var left = app.rtl ? n.find('.right') : n.find('.left'),\n right = app.rtl ? n.find('.left') : n.find('.right'),\n center = n.find('.center'),\n subnavbar = n.find('.subnavbar'),\n noLeft = left.length === 0,\n noRight = right.length === 0,\n leftWidth = noLeft ? 0 : left.outerWidth(true),\n rightWidth = noRight ? 0 : right.outerWidth(true),\n centerWidth = center.outerWidth(true),\n navbarStyles = n.styles(),\n navbarWidth = n[0].offsetWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10),\n onLeft = n.hasClass('navbar-on-left'),\n currLeft, diff;\n \n if (noRight) {\n currLeft = navbarWidth - centerWidth;\n }\n if (noLeft) {\n currLeft = 0;\n }\n if (!noLeft && !noRight) {\n currLeft = (navbarWidth - rightWidth - centerWidth + leftWidth) / 2;\n }\n var requiredLeft = (navbarWidth - centerWidth) / 2;\n if (navbarWidth - leftWidth - rightWidth > centerWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n if (requiredLeft + centerWidth > navbarWidth - rightWidth) {\n requiredLeft = navbarWidth - rightWidth - centerWidth;\n }\n diff = requiredLeft - currLeft;\n }\n else {\n diff = 0;\n }\n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n if (center.hasClass('sliding')) {\n center[0].f7NavbarLeftOffset = -(currLeft + diff) * inverter;\n center[0].f7NavbarRightOffset = (navbarWidth - currLeft - diff - centerWidth) * inverter;\n if (onLeft) {\n if (app.params.animateNavBackIcon) {\n var activeNavbarBackLink = n.parent().find('.navbar-on-center').find('.left.sliding .back .icon ~ span');\n if (activeNavbarBackLink.length > 0) {\n center[0].f7NavbarLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n }\n if (!noLeft && left.hasClass('sliding')) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = -(navbarWidth - left[0].offsetWidth) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n }\n else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarWidth - left[0].offsetWidth) / 2;\n if (app.params.animateNavBackIcon && left.find('.back .icon').length > 0) {\n left[0].f7NavbarRightOffset -= left.find('.back .icon')[0].offsetWidth;\n }\n }\n if (onLeft) left.transform('translate3d(' + left[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (!noRight && right.hasClass('sliding')) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = (navbarWidth - right[0].offsetWidth) / 2 * inverter;\n }\n else {\n right[0].f7NavbarLeftOffset = -(navbarWidth - right[0].offsetWidth) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (subnavbar.length && subnavbar.hasClass('sliding')) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;\n }\n \n // Center left\n var centerLeft = diff;\n if (app.rtl && noLeft && noRight && center.length > 0) centerLeft = -centerLeft;\n center.css({left: centerLeft + 'px'});\n \n });\n };\n \n // Hide/Show Navbars/Toolbars\n app.hideNavbar = function (navbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n $(navbarContainer).addClass('navbar-hidden' + (!animated ? (' not-animated') : ''));\n return true;\n };\n app.showNavbar = function (navbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n var navbar = $(navbarContainer);\n if (animated) {\n navbar.removeClass('not-animated');\n navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () {\n navbar.removeClass('navbar-hiding');\n });\n }\n else {\n navbar.removeClass('navbar-hidden navbar-hiding not-animated');\n }\n return true;\n };\n app.hideToolbar = function (toolbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n $(toolbarContainer).addClass('toolbar-hidden' + (!animated ? (' not-animated') : ''));\n return true;\n };\n app.showToolbar = function (toolbarContainer, animated) {\n if (typeof animated === 'undefined') animated = true;\n var toolbar = $(toolbarContainer);\n if (animated) {\n toolbar.removeClass('not-animated');\n toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () {\n toolbar.removeClass('toolbar-hiding' + (!animated ? (' not-animated') : ''));\n });\n }\n else {\n toolbar.removeClass('toolbar-hidden toolbar-hiding not-animated');\n }\n \n };\n \n\n /*======================================================\n ************ Searchbar ************\n ======================================================*/\n var Searchbar = function (container, params) {\n var defaults = {\n input: null,\n clearButton: null,\n cancelButton: null,\n searchList: null,\n searchIn: '.item-title',\n searchBy: '',\n found: null,\n notFound: null,\n overlay: null,\n ignore: '.searchbar-ignore',\n customSearch: false,\n removeDiacritics: false,\n hideDividers: true,\n hideGroups: true,\n /* Callbacks\n onSearch\n onEnable\n onDisable\n onClear\n */\n \n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null && defaults.hasOwnProperty(def)) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var s = this;\n \n // Material\n s.material = app.params.material;\n \n // Params\n s.params = params;\n \n // Container\n container = $(container);\n s.container = container;\n \n // Active\n s.active = false;\n \n // Input\n s.input = s.params.input ? $(s.params.input) : s.container.find('input[type=\"search\"]');\n s.clearButton = s.params.clearButton ? $(s.params.clearButton) : s.container.find('.searchbar-clear');\n s.cancelButton = s.params.cancelButton ? $(s.params.cancelButton) : s.container.find('.searchbar-cancel');\n \n // Search List\n s.searchList = $(s.params.searchList);\n \n // Is Virtual List\n s.isVirtualList = s.searchList.hasClass('virtual-list');\n \n // Is In Page\n s.pageContainer = s.container.parents('.page').eq(0);\n \n // Overlay\n if (!s.params.overlay) {\n s.overlay = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay');\n }\n else {\n s.overlay = $(s.params.overlay);\n }\n // Found and not found\n if (!s.params.found) {\n s.found = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-found') : $('.searchbar-found');\n }\n else {\n s.found = $(s.params.found);\n }\n if (!s.params.notFound) {\n s.notFound = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-not-found') : $('.searchbar-not-found');\n }\n else {\n s.notFound = $(s.params.notFound);\n }\n \n // Set Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n var cancelButtonHasMargin = false;\n s.setCancelButtonMargin = function () {\n s.cancelButton.transition(0).show();\n s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n var clientLeft = s.cancelButton[0].clientLeft;\n s.cancelButton.transition('');\n cancelButtonHasMargin = true;\n };\n \n // Trigger\n s.triggerEvent = function (eventName, callbackName, eventData) {\n s.container.trigger(eventName, eventData);\n if (s.searchList.length > 0) s.searchList.trigger(eventName, eventData);\n if (callbackName && s.params[callbackName]) s.params[callbackName](s, eventData);\n };\n \n // Enable/disalbe\n s.enable = function (e) {\n function _enable() {\n if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active') && !s.query) s.overlay.addClass('searchbar-overlay-active');\n s.container.addClass('searchbar-active');\n if (s.cancelButton.length > 0 && !s.material) {\n if (!cancelButtonHasMargin) {\n s.setCancelButtonMargin();\n }\n s.cancelButton.css(cancelMarginProp, '0px');\n }\n s.triggerEvent('enableSearch searchbar:enable', 'onEnable');\n s.active = true;\n }\n if (app.device.ios && !app.params.material && e && e.type === 'focus') {\n setTimeout(function () {\n _enable();\n }, 400);\n }\n else {\n _enable();\n }\n };\n \n s.disable = function () {\n s.input.val('').trigger('change');\n s.container.removeClass('searchbar-active searchbar-not-empty');\n if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n \n if (s.searchList.length || s.params.customSearch) s.overlay.removeClass('searchbar-overlay-active');\n \n s.active = false;\n function _disable() {\n s.input.blur();\n }\n if (app.device.ios) {\n setTimeout(function () {\n _disable();\n }, 400);\n }\n else {\n _disable();\n }\n s.triggerEvent('disableSearch searchbar:disable', 'onDisable');\n };\n \n // Clear\n s.clear = function (e) {\n if (!s.query && e && $(e.target).hasClass('searchbar-clear')) {\n s.disable();\n return;\n }\n var previousQuery = s.value;\n s.input.val('').trigger('change').focus();\n s.triggerEvent('clearSearch searchbar:clear', 'onClear', {previousQuery: previousQuery});\n };\n \n // Search\n s.handleInput = function () {\n setTimeout(function () {\n var value = s.input.val().trim();\n if ((s.searchList.length > 0 || s.params.customSearch) && (s.params.searchIn || s.isVirtualList)) s.search(value, true);\n }, 0);\n };\n \n var previousQuery = '';\n var virtualList;\n s.search = function (query, internal) {\n if (query.trim() === previousQuery) return;\n previousQuery = query.trim();\n \n if (!internal) {\n if (!s.active) {\n s.enable();\n }\n s.input.val(query);\n }\n s.query = s.value = query;\n // Add active/inactive classes on overlay\n if (query.length === 0) {\n s.container.removeClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active');\n }\n else {\n s.container.addClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.removeClass('searchbar-overlay-active');\n }\n \n if (s.params.customSearch) {\n s.triggerEvent('search searchbar:search', 'onSearch', {query: query});\n return;\n }\n \n var foundItems = [], _vlQuery;\n if (s.isVirtualList) {\n virtualList = s.searchList[0].f7VirtualList;\n if (query.trim() === '') {\n virtualList.resetFilter();\n s.notFound.hide();\n s.found.show();\n return;\n }\n _vlQuery = s.params.removeDiacritics ? $.removeDiacritics(query) : query;\n if (virtualList.params.searchAll) {\n foundItems = virtualList.params.searchAll(_vlQuery, virtualList.items) || [];\n }\n else if (virtualList.params.searchByItem) {\n for (var i = 0; i < virtualList.items.length; i++) {\n if(virtualList.params.searchByItem(_vlQuery, i, virtualList.params.items[i])) {\n foundItems.push(i);\n }\n }\n }\n }\n else {\n var values;\n if (s.params.removeDiacritics) values = $.removeDiacritics(query.trim().toLowerCase()).split(' ');\n else {\n values = query.trim().toLowerCase().split(' ');\n }\n s.searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) {\n el = $(el);\n var compareWithText = [];\n el.find(s.params.searchIn).each(function () {\n var itemText = $(this).text().trim().toLowerCase();\n if (s.params.removeDiacritics) itemText = $.removeDiacritics(itemText);\n compareWithText.push(itemText);\n });\n compareWithText = compareWithText.join(' ');\n var wordsMatch = 0;\n for (var i = 0; i < values.length; i++) {\n if (compareWithText.indexOf(values[i]) >= 0) wordsMatch++;\n }\n if (wordsMatch !== values.length && !(s.params.ignore && el.is(s.params.ignore))) {\n el.addClass('hidden-by-searchbar');\n }\n else {\n foundItems.push(el[0]);\n }\n });\n \n if (s.params.hideDividers) {\n s.searchList.find('.item-divider, .list-group-title').each(function () {\n var title = $(this);\n var nextElements = title.nextAll('li');\n var hide = true;\n for (var i = 0; i < nextElements.length; i++) {\n var nextEl = $(nextElements[i]);\n if (nextEl.hasClass('list-group-title') || nextEl.hasClass('item-divider')) break;\n if (!nextEl.hasClass('hidden-by-searchbar')) {\n hide = false;\n }\n }\n var ignore = s.params.ignore && title.is(s.params.ignore);\n if (hide && !ignore) title.addClass('hidden-by-searchbar');\n else title.removeClass('hidden-by-searchbar');\n });\n }\n if (s.params.hideGroups) {\n s.searchList.find('.list-group').each(function () {\n var group = $(this);\n var ignore = s.params.ignore && group.is(s.params.ignore);\n var notHidden = group.find('li:not(.hidden-by-searchbar)');\n if (notHidden.length === 0 && !ignore) {\n group.addClass('hidden-by-searchbar');\n }\n else {\n group.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n s.triggerEvent('search searchbar:search', 'onSearch', {query: query, foundItems: foundItems});\n if (foundItems.length === 0) {\n s.notFound.show();\n s.found.hide();\n }\n else {\n s.notFound.hide();\n s.found.show();\n }\n if (s.isVirtualList) {\n virtualList.filterItems(foundItems);\n }\n };\n \n // Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n s.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n s.container[method]('submit', preventSubmit);\n if (!s.material) s.cancelButton[method]('click', s.disable);\n s.overlay[method]('click', s.disable);\n s.input[method]('focus', s.enable);\n s.input[method]('change keydown keypress keyup', s.handleInput);\n s.clearButton[method]('click', s.clear);\n \n };\n s.detachEvents = function() {\n s.attachEvents(true);\n };\n \n // Init Destroy\n s.init = function () {\n s.attachEvents();\n };\n s.destroy = function () {\n if (!s) return;\n s.detachEvents();\n s = null;\n };\n \n // Init\n s.init();\n \n s.container[0].f7Searchbar = s;\n return s;\n \n };\n app.searchbar = function (container, params) {\n return new Searchbar(container, params);\n };\n app.initSearchbar = function (container) {\n container = $(container);\n var searchbar = container.hasClass('searchbar') ? container : container.find('.searchbar');\n if (searchbar.length === 0) return;\n if (!searchbar.hasClass('searchbar-init')) return;\n \n var sb = app.searchbar(searchbar, searchbar.dataset());\n \n function onBeforeRemove() {\n if (sb) sb.destroy();\n }\n if (container.hasClass('page')) {\n container.once('pageBeforeRemove', onBeforeRemove); \n }\n else if (container.hasClass('navbar-inner')) {\n container.once('navbarBeforeRemove', onBeforeRemove);\n }\n };\n\n /*======================================================\n ************ Messagebar ************\n ======================================================*/\n var Messagebar = function (container, params) {\n var defaults = {\n textarea: null,\n maxHeight: null,\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Textarea\n m.textarea = m.params.textarea ? $(m.params.textarea) : m.container.find('textarea');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Initial Sizes\n m.pageContentPadding = parseInt(m.pageContent.css('padding-bottom'));\n m.initialBarHeight = m.container[0].offsetHeight;\n m.initialAreaHeight = m.textarea[0].offsetHeight;\n \n \n // Resize textarea\n m.sizeTextarea = function () {\n // Reset\n m.textarea.css({'height': ''});\n \n var height = m.textarea[0].offsetHeight;\n var diff = height - m.textarea[0].clientHeight;\n var scrollHeight = m.textarea[0].scrollHeight;\n \n // Update\n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n var newBarHeight = m.initialBarHeight + (newAreaHeight - m.initialAreaHeight);\n var maxBarHeight = m.params.maxHeight || m.container.parents('.view')[0].offsetHeight - 88;\n if (newBarHeight > maxBarHeight) {\n newBarHeight = parseInt(maxBarHeight, 10);\n newAreaHeight = newBarHeight - m.initialBarHeight + m.initialAreaHeight;\n }\n m.textarea.css('height', newAreaHeight + 'px');\n m.container.css('height', newBarHeight + 'px');\n var onBottom = (m.pageContent[0].scrollTop === m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n if (m.pageContent.length > 0) {\n m.pageContent.css('padding-bottom', newBarHeight + 'px');\n if (m.pageContent.find('.messages-new-first').length === 0 && onBottom) {\n m.pageContent.scrollTop(m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n }\n }\n }\n else {\n if (m.pageContent.length > 0) {\n m.container.css({'height': '', 'bottom': ''});\n m.pageContent.css({'padding-bottom': ''});\n }\n }\n };\n \n // Clear\n m.clear = function () {\n m.textarea.val('').trigger('change');\n };\n m.value = function (value) {\n if (typeof value === 'undefined') return m.textarea.val();\n else m.textarea.val(value).trigger('change'); \n };\n \n // Handle textarea\n m.textareaTimeout = undefined;\n m.handleTextarea = function (e) {\n clearTimeout(m.textareaTimeout);\n m.textareaTimeout = setTimeout(function () {\n m.sizeTextarea();\n }, 0);\n };\n \n //Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n m.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n m.container[method]('submit', preventSubmit);\n m.textarea[method]('change keydown keypress keyup paste cut', m.handleTextarea);\n };\n m.detachEvents = function () {\n m.attachEvents(true);\n };\n \n // Init Destroy\n m.init = function () {\n m.attachEvents();\n };\n m.destroy = function () {\n m.detachEvents();\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messagebar = m;\n return m;\n };\n app.messagebar = function (container, params) {\n return new Messagebar(container, params);\n };\n app.initPageMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n if (!messagebar.hasClass('messagebar-init')) return;\n var mb = app.messagebar(messagebar, messagebar.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n mb.destroy();\n pageContainer.off('page:beforeremove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('page:beforeremove', pageBeforeRemove);\n }\n };\n\n /*======================================================\n ************ XHR ************\n ======================================================*/\n // XHR Caching\n app.cache = [];\n app.removeFromCache = function (url) {\n var index = false;\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === url) index = i;\n }\n if (index !== false) app.cache.splice(index, 1);\n };\n \n // XHR\n app.xhr = false;\n app.get = function (url, view, ignoreCache, callback) {\n // should we ignore get params or not\n var _url = url;\n if (app.params.cacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n _url = url.split('?')[0];\n }\n if (app.params.cache && !ignoreCache && url.indexOf('nocache') < 0 && app.params.cacheIgnore.indexOf(_url) < 0) {\n // Check is the url cached\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === _url) {\n // Check expiration\n if ((new Date()).getTime() - app.cache[i].time < app.params.cacheDuration) {\n // Load from cache\n callback(app.cache[i].content);\n return false;\n }\n }\n }\n }\n \n app.xhr = $.ajax({\n url: url,\n method: 'GET',\n beforeSend: app.params.onAjaxStart,\n complete: function (xhr) {\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n if (app.params.cache) {\n app.removeFromCache(_url);\n app.cache.push({\n url: _url,\n time: (new Date()).getTime(),\n content: xhr.responseText\n });\n }\n callback(xhr.responseText, false);\n }\n else {\n callback(xhr.responseText, true);\n }\n if (app.params.onAjaxComplete) app.params.onAjaxComplete(xhr);\n },\n error: function (xhr) {\n callback(xhr.responseText, true);\n if (app.params.onAjaxError) app.params.onAjaxError(xhr);\n }\n });\n if (view) view.xhr = app.xhr;\n \n return app.xhr;\n };\n \n\n /*======================================================\n ************ Pages ************\n ======================================================*/\n // Page Callbacks API\n app.pageCallbacks = {};\n \n app.onPage = function (callbackName, pageName, callback) {\n if (pageName && pageName.split(' ').length > 1) {\n var pageNames = pageName.split(' ');\n var returnCallbacks = [];\n for (var i = 0; i < pageNames.length; i++) {\n returnCallbacks.push(app.onPage(callbackName, pageNames[i], callback));\n }\n returnCallbacks.remove = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].remove();\n }\n };\n returnCallbacks.trigger = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].trigger();\n }\n };\n return returnCallbacks;\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks) {\n callbacks = app.pageCallbacks[callbackName][pageName] = [];\n }\n app.pageCallbacks[callbackName][pageName].push(callback);\n return {\n remove: function () {\n var removeIndex;\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i].toString() === callback.toString()) {\n removeIndex = i;\n }\n }\n if (typeof removeIndex !== 'undefined') callbacks.splice(removeIndex, 1);\n },\n trigger: callback\n };\n };\n \n //Create callbacks methods dynamically\n function createPageCallback(callbackName) {\n var capitalized = callbackName.replace(/^./, function (match) {\n return match.toUpperCase();\n });\n app['onPage' + capitalized] = function (pageName, callback) {\n return app.onPage(callbackName, pageName, callback);\n };\n }\n \n var pageCallbacksNames = ('beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove').split(' ');\n for (var i = 0; i < pageCallbacksNames.length; i++) {\n app.pageCallbacks[pageCallbacksNames[i]] = {};\n createPageCallback(pageCallbacksNames[i]);\n }\n \n app.triggerPageCallbacks = function (callbackName, pageName, pageData) {\n var allPagesCallbacks = app.pageCallbacks[callbackName]['*'];\n if (allPagesCallbacks) {\n for (var j = 0; j < allPagesCallbacks.length; j++) {\n allPagesCallbacks[j](pageData);\n }\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks || callbacks.length === 0) return;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](pageData);\n }\n };\n \n // On Page Init Callback\n app.pageInitCallback = function (view, params) {\n var pageContainer = params.pageContainer;\n if (!pageContainer) return;\n if (pageContainer.f7PageInitialized && view && !view.params.domCache) return;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: params.context,\n navbarInnerContainer: params.navbarInnerContainer,\n fromPage: params.fromPage\n };\n if (params.fromPage && !params.fromPage.navbarInnerContainer && params.oldNavbarInnerContainer) {\n params.fromPage.navbarInnerContainer = params.oldNavbarInnerContainer;\n }\n \n if (pageContainer.f7PageInitialized && ((view && view.params.domCache) || (!view && $(pageContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Page\n app.reinitPage(pageContainer);\n \n // Callbacks\n app.pluginHook('pageReinit', pageData);\n if (app.params.onPageReinit) app.params.onPageReinit(app, pageData);\n app.triggerPageCallbacks('reinit', pageData.name, pageData);\n $(pageData.container).trigger('pageReinit page:reinit', {page: pageData});\n return;\n }\n pageContainer.f7PageInitialized = true;\n \n // Store pagedata in page\n pageContainer.f7PageData = pageData;\n \n // Update View's activePage\n if (view && !params.preloadOnly && !params.reloadPrevious) {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n // Update View active page data\n view.activePage = pageData;\n }\n \n // Before Init Callbacks\n app.pluginHook('pageBeforeInit', pageData);\n if (app.params.onPageBeforeInit) app.params.onPageBeforeInit(app, pageData);\n app.triggerPageCallbacks('beforeInit', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeInit page:beforeinit', {page: pageData});\n \n // Init page\n app.initPage(pageContainer);\n \n // Init Callback\n app.pluginHook('pageInit', pageData);\n if (app.params.onPageInit) app.params.onPageInit(app, pageData);\n app.triggerPageCallbacks('init', pageData.name, pageData);\n $(pageData.container).trigger('pageInit page:init', {page: pageData});\n };\n app.pageRemoveCallback = function (view, pageContainer, position) {\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n // Page Data\n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n view: view,\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n from: position,\n context: pageContext\n };\n // Before Init Callback\n app.pluginHook('pageBeforeRemove', pageData);\n if (app.params.onPageBeforeRemove) app.params.onPageBeforeRemove(app, pageData);\n app.triggerPageCallbacks('beforeRemove', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeRemove page:beforeremove', {page: pageData});\n pageData = null;\n };\n app.pageBackCallback = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n view: view,\n from: params.position,\n context: pageContext,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n swipeBack: params.swipeBack\n };\n \n if (callback === 'after') {\n app.pluginHook('pageAfterBack', pageData);\n if (app.params.onPageAfterBack) app.params.onPageAfterBack(app, pageData);\n app.triggerPageCallbacks('afterBack', pageData.name, pageData);\n $(pageContainer).trigger('pageAfterBack page:afterback', {page: pageData});\n \n }\n if (callback === 'before') {\n app.pluginHook('pageBack', pageData);\n if (app.params.onPageBack) app.params.onPageBack(app, pageData);\n app.triggerPageCallbacks('back', pageData.name, pageData);\n $(pageData.container).trigger('pageBack page:back', {page: pageData});\n }\n };\n app.pageAnimCallback = function (callback, view, params) {\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: pageContext,\n swipeBack: params.swipeBack,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n fromPage: params.fromPage\n };\n var oldPage = params.oldPage,\n newPage = params.newPage;\n \n // Update page date\n pageContainer.f7PageData = pageData;\n \n if (callback === 'after') {\n app.pluginHook('pageAfterAnimation', pageData);\n if (app.params.onPageAfterAnimation) app.params.onPageAfterAnimation(app, pageData);\n app.triggerPageCallbacks('afterAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageAfterAnimation page:afteranimation', {page: pageData});\n \n }\n if (callback === 'before') {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n \n // Update View's activePage\n if (view) view.activePage = pageData;\n \n // Hide/show navbar dynamically\n if (newPage.hasClass('no-navbar') && !oldPage.hasClass('no-navbar')) {\n view.hideNavbar();\n }\n if (!newPage.hasClass('no-navbar') && (oldPage.hasClass('no-navbar') || oldPage.hasClass('no-navbar-by-scroll'))) {\n view.showNavbar();\n }\n // Hide/show navbar toolbar\n if (newPage.hasClass('no-toolbar') && !oldPage.hasClass('no-toolbar')) {\n view.hideToolbar();\n }\n if (!newPage.hasClass('no-toolbar') && (oldPage.hasClass('no-toolbar') || oldPage.hasClass('no-toolbar-by-scroll'))) {\n view.showToolbar();\n }\n // Hide/show tabbar\n var tabBar;\n if (newPage.hasClass('no-tabbar') && !oldPage.hasClass('no-tabbar')) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.hideToolbar(tabBar);\n }\n if (!newPage.hasClass('no-tabbar') && (oldPage.hasClass('no-tabbar') || oldPage.hasClass('no-tabbar-by-scroll'))) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.showToolbar(tabBar);\n }\n \n oldPage.removeClass('no-navbar-by-scroll no-toolbar-by-scroll');\n // Callbacks\n app.pluginHook('pageBeforeAnimation', pageData);\n if (app.params.onPageBeforeAnimation) app.params.onPageBeforeAnimation(app, pageData);\n app.triggerPageCallbacks('beforeAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeAnimation page:beforeanimation', {page: pageData});\n }\n };\n \n // Init Page Events and Manipulations\n app.initPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page load\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Init messages\n if (app.initPageMessages) app.initPageMessages(pageContainer);\n // Init forms storage\n if (app.initFormsStorage) app.initFormsStorage(pageContainer);\n // Init smart select\n if (app.initSmartSelects) app.initSmartSelects(pageContainer);\n // Init slider\n if (app.initPageSwiper) app.initPageSwiper(pageContainer);\n // Init pull to refres\n if (app.initPullToRefresh) app.initPullToRefresh(pageContainer);\n // Init infinite scroll\n if (app.initPageInfiniteScroll) app.initPageInfiniteScroll(pageContainer);\n // Init searchbar\n if (app.initSearchbar) app.initSearchbar(pageContainer);\n // Init message bar\n if (app.initPageMessagebar) app.initPageMessagebar(pageContainer);\n // Init scroll toolbars\n if (app.initPageScrollToolbars) app.initPageScrollToolbars(pageContainer);\n // Init lazy images\n if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer);\n // Init progress bars\n if (app.initPageProgressbar) app.initPageProgressbar(pageContainer);\n // Init resizeable textareas\n if (app.initPageResizableTextarea) app.initPageResizableTextarea(pageContainer);\n // Init Material Preloader\n if (app.params.material && app.initPageMaterialPreloader) app.initPageMaterialPreloader(pageContainer);\n // Init Material Inputs\n if (app.params.material && app.initPageMaterialInputs) app.initPageMaterialInputs(pageContainer);\n // Init Material Tabbar\n if (app.params.material && app.initPageMaterialTabbar) app.initPageMaterialTabbar(pageContainer);\n };\n app.reinitPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page reinit\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Reinit slider\n if (app.reinitPageSwiper) app.reinitPageSwiper(pageContainer);\n // Reinit lazy load\n if (app.reinitLazyLoad) app.reinitLazyLoad(pageContainer);\n };\n app.initPageWithCallback = function (pageContainer) {\n pageContainer = $(pageContainer);\n var viewContainer = pageContainer.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n var view = viewContainer[0].f7View || undefined;\n var url = view && view.url ? view.url : undefined;\n if (viewContainer && pageContainer.attr('data-page')) {\n viewContainer.attr('data-page', pageContainer.attr('data-page'));\n }\n app.pageInitCallback(view, {pageContainer: pageContainer[0], url: url, position: 'center'});\n };\n\n /*======================================================\n ************ Navigation / Router ************\n ======================================================*/\n app.router = {\n _remove: function (el) {\n if (app.params.routerRemoveTimeout || app.params.routerRemoveWithTimeout) {\n setTimeout(function () {\n $(el).remove();\n }, 0);\n }\n else $(el).remove();\n },\n _modalsSelector: '.popup, .modal, .popover, .actions-modal, .picker-modal, .login-screen',\n // Temporary DOM Element\n temporaryDom: document.createElement('div'),\n \n // Find page or navbar in passed container which are related to View\n findElement: function (selector, container, view, notCached) {\n container = $(container);\n if (notCached) selector = selector + ':not(.cached)';\n var found = container.find(selector).filter(function (index, el) {\n return $(el).parents(app.router._modalsSelector).length === 0;\n });\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = container.find(view.selector + ' ' + selector);\n }\n if (found.length > 1) {\n // Search in main view\n found = container.find('.' + app.params.viewMainClass + ' ' + selector);\n }\n }\n if (found.length === 1) return found;\n else {\n // Try to find non cached\n if (!notCached) found = app.router.findElement(selector, container, view, true);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return $(found[0]);\n else return undefined;\n }\n },\n \n // Set pages classes for animationEnd\n animatePages: function (leftPage, rightPage, direction) {\n // Loading new page\n var removeClasses = 'page-on-center page-on-right page-on-left';\n if (direction === 'to-left') {\n leftPage.removeClass(removeClasses).addClass('page-from-center-to-left');\n rightPage.removeClass(removeClasses).addClass('page-from-right-to-center');\n }\n // Go back\n if (direction === 'to-right') {\n leftPage.removeClass(removeClasses).addClass('page-from-left-to-center');\n rightPage.removeClass(removeClasses).addClass('page-from-center-to-right');\n \n }\n },\n \n // Prepare navbar before animarion\n prepareNavbar: function (newNavbarInner, oldNavbarInner, newNavbarPosition) {\n $(newNavbarInner).find('.sliding').each(function () {\n var sliding = $(this);\n var slidingOffset = newNavbarPosition === 'right' ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset;\n \n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-slidingOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + slidingOffset + 'px,0,0)');\n });\n },\n \n // Set navbars classes for animation\n animateNavbars: function (leftNavbarInner, rightNavbarInner, direction) {\n // Loading new page\n var removeClasses = 'navbar-on-right navbar-on-center navbar-on-left';\n if (direction === 'to-left') {\n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-right-to-center');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-left');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n var rightText;\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) {\n rightText = rightNavbarInner.find('.sliding.left .back span');\n if (rightText.length > 0) this.f7NavbarLeftOffset += rightText[0].offsetLeft;\n }\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarLeftOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarLeftOffset) + 'px,0,0)');\n });\n }\n // Go back\n if (direction === 'to-right') {\n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-left-to-center');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-right');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarRightOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarRightOffset) + 'px,0,0)');\n });\n }\n },\n \n preprocess: function(view, content, url, next) {\n // Plugin hook\n app.pluginHook('routerPreprocess', view, content, url, next);\n \n // Preprocess by plugin\n content = app.pluginProcess('preprocess', content);\n \n if (view && view.params && view.params.preprocess) {\n content = view.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else if (app.params.preprocess) {\n content = app.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else {\n next(content);\n }\n },\n preroute: function(view, options, isBack) {\n if (isBack) options.isBack = true;\n app.pluginHook('routerPreroute', view, options);\n if ((app.params.preroute && app.params.preroute(view, options) === false) || (view && view.params.preroute && view.params.preroute(view, options) === false)) {\n return true;\n }\n else {\n return false;\n }\n },\n \n template7Render: function (view, options) {\n var url = options.url,\n content = options.content, //initial content\n t7_rendered_content = options.content, // will be rendered using Template7\n context = options.context, // Context data for Template7\n contextName = options.contextName,\n template = options.template; // Template 7 compiled template\n \n var t7_ctx, t7_template;\n if (typeof content === 'string') {\n if (url) {\n if (app.template7Cache[url] && !options.ignoreCache) t7_template = t7.cache[url];\n else {\n t7_template = t7.compile(content);\n t7.cache[url] = t7_template;\n }\n }\n else t7_template = t7.compile(content);\n }\n else if (template) {\n t7_template = template;\n }\n \n if (context) {\n t7_ctx = context;\n if (context && url) {\n view.contextCache[url] = context;\n }\n }\n else {\n if (contextName) {\n if (contextName.indexOf('.') >= 0) {\n var _ctx_path = contextName.split('.');\n var _ctx = t7.data[_ctx_path[0]];\n for (var i = 1; i < _ctx_path.length; i++) {\n if (_ctx_path[i]) _ctx = _ctx[_ctx_path[i]];\n }\n t7_ctx = _ctx;\n }\n else t7_ctx = t7.data[contextName];\n }\n if (!t7_ctx && url) {\n t7_ctx = t7.data['url:' + url];\n }\n if (!t7_ctx && typeof content === 'string' && !template) {\n //try to find by page name in content\n var pageNameMatch = content.match(/(data-page=[\"'][^\"^']*[\"'])/);\n if (pageNameMatch) {\n var page = pageNameMatch[0].split('data-page=')[1].replace(/['\"]/g, '');\n if (page) t7_ctx = t7.data['page:' + page];\n }\n }\n if (!t7_ctx && template && t7.templates) {\n // Try to find matched template name in t7.templates\n for (var templateName in t7.templates) {\n if (t7.templates[templateName] === template) t7_ctx = t7.data[templateName];\n }\n }\n if (!t7_ctx && url && url in view.contextCache) {\n t7_ctx = view.contextCache[url];\n }\n if (!t7_ctx) {\n t7_ctx = {};\n }\n }\n \n if (t7_template && t7_ctx) {\n if (typeof t7_ctx === 'function') t7_ctx = t7_ctx();\n if (url) {\n // Extend data with URL query\n var query = $.parseUrlQuery(url);\n t7_ctx.url_query = {};\n for (var key in query) {\n t7_ctx.url_query[key] = query[key];\n }\n }\n try {\n t7_rendered_content = t7_template(t7_ctx);\n }\n catch (e) {\n t7_rendered_content = '';\n if (window.console && window.console.error) {\n console.error(e);\n }\n }\n }\n \n return {content: t7_rendered_content, context: t7_ctx};\n }\n };\n \n \n app.router._load = function (view, options) {\n // Plugin hook\n app.pluginHook('routerLoad', view, options);\n \n var url = options.url,\n content = options.content, //initial content\n t7_rendered = {content: options.content},\n template = options.template, // Template 7 compiled template\n pageName = options.pageName,\n viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n animatePages = options.animatePages,\n newPage, oldPage, pagesInView, i, oldNavbarInner, newNavbarInner, navbar, dynamicNavbar, reloadPosition,\n isDynamicPage = typeof url === 'undefined' && content || template,\n pushState = options.pushState,\n pageElement = options.pageElement;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n app.router.temporaryDom.innerHTML = '';\n \n // Parse DOM\n if (!pageName && !pageElement) {\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n }\n \n // Reload position\n reloadPosition = options.reload && (options.reloadPrevious ? 'left' : 'center');\n \n // Find new page\n if (pageName) newPage = pagesContainer.find('.page[data-page=\"' + pageName + '\"]');\n else {\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n }\n // If page not found exit\n if (!newPage || newPage.length === 0 || (pageName && view.activePage && view.activePage.name === pageName)) {\n view.allowPageChange = true;\n return;\n }\n \n newPage.addClass(options.reload ? 'page-on-' + reloadPosition : 'page-on-right');\n \n // Find old page (should be the last one) and remove older pages\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (pageElement) {\n pagesInView = pagesInView.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n \n if (options.reload && options.reloadPrevious && pagesInView.length === 1) {\n view.allowPageChange = true;\n return;\n }\n \n if (options.reload) {\n oldPage = pagesInView.eq(pagesInView.length - 1);\n }\n else {\n if (pagesInView.length > 1) {\n for (i = 0; i < pagesInView.length - 2; i++) {\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n oldPage = pagesContainer.children('.page:not(.cached)');\n }\n if (pageElement && oldPage.length > 1) {\n oldPage = oldPage.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n if(view.params.domCache || pageElement) newPage.removeClass('cached');\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n if (pageName) {\n newNavbarInner = viewContainer.find('.navbar-inner[data-page=\"' + pageName + '\"]');\n }\n else {\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Look in page\n newNavbarInner = newPage.find('.navbar-inner');\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Set false\n dynamicNavbar = false;\n }\n else {\n if (newNavbarInner.parent('.navbar').length > 0) {\n newNavbarInner.prependTo(newPage);\n }\n }\n }\n if (dynamicNavbar && newPage.find('.navbar').length > 0) {\n app.router._remove(newPage.find('.navbar').filter(function(index, el){\n return $(el).parents(app.router._modalsSelector).length === 0;\n }));\n }\n navbar = viewContainer.children('.navbar');\n if (options.reload) {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached):last-child');\n }\n else {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n \n if (oldNavbarInner.length > 0) {\n for (i = 0; i < oldNavbarInner.length - 1; i++) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[i], navbar[0], oldNavbarInner[i]);\n app.router._remove(oldNavbarInner[i]);\n }\n else\n $(oldNavbarInner[i]).addClass('cached');\n }\n if (!newNavbarInner && oldNavbarInner.length === 1) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldNavbarInner[0]);\n }\n else\n $(oldNavbarInner[0]).addClass('cached');\n }\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n }\n }\n }\n if (dynamicNavbar) {\n newNavbarInner.addClass(options.reload ? 'navbar-on-' + reloadPosition : 'navbar-on-right');\n if(view.params.domCache || pageElement) newNavbarInner.removeClass('cached');\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n newNavbarInner[0].f7RelatedPage = newPage[0];\n }\n \n // save content areas into view's cache\n if (!url) {\n var newPageName = pageName || newPage.attr('data-page');\n if (isDynamicPage) url = '#' + app.params.dynamicPageUrl.replace(/{{name}}/g, newPageName).replace(/{{index}}/g, view.history.length - (options.reload ? 1 : 0));\n else url = '#' + newPageName;\n if (!view.params.domCache) {\n view.contentCache[url] = content;\n }\n if (view.params.domCache && pageName) {\n view.pagesCache[url] = pageName;\n }\n }\n else if (url && pageElement) {\n view.pageElementsCache[url] = {\n page: newPage,\n navbarInner: newNavbarInner\n };\n }\n \n // Push State\n if (app.params.pushState && !options.reloadPrevious && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n var pushStateRoot = app.params.pushStateRoot || '';\n var method = options.reload ? 'replaceState' : 'pushState';\n if (pushState) {\n if (!isDynamicPage && !pageName) {\n history[method]({url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (isDynamicPage && content) {\n history[method]({content: typeof content === 'string' ? content : '', url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (pageName) {\n history[method]({pageName: pageName, url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n }\n }\n \n // Update View history\n view.url = url;\n if (options.reload) {\n var lastUrl = view.history[view.history.length - (options.reloadPrevious ? 2 : 1)];\n if (lastUrl &&\n lastUrl.indexOf('#') === 0 &&\n lastUrl in view.contentCache &&\n lastUrl !== url &&\n view.history.indexOf(lastUrl) === -1) {\n view.contentCache[lastUrl] = null;\n delete view.contentCache[lastUrl];\n }\n else if (lastUrl &&\n lastUrl in view.pageElementsCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.pageElementsCache[lastUrl] = null;\n delete view.pageElementsCache[lastUrl];\n }\n if (lastUrl &&\n lastUrl in view.contextCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.contextCache[lastUrl] = null;\n delete view.contextCache[lastUrl];\n }\n view.history[view.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n }\n else {\n view.history.push(url);\n }\n \n // Unique history\n var historyBecameUnique = false;\n if (view.params.uniqueHistory) {\n var _history = view.history;\n var _url = url;\n if (view.params.uniqueHistoryIgnoreGetParameters) {\n _history = [];\n _url = url.split('?')[0];\n for (i = 0; i < view.history.length; i++) {\n _history.push(view.history[i].split('?')[0]);\n }\n }\n \n if (_history.indexOf(_url) !== _history.lastIndexOf(_url)) {\n view.history = view.history.slice(0, _history.indexOf(_url));\n view.history.push(url);\n historyBecameUnique = true;\n }\n }\n // Dom manipulations\n if (options.reloadPrevious) {\n oldPage = oldPage.prev('.page');\n newPage.insertBefore(oldPage);\n if (dynamicNavbar) {\n oldNavbarInner = oldNavbarInner.prev('.navbar-inner');\n newNavbarInner.insertAfter(oldNavbarInner);\n }\n }\n else {\n pagesContainer.append(newPage[0]);\n if (dynamicNavbar) navbar.append(newNavbarInner[0]);\n }\n // Remove Old Page And Navbar\n if (options.reload) {\n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], reloadPosition);\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: options.reload ? reloadPosition : 'right',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner && newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context || options.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n reload: options.reload,\n reloadPrevious: options.reloadPrevious\n });\n \n // Navbar init event\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, options.reload ? reloadPosition : 'right');\n }\n \n if (options.reload) {\n view.allowPageChange = true;\n if (historyBecameUnique) view.refreshPreviousPage();\n return;\n }\n \n if (dynamicNavbar && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'right');\n }\n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n // Before Anim Callback\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n function afterAnimation() {\n view.allowPageChange = true;\n newPage.removeClass('page-from-right-to-center page-on-right page-on-left').addClass('page-on-center');\n oldPage.removeClass('page-from-center-to-left page-on-center page-on-right').addClass('page-on-left');\n if (dynamicNavbar) {\n newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-left navbar-on-right').addClass('navbar-on-center');\n oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center navbar-on-right').addClass('navbar-on-left');\n }\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n if (app.params.pushState && view.main) app.pushStateClearQueue();\n if (!(view.params.swipeBackPage || view.params.preloadPreviousPage)) {\n if (view.params.domCache) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n if (!(url.indexOf('#') === 0 && newPage.attr('data-page').indexOf('smart-select-') === 0)) {\n app.pageRemoveCallback(view, oldPage[0], 'left');\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n }\n if (view.params.uniqueHistory && historyBecameUnique) {\n view.refreshPreviousPage();\n }\n }\n if (animatePages) {\n // Set pages before animation\n if (app.params.material && app.params.materialPageLoadDelay) {\n setTimeout(function () {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }, app.params.materialPageLoadDelay);\n }\n else {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function() {\n app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view);\n }, 0);\n }\n newPage.animationEnd(function () {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n \n };\n \n app.router.load = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var template = options.template;\n if (view.params.reloadPages === true) options.reload = true;\n \n if (!view.allowPageChange) return false;\n if (url && view.url === url && !options.reload && !view.params.allowDuplicateUrls) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._load(view, options);\n });\n }\n if (content || pageName || pageElement) {\n proceed(content);\n return;\n }\n else if (template) {\n app.router._load(view, options);\n return;\n }\n \n if (!options.url || options.url === '#') {\n view.allowPageChange = true;\n return;\n }\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n };\n \n app.router._back = function (view, options) {\n options = options || {};\n \n app.pluginHook('routerBack', view, options);\n \n var url = options.url,\n content = options.content,\n t7_rendered = {content: options.content}, // will be rendered using Template7\n template = options.template, // Template 7 compiled template\n animatePages = options.animatePages,\n preloadOnly = options.preloadOnly,\n pushState = options.pushState,\n ignoreCache = options.ignoreCache,\n force = options.force,\n pageName = options.pageName,\n pageElement = options.pageElement;\n \n var viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n pagesInView = pagesContainer.children('.page:not(.cached)'),\n oldPage, newPage, oldNavbarInner, newNavbarInner, navbar, navbarInners, dynamicNavbar, manipulateDom = true;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n // Animation\n function afterAnimation() {\n app.pageBackCallback('after', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n app.router.afterBack(view, oldPage[0], newPage[0]);\n }\n function animateBack() {\n // Page before animation callback\n app.pageBackCallback('before', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n if (animatePages) {\n // Set pages before animation\n app.router.animatePages(newPage, oldPage, 'to-right', view);\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function () {\n app.router.animateNavbars(newNavbarInner, oldNavbarInner, 'to-right', view);\n }, 0);\n }\n \n newPage.animationEnd(function () {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n }\n \n function parseNewPage() {\n app.router.temporaryDom.innerHTML = '';\n // Parse DOM\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n \n if (view.params.dynamicNavbar) {\n // Find navbar\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n }\n function setPages() {\n // If pages not found or there are still more than one, exit\n if (!newPage || newPage.length === 0) {\n view.allowPageChange = true;\n return;\n }\n if (view.params.dynamicNavbar && typeof dynamicNavbar === 'undefined') {\n if (!newNavbarInner || newNavbarInner.length === 0) {\n dynamicNavbar = false;\n }\n else {\n dynamicNavbar = true;\n }\n }\n \n newPage.addClass('page-on-left').removeClass('cached');\n if (dynamicNavbar) {\n navbar = viewContainer.children('.navbar');\n navbarInners = navbar.find('.navbar-inner:not(.cached)');\n newNavbarInner.addClass('navbar-on-left').removeClass('cached');\n }\n // Remove/hide previous page in force mode\n if (force) {\n var pageToRemove, navbarToRemove;\n pageToRemove = $(pagesInView[pagesInView.length - 2]);\n \n if (dynamicNavbar) navbarToRemove = $(pageToRemove[0] && pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]);\n if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) {\n if (pageToRemove.length && pageToRemove[0] !== newPage[0]) pageToRemove.addClass('cached');\n if (dynamicNavbar && navbarToRemove.length && navbarToRemove[0] !== newNavbarInner[0]) {\n navbarToRemove.addClass('cached');\n }\n }\n else {\n var removeNavbar = dynamicNavbar && navbarToRemove.length;\n if (pageToRemove.length) {\n app.pageRemoveCallback(view, pageToRemove[0], 'right');\n if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n }\n app.router._remove(pageToRemove);\n if (removeNavbar) app.router._remove(navbarToRemove);\n }\n else if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n app.router._remove(navbarToRemove);\n }\n }\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (dynamicNavbar) {\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n }\n if (view.history.indexOf(url) >= 0) {\n view.history = view.history.slice(0, view.history.indexOf(url) + 2);\n }\n else {\n if (view.history[[view.history.length - 2]]) {\n view.history[view.history.length - 2] = url;\n }\n else {\n view.history.unshift(url);\n }\n }\n }\n \n oldPage = $(pagesInView[pagesInView.length - 1]);\n if (view.params.domCache) {\n if (oldPage[0] === newPage[0]) {\n oldPage = pagesContainer.children('.page.page-on-center');\n if (oldPage.length === 0 && view.activePage) oldPage = $(view.activePage.container);\n }\n }\n \n if (dynamicNavbar && !oldNavbarInner) {\n oldNavbarInner = $(navbarInners[navbarInners.length - 1]);\n if (view.params.domCache) {\n if (oldNavbarInner[0] === newNavbarInner[0]) {\n oldNavbarInner = navbar.children('.navbar-inner.navbar-on-center:not(.cached)');\n }\n if (oldNavbarInner.length === 0) {\n oldNavbarInner = navbar.children('.navbar-inner[data-page=\"'+oldPage.attr('data-page')+'\"]');\n }\n }\n if (oldNavbarInner.length === 0 || newNavbarInner[0] === oldNavbarInner[0]) dynamicNavbar = false;\n }\n \n if (dynamicNavbar) {\n if (manipulateDom) newNavbarInner.insertBefore(oldNavbarInner);\n newNavbarInner[0].f7RelatedPage = newPage[0];\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n }\n if (manipulateDom) newPage.insertBefore(oldPage);\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n preloadOnly: preloadOnly\n });\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, 'right');\n }\n \n if (dynamicNavbar && newNavbarInner.hasClass('navbar-on-left') && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'left');\n }\n \n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n \n // Update View's URL\n view.url = url;\n \n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n animateBack();\n \n // Push state\n if (app.params.pushState && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n if (!preloadOnly && history.state && pushState) {\n history.back();\n }\n }\n return;\n }\n \n // Simple go back when we have pages on left\n if (pagesInView.length > 1 && !force) {\n // Exit if only preloadOnly\n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n // Update View's URL\n view.url = view.history[view.history.length - 2];\n url = view.url;\n \n // Define old and new pages\n newPage = $(pagesInView[pagesInView.length - 2]);\n oldPage = $(pagesInView[pagesInView.length - 1]);\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n newNavbarInner = $(navbarInners[0]);\n oldNavbarInner = $(navbarInners[1]);\n if (newNavbarInner.length === 0 || oldNavbarInner.length === 0 || oldNavbarInner[0] === newNavbarInner[0]) {\n dynamicNavbar = false;\n }\n }\n manipulateDom = false;\n setPages();\n return;\n }\n \n if (!force) {\n // Go back when there is no pages on left\n if (!preloadOnly) {\n view.url = view.history[view.history.length - 2];\n url = view.url;\n }\n \n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName) {\n // Get dom cached pages\n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n newPage = view.pageElementsCache[url].page;\n newNavbarInner = view.pageElementsCache[url].navbarInner;\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n else {\n if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) {\n view.allowPageChange = true;\n return;\n }\n // Go back with force url\n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName && view.params.domCache) {\n if (pageName) url = '#' + pageName;\n \n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (newPage[0].f7PageData && newPage[0].f7PageData.url) {\n url = newPage[0].f7PageData.url;\n }\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (pageElement && url) {\n newPage = $(pageElement);\n if (view.params.dynamicNavbar) {\n newNavbarInner = newPage.find('.navbar-inner').filter(function (index, el) {\n return $(el).parents(app.router._modalsSelector).length === 0;\n });\n if (newNavbarInner.length > 0) {\n newPage.prepend(newNavbarInner);\n app.router._remove(newPage.find('.navbar').filter(function (index, el) {\n return $(el).parents(app.router._modalsSelector).length === 0;\n }));\n }\n }\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n \n };\n app.router.back = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options, true)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var force = options.force;\n if (!view.allowPageChange) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n var pagesInView = $(view.pagesContainer).find('.page:not(.cached)');\n \n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._back(view, options);\n });\n }\n if (pagesInView.length > 1 && !force) {\n // Simple go back to previos page in view\n app.router._back(view, options);\n return;\n }\n if (!force) {\n url = view.history[view.history.length - 2] || options.url;\n if (!options.url) options.url = url;\n if (!url) {\n view.allowPageChange = true;\n return;\n }\n if (url.indexOf('#') === 0 && view.contentCache[url]) {\n proceed(view.contentCache[url]);\n return;\n }\n else if (url.indexOf('#') === 0 && view.params.domCache) {\n if (!pageName) options.pageName = url.split('#')[1];\n proceed();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n proceed();\n }\n else if (url.indexOf('#') !== 0) {\n // Load ajax page\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n else {\n // Go back with force url\n if (!url && content) {\n proceed(content);\n return;\n }\n else if (!url && pageName) {\n if (pageName) url = '#' + pageName;\n proceed();\n return;\n }\n else if (url && pageElement) {\n proceed();\n return;\n }\n else if (url) {\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n view.allowPageChange = true;\n return;\n };\n \n app.router.afterBack = function (view, oldPage, newPage) {\n // Remove old page and set classes on new one\n oldPage = $(oldPage);\n newPage = $(newPage);\n \n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.removeClass('page-from-center-to-right').addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], 'right');\n app.router._remove(oldPage);\n }\n \n newPage.removeClass('page-from-left-to-center page-on-left').addClass('page-on-center');\n view.allowPageChange = true;\n \n // Update View's History\n var previousURL = view.history.pop();\n \n var newNavbar;\n \n // Updated dynamic navbar\n if (view.params.dynamicNavbar) {\n var inners = $(view.container).children('.navbar').find('.navbar-inner:not(.cached)');\n var oldNavbar = $(oldPage[0].f7RelatedNavbar || inners[1]);\n if (view.params.domCache && view.initialNavbars.indexOf(oldNavbar[0]) >= 0) {\n oldNavbar.removeClass('navbar-from-center-to-right').addClass('cached');\n }\n else {\n app.navbarRemoveCallback(view, oldPage[0], undefined, oldNavbar[0]);\n app.router._remove(oldNavbar);\n }\n newNavbar = $(inners[0]).removeClass('navbar-on-left navbar-from-left-to-center').addClass('navbar-on-center');\n }\n \n // Remove pages in dom cache\n if (view.params.domCache) {\n $(view.container).find('.page.cached').each(function () {\n var page = $(this);\n var pageUrl = page[0].f7PageData && page[0].f7PageData.url;\n if (pageUrl && view.history.indexOf(pageUrl) < 0 && view.initialPages.indexOf(this) < 0) {\n app.pageRemoveCallback(view, page[0], 'right');\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.navbarRemoveCallback(view, page[0], undefined, page[0].f7RelatedNavbar);\n app.router._remove(page);\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.router._remove(page[0].f7RelatedNavbar);\n }\n });\n }\n \n // Check previous page is content based only and remove it from content cache\n if (!view.params.domCache &&\n previousURL &&\n previousURL.indexOf('#') > -1 &&\n (previousURL in view.contentCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contentCache[previousURL] = null;\n delete view.contentCache[previousURL];\n }\n if (previousURL &&\n (previousURL in view.pageElementsCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.pageElementsCache[previousURL] = null;\n delete view.pageElementsCache[previousURL];\n }\n // Check for context cache\n if (previousURL &&\n (previousURL in view.contextCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contextCache[previousURL] = null;\n delete view.contextCache[previousURL];\n }\n \n if (app.params.pushState && view.main) app.pushStateClearQueue();\n \n // Preload previous page\n if (view.params.preloadPreviousPage) {\n if (view.params.domCache && view.history.length > 1) {\n var preloadUrl = view.history[view.history.length - 2];\n var previousPage;\n var previousNavbar;\n if (preloadUrl && view.pagesCache[preloadUrl]) {\n // Load by page name\n previousPage = $(view.container).find('.page[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if (previousPage.next('.page')[0] !== newPage[0]) previousPage.insertBefore(newPage);\n if (newNavbar) {\n previousNavbar = $(view.container).children('.navbar').find('.navbar-inner[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n if (previousNavbar.next('.navbar-inner')[0] !== newNavbar[0]) previousNavbar.insertBefore(newNavbar);\n }\n }\n else {\n // Just load previous page\n previousPage = newPage.prev('.page.cached');\n if (newNavbar) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n }\n if (previousPage && previousPage.length > 0) previousPage.removeClass('cached page-on-right page-on-center').addClass('page-on-left');\n if (previousNavbar && previousNavbar.length > 0) previousNavbar.removeClass('cached navbar-on-right navbar-on-center').addClass('navbar-on-left');\n }\n else {\n app.router.back(view, {preloadOnly: true});\n }\n }\n };\n \n\n /*======================================================\n ************ Modals ************\n ======================================================*/\n var _modalTemplateTempDiv = document.createElement('div');\n app.modalStack = [];\n app.modalStackClearQueue = function () {\n if (app.modalStack.length) {\n (app.modalStack.shift())();\n }\n };\n app.modal = function (params) {\n params = params || {};\n var modalHTML = '';\n if (app.params.modalTemplate) {\n if (!app._compiledTemplates.modal) app._compiledTemplates.modal = t7.compile(app.params.modalTemplate);\n modalHTML = app._compiledTemplates.modal(params);\n }\n else {\n var buttonsHTML = '';\n if (params.buttons && params.buttons.length > 0) {\n for (var i = 0; i < params.buttons.length; i++) {\n buttonsHTML += '' + params.buttons[i].text + '';\n }\n }\n var titleHTML = params.title ? '
' + params.title + '
' : '';\n var textHTML = params.text ? '
' + params.text + '
' : '';\n var afterTextHTML = params.afterText ? params.afterText : '';\n var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : '';\n var verticalButtons = params.verticalButtons ? 'modal-buttons-vertical': '';\n var modalButtonsHTML = params.buttons && params.buttons.length > 0 ? '
' + buttonsHTML + '
' : '';\n modalHTML = '
' + (titleHTML + textHTML + afterTextHTML) + '
' + modalButtonsHTML + '
';\n }\n \n _modalTemplateTempDiv.innerHTML = modalHTML;\n \n var modal = $(_modalTemplateTempDiv).children();\n \n app.root.append(modal[0]);\n \n // Add events on buttons\n modal.find('.modal-button').each(function (index, el) {\n $(el).on('click', function (e) {\n if (params.buttons[index].close !== false) app.closeModal(modal);\n if (params.buttons[index].onClick) params.buttons[index].onClick(modal, e);\n if (params.onClick) params.onClick(modal, index);\n });\n });\n app.openModal(modal);\n return modal[0];\n };\n app.alert = function (text, title, callbackOk) {\n if (typeof title === 'function') {\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [ {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} ]\n });\n };\n app.confirm = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [\n {text: app.params.modalButtonCancel, onClick: callbackCancel},\n {text: app.params.modalButtonOk, bold: true, onClick: callbackOk}\n ]\n });\n };\n app.prompt = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n if (index === 0 && callbackCancel) callbackCancel($(modal).find('.modal-text-input').val());\n if (index === 1 && callbackOk) callbackOk($(modal).find('.modal-text-input').val());\n }\n });\n };\n app.modalLogin = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var username = $(modal).find('.modal-text-input[name=\"modal-username\"]').val();\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(username, password);\n if (index === 1 && callbackOk) callbackOk(username, password);\n }\n });\n };\n app.modalPassword = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(password);\n if (index === 1 && callbackOk) callbackOk(password);\n }\n });\n };\n app.showPreloader = function (title) {\n return app.modal({\n title: title || app.params.modalPreloaderTitle,\n text: '
' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
',\n cssClass: 'modal-preloader'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n if ($('.preloader-indicator-overlay').length > 0) return;\n app.root.append('
' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
');\n };\n app.hideIndicator = function () {\n $('.preloader-indicator-overlay, .preloader-indicator-modal').remove();\n };\n // Action Sheet\n app.actions = function (target, params, animated) {\n var toPopover = false, modal, groupSelector, buttonSelector;\n if (arguments.length === 1 || arguments.length === 2 && typeof arguments[1] === 'boolean') {\n // Actions\n params = arguments[0];\n animated = arguments[1];\n }\n else {\n // Popover\n if (app.device.ios) {\n if (app.device.ipad) toPopover = true;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n if (typeof animated === 'undefined') animated = true;\n \n params = params || [];\n \n if (params.length > 0 && !Array.isArray(params[0])) {\n params = [params];\n }\n var modalHTML;\n if (toPopover) {\n var actionsToPopoverTemplate = app.params.modalActionsToPopoverTemplate ||\n '
' +\n '
' +\n '{{#each this}}' +\n '
' +\n '
    ' +\n '{{#each this}}' +\n '{{#if label}}' +\n '
  • {{text}}
  • ' +\n '{{else}}' +\n '
  • {{text}}
  • ' +\n '{{/if}}' +\n '{{/each}}' +\n '
' +\n '
' +\n '{{/each}}' +\n '
' +\n '
';\n if (!app._compiledTemplates.actionsToPopover) {\n app._compiledTemplates.actionsToPopover = t7.compile(actionsToPopoverTemplate);\n }\n var popoverHTML = app._compiledTemplates.actionsToPopover(params);\n modal = $(app.popover(popoverHTML, target, true, animated));\n groupSelector = '.list-block ul';\n buttonSelector = '.list-button';\n }\n else {\n if (app.params.modalActionsTemplate) {\n if (!app._compiledTemplates.actions) app._compiledTemplates.actions = t7.compile(app.params.modalActionsTemplate);\n modalHTML = app._compiledTemplates.actions(params);\n }\n else {\n var buttonsHTML = '';\n for (var i = 0; i < params.length; i++) {\n for (var j = 0; j < params[i].length; j++) {\n if (j === 0) buttonsHTML += '
';\n var button = params[i][j];\n var buttonClass = button.label ? 'actions-modal-label' : 'actions-modal-button';\n if (button.bold) buttonClass += ' actions-modal-button-bold';\n if (button.color) buttonClass += ' color-' + button.color;\n if (button.bg) buttonClass += ' bg-' + button.bg;\n if (button.disabled) buttonClass += ' disabled';\n buttonsHTML += '
' + button.text + '
';\n if (j === params[i].length - 1) buttonsHTML += '
';\n }\n }\n modalHTML = '
' + buttonsHTML + '
';\n }\n _modalTemplateTempDiv.innerHTML = modalHTML;\n modal = $(_modalTemplateTempDiv).children();\n app.root.append(modal[0]);\n groupSelector = '.actions-modal-group';\n buttonSelector = '.actions-modal-button';\n }\n \n var groups = modal.find(groupSelector);\n groups.each(function (index, el) {\n var groupIndex = index;\n $(el).children().each(function (index, el) {\n var buttonIndex = index;\n var buttonParams = params[groupIndex][buttonIndex];\n var clickTarget;\n if (!toPopover && $(el).is(buttonSelector)) clickTarget = $(el);\n if (toPopover && $(el).find(buttonSelector).length > 0) clickTarget = $(el).find(buttonSelector);\n \n if (clickTarget) {\n clickTarget.on('click', function (e) {\n if (buttonParams.close !== false) app.closeModal(modal);\n if (buttonParams.onClick) buttonParams.onClick(modal, e);\n });\n }\n });\n });\n if (!toPopover) app.openModal(modal, animated);\n return modal[0];\n };\n app.popover = function (modal, target, removeOnClose, animated) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof animated === 'undefined') animated = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n target = $(target);\n if (modal.length === 0 || target.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if (modal.find('.popover-angle').length === 0 && !app.params.material) {\n modal.append('
');\n }\n modal.show();\n \n var material = app.params.material;\n \n function sizePopover() {\n modal.css({left: '', top: ''});\n var modalWidth = modal.width();\n var modalHeight = modal.height(); // 13 - height of angle\n var modalAngle, modalAngleSize = 0, modalAngleLeft, modalAngleTop;\n if (!material) {\n modalAngle = modal.find('.popover-angle');\n modalAngleSize = modalAngle.width() / 2;\n modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''});\n }\n else {\n modal.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom').css({left: '', top: ''});\n }\n \n var targetWidth = target.outerWidth();\n var targetHeight = target.outerHeight();\n var targetOffset = target.offset();\n var targetParentPage = target.parents('.page');\n if (targetParentPage.length > 0) {\n targetOffset.top = targetOffset.top - targetParentPage[0].scrollTop;\n }\n \n var windowHeight = $(window).height();\n var windowWidth = $(window).width();\n \n var modalTop = 0;\n var modalLeft = 0;\n var diff = 0;\n // Top Position\n var modalPosition = material ? 'bottom' : 'top';\n if (material) {\n if (modalHeight < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n else if (modalHeight < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight + targetHeight;\n modalPosition = 'top';\n }\n else {\n // On middle\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n \n if (modalTop <= 0) {\n modalTop = 8;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 8;\n }\n \n // Horizontal Position\n modalLeft = targetOffset.left;\n if (modalLeft + modalWidth >= windowWidth - 8) {\n modalLeft = targetOffset.left + targetWidth - modalWidth - 8;\n }\n if (modalLeft < 8) {\n modalLeft = 8;\n }\n if (modalPosition === 'top') {\n modal.addClass('popover-on-top');\n }\n if (modalPosition === 'bottom') {\n modal.addClass('popover-on-bottom');\n }\n if (target.hasClass('floating-button-to-popover') && !modal.hasClass('modal-in')) {\n modal.addClass('popover-floating-button');\n var diffX = (modalLeft + modalWidth / 2) - (targetOffset.left + targetWidth / 2),\n diffY = (modalTop + modalHeight / 2) - (targetOffset.top + targetHeight / 2);\n target\n .addClass('floating-button-to-popover-in')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0)')\n .transitionEnd(function (e) {\n if (!target.hasClass('floating-button-to-popover-in')) return;\n target\n .addClass('floating-button-to-popover-scale')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0) scale(' + (modalWidth/targetWidth) + ', ' + (modalHeight/targetHeight) + ')');\n });\n \n modal.once('popover:close', function () {\n target\n .removeClass('floating-button-to-popover-in floating-button-to-popover-scale')\n .addClass('floating-button-to-popover-out')\n .transform('')\n .transitionEnd(function (e) {\n target.removeClass('floating-button-to-popover-out');\n });\n });\n modal.once('popover:closed', function () {\n modal.removeClass('popover-floating-button');\n });\n }\n else if (target.hasClass('floating-button-to-popover') && modal.hasClass('modal-in')) {\n modalLeft = targetOffset.left;\n modalTop = targetOffset.top;\n }\n \n }\n else {\n if ((modalHeight + modalAngleSize) < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight - modalAngleSize;\n }\n else if ((modalHeight + modalAngleSize) < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top + targetHeight + modalAngleSize;\n }\n else {\n // On middle\n modalPosition = 'middle';\n modalTop = targetHeight / 2 + targetOffset.top - modalHeight / 2;\n diff = modalTop;\n if (modalTop <= 0) {\n modalTop = 5;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 5;\n }\n diff = diff - modalTop;\n }\n \n // Horizontal Position\n if (modalPosition === 'top' || modalPosition === 'bottom') {\n modalLeft = targetWidth / 2 + targetOffset.left - modalWidth / 2;\n diff = modalLeft;\n if (modalLeft < 5) modalLeft = 5;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n if (modalPosition === 'top') {\n modalAngle.addClass('on-bottom');\n }\n if (modalPosition === 'bottom') {\n modalAngle.addClass('on-top');\n }\n diff = diff - modalLeft;\n modalAngleLeft = (modalWidth / 2 - modalAngleSize + diff);\n modalAngleLeft = Math.max(Math.min(modalAngleLeft, modalWidth - modalAngleSize * 2 - 13), 13);\n modalAngle.css({left: modalAngleLeft + 'px'});\n \n }\n else if (modalPosition === 'middle') {\n modalLeft = targetOffset.left - modalWidth - modalAngleSize;\n modalAngle.addClass('on-right');\n if (modalLeft < 5 || (modalLeft + modalWidth > windowWidth)) {\n if (modalLeft < 5) modalLeft = targetOffset.left + targetWidth + modalAngleSize;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n modalAngle.removeClass('on-right').addClass('on-left');\n }\n modalAngleTop = (modalHeight / 2 - modalAngleSize + diff);\n modalAngleTop = Math.max(Math.min(modalAngleTop, modalHeight - modalAngleSize * 2 - 13), 13);\n modalAngle.css({top: modalAngleTop + 'px'});\n }\n }\n \n \n // Apply Styles\n modal.css({top: modalTop + 'px', left: modalLeft + 'px'});\n }\n \n sizePopover();\n \n $(window).on('resize', sizePopover);\n \n modal.on('popover:close', function () {\n $(window).off('resize', sizePopover);\n });\n \n app.openModal(modal, animated);\n return modal[0];\n };\n app.popup = function (modal, removeOnClose, animated) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof animated === 'undefined') animated = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n modal.show();\n \n app.openModal(modal, animated);\n return modal[0];\n };\n app.pickerModal = function (modal, removeOnClose, animated) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof animated === 'undefined') animated = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n modal = $(modal);\n if (modal.length > 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if ($('.picker-modal.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.picker-modal.modal-in:not(.modal-out)');\n }\n modal.show();\n app.openModal(modal, animated);\n return modal[0];\n };\n app.loginScreen = function (modal, animated) {\n if (!modal) modal = '.login-screen';\n if (typeof animated === 'undefined') animated = true;\n modal = $(modal);\n if (modal.length === 0) return false;\n if ($('.login-screen.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.login-screen.modal-in:not(.modal-out)');\n }\n modal.show();\n \n app.openModal(modal, animated);\n return modal[0];\n };\n app.openModal = function (modal, animated) {\n if (typeof animated === 'undefined') animated = true;\n modal = $(modal);\n modal[animated ? 'removeClass' : 'addClass']('not-animated');\n \n var isModal = modal.hasClass('modal');\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n var isActions = modal.hasClass('actions-modal');\n \n // Modal Event Prefix\n var modalType = 'modal';\n if (isPopover) modalType = 'popover';\n if (isPopup) modalType = 'popup';\n if (isLoginScreen) modalType = 'loginscreen';\n if (isPickerModal) modalType = 'picker';\n if (isActions) modalType = 'actions';\n \n if ($('.modal.modal-in:not(.modal-out)').length && app.params.modalStack && isModal) {\n app.modalStack.push(function () {\n app.openModal(modal);\n });\n return;\n }\n \n // do nothing if this modal already shown\n if (true === modal.data('f7-modal-shown')) {\n return;\n }\n modal.data('f7-modal-shown', true);\n \n // Move modal\n var modalParent = modal.parent();\n if (app.params.modalsMoveToRoot && !modalParent.is(app.root)) {\n app.root.append(modal);\n modal.once(modalType + ':closed', function() {\n modalParent.append(modal);\n });\n }\n \n modal.once(modalType + ':close', function() {\n modal.removeData('f7-modal-shown');\n });\n \n if (isModal) {\n modal.show();\n modal.css({\n marginTop: - Math.round(modal.outerHeight() / 2) + 'px'\n });\n }\n \n var overlay;\n if (!isLoginScreen && !isPickerModal) {\n if ($('.modal-overlay').length === 0 && !isPopup) {\n app.root.append('
');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n app.root.append('
');\n }\n overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\n }\n if (app.params.material && isPickerModal) {\n if (modal.hasClass('picker-calendar')) {\n if ($('.picker-modal-overlay').length === 0 && !isPopup) {\n app.root.append('
');\n }\n overlay = $('.picker-modal-overlay');\n }\n }\n if (overlay) {\n overlay[animated ? 'removeClass' : 'addClass']('not-animated');\n }\n \n //Make sure that styles are applied, trigger relayout;\n var clientLeft = modal[0].clientLeft;\n \n // Trugger open event\n modal.trigger('open ' + modalType + ':open');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').addClass('with-picker-modal');\n }\n \n // Init Pages and Navbars in modal\n if (modal.find('.' + app.params.viewClass).length > 0) {\n modal.find('.page').each(function () {\n app.initPageWithCallback(this);\n });\n modal.find('.navbar').each(function () {\n app.initNavbarWithCallback(this);\n });\n }\n \n // Classes for transition in\n if (!isLoginScreen && !isPickerModal) overlay.addClass('modal-overlay-visible');\n if (app.params.material && isPickerModal && overlay) overlay.addClass('modal-overlay-visible');\n if (animated) {\n modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed ' + modalType + ':closed');\n else modal.trigger('opened ' + modalType + ':opened');\n });\n }\n else {\n modal.removeClass('modal-out').addClass('modal-in');\n modal.trigger('opened ' + modalType + ':opened');\n }\n return true;\n };\n app.closeModal = function (modal, animated) {\n if (typeof animated === 'undefined') animated = true;\n modal = $(modal || '.modal-in');\n if (typeof modal !== 'undefined' && modal.length === 0) {\n return;\n }\n modal[animated ? 'removeClass' : 'addClass']('not-animated');\n var isModal = modal.hasClass('modal');\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n var isActions = modal.hasClass('actions-modal');\n \n // Modal Event Prefix\n var modalType = 'modal';\n if (isPopover) modalType = 'popover';\n if (isPopup) modalType = 'popup';\n if (isLoginScreen) modalType = 'loginscreen';\n if (isPickerModal) modalType = 'picker';\n if (isActions) modalType = 'actions';\n \n var removeOnClose = modal.hasClass('remove-on-close');\n \n // For Actions\n var keepOnClose = modal.hasClass('keep-on-close');\n \n var overlay;\n \n if (isPopup) overlay = $('.popup-overlay');\n else {\n if (isPickerModal && app.params.material) overlay = $('.picker-modal-overlay');\n else if (!isPickerModal) overlay = $('.modal-overlay');\n }\n \n if (isPopup){\n if (modal.length === $('.popup.modal-in').length) {\n overlay.removeClass('modal-overlay-visible');\n }\n }\n else if (overlay && overlay.length > 0) {\n overlay.removeClass('modal-overlay-visible');\n }\n if (overlay) overlay[animated ? 'removeClass' : 'addClass']('not-animated');\n \n modal.trigger('close ' + modalType + ':close');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').removeClass('with-picker-modal');\n $('body').addClass('picker-modal-closing');\n }\n \n if (!(isPopover && !app.params.material)) {\n if (animated) {\n modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed ' + modalType + ':closed');\n else {\n modal.trigger('opened ' + modalType + ':opened');\n if (isPopover) return;\n }\n \n if (isPickerModal) {\n $('body').removeClass('picker-modal-closing');\n }\n if (isPopup || isLoginScreen || isPickerModal || isPopover) {\n modal.removeClass('modal-out').hide();\n if (removeOnClose && modal.length > 0) {\n modal.remove();\n }\n }\n else if (!keepOnClose) {\n modal.remove();\n }\n });\n }\n else {\n modal.trigger('closed ' + modalType + ':closed');\n modal.removeClass('modal-in modal-out');\n if (isPickerModal) {\n $('body').removeClass('picker-modal-closing');\n }\n if (isPopup || isLoginScreen || isPickerModal || isPopover) {\n modal.hide();\n if (removeOnClose && modal.length > 0) {\n modal.remove();\n }\n }\n else if (!keepOnClose) {\n modal.remove();\n }\n }\n if (isModal && app.params.modalStack) {\n app.modalStackClearQueue();\n }\n }\n else {\n modal.removeClass('modal-in modal-out not-animated').trigger('closed ' + modalType + ':closed').hide();\n if (removeOnClose) {\n modal.remove();\n }\n }\n return true;\n };\n \n\n /*===============================================================================\n ************ Progress Bar ************\n ===============================================================================*/\n app.setProgressbar = function (container, progress, speed) {\n container = $(container || app.root);\n if (container.length === 0) return;\n if (progress) progress = Math.min(Math.max(progress, 0), 100);\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar');\n }\n if (progressbar.length === 0 || progressbar.hasClass('progressbar-infinite')) return;\n var clientLeft = progressbar[0].clientLeft;\n progressbar.children('span').transform('translate3d(' + (-100 + progress) + '%,0,0)');\n if (typeof speed !== 'undefined') {\n progressbar.children('span').transition(speed);\n }\n else {\n progressbar.children('span').transition('');\n }\n return progressbar[0];\n };\n app.showProgressbar = function (container, progress, color) {\n if (typeof container === 'number') {\n container = app.root;\n progress = arguments[0];\n color = arguments[1];\n }\n if (progress && typeof progress === 'string' && parseFloat(progress) !== progress * 1) {\n color = progress;\n progress = undefined;\n }\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)');\n if (progressbar.length === 0) {\n // Create one\n if (typeof progress !== 'undefined') {\n // Determined\n progressbar = $('');\n }\n else {\n // Infinite\n progressbar = $('');\n }\n container.append(progressbar);\n }\n }\n if (progress) app.setProgressbar(container, progress);\n return progressbar[0];\n };\n app.hideProgressbar = function (container) {\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar, .progressbar-infinite');\n }\n if (progressbar.length === 0 || !progressbar.hasClass('progressbar-in') || progressbar.hasClass('progressbar-out')) return;\n progressbar.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () {\n progressbar.remove();\n progressbar = null;\n });\n return;\n };\n app.initPageProgressbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n pageContainer.find('.progressbar').each(function () {\n var p = $(this);\n if (p.children('span').length === 0) p.append('');\n if (p.attr('data-progress')) app.setProgressbar(p, p.attr('data-progress'));\n });\n };\n\n /*======================================================\n ************ Panels ************\n ======================================================*/\n app.allowPanelOpen = true;\n app.openPanel = function (panelPosition, animated) {\n if (typeof animated === 'undefined') animated = true;\n if (!app.allowPanelOpen) return false;\n var panel = $('.panel-' + panelPosition);\n if (panel.length === 0 || panel.hasClass('active') || panel.hasClass('panel-visible-by-breakpoint')) return false;\n app.closePanel(); // Close if some panel is opened\n app.allowPanelOpen = false;\n var effect = panel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n panel[animated ? 'removeClass' : 'addClass']('not-animated');\n panel.css({display: 'block'}).addClass('active');\n panel.trigger('open panel:open');\n \n var panelOverlay = $('.panel-overlay');\n panelOverlay[animated ? 'removeClass' : 'addClass']('not-animated');\n panelOverlay.show();\n \n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n \n // Trigger reLayout\n var clientLeft = panel[0].clientLeft;\n \n // Transition End;\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : panel;\n \n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if ($(e.target).is(transitionEndTarget)) {\n if (panel.hasClass('active')) {\n panel.trigger('opened panel:opened');\n }\n else {\n panel.trigger('closed panel:closed');\n }\n panelOverlay.css({display: ''});\n app.allowPanelOpen = true;\n }\n else panelTransitionEnd();\n });\n }\n if (animated) {\n panelTransitionEnd(); \n }\n else {\n panel.trigger('opened panel:opened');\n panelOverlay.css({display: ''});\n app.allowPanelOpen = true;\n }\n \n $('body').addClass('with-panel-' + panelPosition + '-' + effect);\n return true;\n };\n app.closePanel = function (animated) {\n if (typeof animated === 'undefined') animated = true;\n var activePanel = $('.panel.active');\n if (activePanel.length === 0 || activePanel.hasClass('panel-visible-by-breakpoint')) return false;\n var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right';\n activePanel[animated ? 'removeClass' : 'addClass']('not-animated');\n activePanel.removeClass('active');\n \n var panelOverlay = $('.panel-overlay');\n panelOverlay.removeClass('not-animated');\n \n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel;\n activePanel.trigger('close panel:close');\n app.allowPanelOpen = false;\n if (animated) {\n transitionEndTarget.transitionEnd(function () {\n if (activePanel.hasClass('active')) return;\n activePanel.css({display: ''});\n activePanel.trigger('closed panel:closed');\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect);\n }\n else {\n activePanel.css({display: ''});\n activePanel.trigger('closed panel:closed');\n activePanel.removeClass('not-animated');\n $('body').removeClass('with-panel-' + panelPosition + '-' + effect);\n app.allowPanelOpen = true;\n }\n };\n /*======================================================\n ************ Panels breakpoints ************\n ======================================================*/\n app.initPanelsBreakpoints = function () {\n var panelLeft = $('.panel-left');\n var panelRight = $('.panel-right');\n var views = app.root.children('.views');\n var ww, wasVisible;\n function setPanels() {\n ww = $(window).width();\n \n // Left Panel\n if (app.params.panelLeftBreakpoint && panelLeft.length > 0) {\n wasVisible = panelLeft.hasClass('panel-visible-by-breakpoint');\n if (ww >= app.params.panelLeftBreakpoint) {\n if (!wasVisible) {\n $('body').removeClass('with-panel-left-reveal with-panel-left-cover');\n panelLeft.css('display', '').addClass('panel-visible-by-breakpoint').removeClass('active');\n panelLeft.trigger('open panel:open opened panel:opened');\n views.css({\n 'margin-left': panelLeft.width() + 'px' \n });\n app.allowPanelOpen = true;\n }\n }\n else {\n if (wasVisible) {\n panelLeft.css('display', '').removeClass('panel-visible-by-breakpoint active');\n panelLeft.trigger('close panel:close closed panel:closed');\n views.css({\n 'margin-left': ''\n });\n app.allowPanelOpen = true;\n }\n }\n }\n // Right Panel\n if (app.params.panelRightBreakpoint && panelRight.length > 0) {\n wasVisible = panelRight.hasClass('panel-visible-by-breakpoint');\n if (ww >= app.params.panelRightBreakpoint) {\n if (!wasVisible) {\n $('body').removeClass('with-panel-right-reveal with-panel-right-cover');\n panelRight.css('display', '').addClass('panel-visible-by-breakpoint').removeClass('active');\n panelRight.trigger('open panel:open opened panel:opened');\n views.css({\n 'margin-right': panelRight.width() + 'px' \n });\n app.allowPanelOpen = true;\n }\n }\n else {\n if (wasVisible) {\n panelRight.css('display', '').removeClass('panel-visible-by-breakpoint active');\n panelRight.trigger('close panel:close closed panel:closed');\n views.css({\n 'margin-right': ''\n });\n app.allowPanelOpen = true;\n }\n }\n }\n }\n $(window).on('resize', setPanels);\n setPanels();\n };\n /*======================================================\n ************ Swipe panels ************\n ======================================================*/\n app.initSwipePanels = function () {\n var panel, side;\n if (app.params.swipePanel) {\n panel = $('.panel.panel-' + app.params.swipePanel);\n side = app.params.swipePanel;\n if (panel.length === 0 && side !== 'both') return;\n }\n else {\n if (app.params.swipePanelOnlyClose) {\n if ($('.panel').length === 0) return;\n }\n else return;\n }\n \n var panelOverlay = $('.panel-overlay');\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, overlayOpacity, opened, panelWidth, effect, direction;\n var views = $('.' + app.params.viewsClass);\n \n function handleTouchStart(e) {\n if (!app.allowPanelOpen || (!app.params.swipePanel && !app.params.swipePanelOnlyClose) || isTouched) return;\n if ($('.modal-in, .photo-browser-in').length > 0) return;\n if (!(app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose)) {\n if ($('.panel.active').length > 0 && !panel.hasClass('active')) return;\n }\n if (e.target && e.target.nodeName.toLowerCase() === 'input' && e.target.type === 'range') return;\n if ($(e.target).closest('.tabs-swipeable-wrap').length > 0) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n if (app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose) {\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n if (app.params.swipePanelOnlyClose) return;\n side = app.params.swipePanel;\n }\n if (!side) return;\n }\n panel = $('.panel.panel-' + side);\n opened = panel.hasClass('active');\n if (app.params.swipePanelActiveArea && !opened) {\n if (side === 'left') {\n if (touchesStart.x > app.params.swipePanelActiveArea) return;\n }\n if (side === 'right') {\n if (touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) return;\n }\n }\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n \n touchStartTime = (new Date()).getTime();\n direction = undefined;\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n if (e.f7PreventPanelSwipe) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n if (!direction) {\n if (pageX > touchesStart.x) {\n direction = 'to-right';\n }\n else {\n direction = 'to-left';\n }\n \n if(side === 'both'){\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n side = direction === 'to-right' ? 'left' : 'right';\n }\n if (app.params.swipePanelActiveArea > 0) {\n if (side === 'left' && touchesStart.x > app.params.swipePanelActiveArea) {\n isTouched = false;\n return;\n }\n if (side === 'right' && touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) {\n isTouched = false;\n return;\n }\n }\n panel = $('.panel.panel-' + side);\n }\n if (panel.hasClass('panel-visible-by-breakpoint')) {\n isTouched = false;\n return;\n }\n \n if (\n side === 'left' &&\n (\n direction === 'to-left' && !panel.hasClass('active')\n ) ||\n side === 'right' &&\n (\n direction === 'to-right' && !panel.hasClass('active')\n )\n )\n {\n isTouched = false;\n return;\n }\n }\n \n if (app.params.swipePanelNoFollow) {\n var timeDiff = (new Date()).getTime() - touchStartTime;\n if (timeDiff < 300) {\n if (direction === 'to-left') {\n if (side === 'right') app.openPanel(side);\n if (side === 'left' && panel.hasClass('active')) app.closePanel();\n }\n if (direction === 'to-right') {\n if (side === 'left') app.openPanel(side);\n if (side === 'right' && panel.hasClass('active')) app.closePanel();\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n \n if (!isMoved) {\n effect = panel.hasClass('panel-cover') ? 'cover' : 'reveal';\n if (!opened) {\n panel.show();\n panelOverlay.show();\n }\n panelWidth = panel[0].offsetWidth;\n panel.transition(0);\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n }\n \n isMoved = true;\n \n e.preventDefault();\n var threshold = opened ? 0 : -app.params.swipePanelThreshold;\n if (side === 'right') threshold = -threshold;\n \n touchesDiff = pageX - touchesStart.x + threshold;\n \n if (side === 'right') {\n translate = touchesDiff - (opened ? panelWidth : 0);\n if (translate > 0) translate = 0;\n if (translate < -panelWidth) {\n translate = -panelWidth;\n }\n }\n else {\n translate = touchesDiff + (opened ? panelWidth : 0);\n if (translate < 0) translate = 0;\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n }\n if (effect === 'reveal') {\n views.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n panelOverlay.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n \n panel.trigger('panel:swipe', {progress: Math.abs(translate / panelWidth)});\n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n else {\n panel.transform('translate3d(' + (translate - panelWidth) + 'px,0,0)').transition(0);\n \n panelOverlay.transition(0);\n overlayOpacity = Math.abs(translate/panelWidth);\n panelOverlay.css({opacity: overlayOpacity});\n \n panel.trigger('panel:swipe', {progress: Math.abs(translate / panelWidth)});\n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action;\n var edge = (translate === 0 || Math.abs(translate) === panelWidth);\n \n if (!opened) {\n if (translate === 0) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) > 0 ||\n timeDiff >= 300 && (Math.abs(translate) >= panelWidth / 2)\n ) {\n action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n else {\n if (translate === -panelWidth) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) >= 0 ||\n timeDiff >= 300 && (Math.abs(translate) <= panelWidth / 2)\n ) {\n if (side === 'left' && translate === panelWidth) action = 'reset';\n else action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n if (action === 'swap') {\n app.allowPanelOpen = true;\n if (opened) {\n app.closePanel();\n if (edge) {\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n }\n }\n else {\n app.openPanel(side);\n }\n if (edge) app.allowPanelOpen = true;\n }\n if (action === 'reset') {\n if (opened) {\n app.allowPanelOpen = true;\n app.openPanel(side);\n }\n else {\n app.closePanel();\n if (edge) {\n app.allowPanelOpen = true;\n panel.css({display: ''});\n }\n else {\n var target = effect === 'reveal' ? views : panel;\n panel.trigger('close panel:close');\n $('body').addClass('panel-closing');\n target.transitionEnd(function () {\n panel.trigger('close panel:closed');\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n }\n }\n }\n if (effect === 'reveal') {\n views.transition('');\n views.transform('');\n }\n panel.transition('').transform('');\n panelOverlay.css({display: ''}).transform('').transition('').css('opacity', '');\n }\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n var activeListener = app.support.passiveListener ? {passive: false, capture: false} : false;\n $(document).on(app.touchEvents.start, handleTouchStart, passiveListener);\n $(document).on(app.touchEvents.move, handleTouchMove, activeListener);\n $(document).on(app.touchEvents.end, handleTouchEnd, passiveListener);\n };\n \n\n /*======================================================\n ************ Image Lazy Loading ************\n ************ Based on solution by Marc Godard, https://github.com/MarcGodard ************\n ======================================================*/\n app.initImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n \n // Lazy images\n var lazyLoadImages;\n if (pageContainer.hasClass('lazy')) {\n lazyLoadImages = pageContainer;\n pageContainer = lazyLoadImages.parents('.page');\n }\n else {\n lazyLoadImages = pageContainer.find('.lazy');\n }\n if (lazyLoadImages.length === 0) return;\n \n // Scrollable page content\n var pageContent;\n if (pageContainer.hasClass('page-content')) {\n pageContent = pageContainer;\n pageContainer = pageContainer.parents('.page');\n }\n else {\n pageContent = pageContainer.find('.page-content');\n }\n if (pageContent.length === 0) return;\n \n // Placeholder\n var placeholderSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';\n if (typeof app.params.imagesLazyLoadPlaceholder === 'string') {\n placeholderSrc = app.params.imagesLazyLoadPlaceholder;\n }\n if (app.params.imagesLazyLoadPlaceholder !== false) lazyLoadImages.each(function(){\n if ($(this).attr('data-src')) $(this).attr('src', placeholderSrc);\n });\n \n // load image\n var imagesSequence = [];\n var imageIsLoading = false;\n function loadImage(el) {\n el = $(el);\n \n var bg = el.attr('data-background');\n var src = bg ? bg : el.attr('data-src');\n if (!src) return;\n \n function onLoad() {\n el.removeClass('lazy').addClass('lazy-loaded');\n if (bg) {\n el.css('background-image', 'url(' + src + ')');\n }\n else {\n el.attr('src', src);\n }\n \n if (app.params.imagesLazyLoadSequential) {\n imageIsLoading = false;\n if (imagesSequence.length > 0) {\n loadImage(imagesSequence.shift());\n }\n }\n }\n \n function onError() {\n el.removeClass('lazy').addClass('lazy-loaded');\n if (bg) {\n el.css('background-image', 'url(' + placeholderSrc + ')');\n }\n else {\n el.attr('src', placeholderSrc);\n }\n \n if (app.params.imagesLazyLoadSequential) {\n imageIsLoading = false;\n if (imagesSequence.length > 0) {\n loadImage(imagesSequence.shift());\n }\n }\n }\n \n if (app.params.imagesLazyLoadSequential) {\n if (imageIsLoading) {\n if (imagesSequence.indexOf(el[0]) < 0) imagesSequence.push(el[0]);\n return;\n }\n }\n \n // Loading flag\n imageIsLoading = true;\n \n var image = new Image();\n image.onload = onLoad;\n image.onerror = onError;\n image.src =src;\n }\n function lazyHandler() {\n lazyLoadImages = pageContainer.find('.lazy');\n lazyLoadImages.each(function(index, el) {\n el = $(el);\n if (el.parents('.tab:not(.active)').length > 0) {\n return;\n }\n if (isElementInViewport(el[0])) {\n loadImage(el);\n }\n });\n }\n \n function isElementInViewport (el) {\n var rect = el.getBoundingClientRect();\n var threshold = app.params.imagesLazyLoadThreshold || 0;\n return (\n rect.top >= (0 - threshold) &&\n rect.left >= (0 - threshold) &&\n rect.top <= (window.innerHeight + threshold) &&\n rect.left <= (window.innerWidth + threshold)\n );\n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n lazyLoadImages[method]('lazy', lazyHandler);\n lazyLoadImages.parents('.tab')[method]('show', lazyHandler);\n pageContainer[method]('lazy', lazyHandler);\n pageContent[method]('lazy', lazyHandler);\n pageContent[method]('scroll', lazyHandler);\n $(window)[method]('resize', lazyHandler);\n }\n function detachEvents() {\n attachEvents(true);\n }\n \n // Store detach function\n pageContainer[0].f7DestroyImagesLazyLoad = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Destroy on page remove\n if (pageContainer.hasClass('page')) {\n pageContainer.once('page:beforeremove', detachEvents);\n }\n \n // Run loader on page load/init\n lazyHandler();\n \n // Run after page animation\n pageContainer.once('page:afteranimation', lazyHandler);\n };\n app.destroyImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) {\n pageContainer[0].f7DestroyImagesLazyLoad();\n }\n };\n app.reinitImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0) {\n pageContainer.trigger('lazy');\n }\n };\n \n\n /*======================================================\n ************ Material Preloader ************\n ======================================================*/\n app.initPageMaterialPreloader = function (pageContainer) {\n $(pageContainer).find('.preloader').each(function () {\n if ($(this).children().length === 0) {\n $(this).html(app.params.materialPreloaderHtml);\n }\n });\n };\n\n /*======================================================\n ************ Messages ************\n ======================================================*/\n var Messages = function (container, params) {\n var defaults = {\n autoLayout: true,\n newMessagesFirst: false,\n scrollMessages: true,\n scrollMessagesOnlyOnEdge: false,\n messageTemplate:\n '{{#if day}}' +\n '
{{day}} {{#if time}}, {{time}}{{/if}}
' +\n '{{/if}}' +\n '
' +\n '{{#if name}}
{{name}}
{{/if}}' +\n '
{{text}}{{#if date}}
{{date}}
{{/if}}
' +\n '{{#if avatar}}
{{/if}}' +\n '{{#if label}}
{{label}}
{{/if}}' +\n '
'\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Autolayout\n if (m.params.autoLayout) m.container.addClass('messages-auto-layout');\n \n // New messages first\n if (m.params.newMessagesFirst) m.container.addClass('messages-new-first');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Compiled template\n m.template = Template7.compile(m.params.messageTemplate);\n \n // Auto Layout\n m.layout = function () {\n if (!m.container.hasClass('messages-auto-layout')) m.container.addClass('messages-auto-layout');\n m.container.find('.message').each(function () {\n var message = $(this);\n if (message.find('.message-text img').length > 0) {\n var childNodes = message.find('.message-text')[0].childNodes;\n var onlyPic = true;\n for (var i = 0 ; i < childNodes.length; i++) {\n if (childNodes[i].nodeType === 1 && childNodes[i].nodeName.toLowerCase() !== 'img') onlyPic = false;\n if (childNodes[i].nodeType === 3 && childNodes[i].textContent.trim() !== '') onlyPic = false;\n }\n if (onlyPic) message.addClass('message-pic');\n else message.removeClass('message-pic');\n }\n if (message.find('.message-avatar').length > 0) message.addClass('message-with-avatar');\n });\n m.container.find('.message').each(function () {\n var message = $(this);\n var isSent = message.hasClass('message-sent');\n var next = message.next('.message-' + (isSent ? 'sent' : 'received'));\n var prev = message.prev('.message-' + (isSent ? 'sent' : 'received'));\n if (next.length === 0) {\n message.addClass('message-last message-with-tail');\n }\n else message.removeClass('message-last message-with-tail');\n \n if (prev.length === 0) {\n message.addClass('message-first');\n }\n else message.removeClass('message-first');\n \n if (prev.length > 0 && prev.find('.message-name').length > 0 && message.find('.message-name').length > 0) {\n if (prev.find('.message-name').text() !== message.find('.message-name').text()) {\n prev.addClass('message-last message-with-tail');\n message.addClass('message-first');\n }\n }\n });\n };\n \n // Add Message\n m.appendMessage = function (props, animate) {\n return m.addMessage(props, 'append', animate);\n };\n m.prependMessage = function (props, animate) {\n return m.addMessage(props, 'prepend', animate);\n };\n m.addMessage = function (props, method, animate) {\n return m.addMessages([props], method, animate);\n };\n m.addMessages = function (newMessages, method, animate) {\n if (typeof animate === 'undefined') {\n animate = true;\n }\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n }\n var newMessagesHTML = '', i;\n for (i = 0; i < newMessages.length; i++) {\n var props = newMessages[i] || {};\n props.type = props.type || 'sent';\n if (!props.text) continue;\n props.hasImage = props.text.indexOf('= 0;\n if (props.onlyImage === false) props.hasImage = false;\n if (animate) props.position = method === 'append' ? 'bottom' : 'top';\n \n newMessagesHTML += m.template(props);\n }\n var scrollHeightBefore = m.pageContent[0].scrollHeight,\n heightBefore = m.pageContent[0].offsetHeight,\n scrollBefore = m.pageContent[0].scrollTop;\n m.container[method](newMessagesHTML);\n if (m.params.autoLayout) m.layout();\n if (method === 'prepend') {\n m.pageContent[0].scrollTop = scrollBefore + (m.pageContent[0].scrollHeight - scrollHeightBefore);\n }\n if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) {\n if (m.params.scrollMessagesOnlyOnEdge) {\n var onEdge = false;\n if (m.params.newMessagesFirst) {\n if (scrollBefore === 0) onEdge = true;\n }\n else {\n if (scrollBefore - (scrollHeightBefore - heightBefore) >= -10) onEdge = true;\n }\n if (onEdge) m.scrollMessages(animate ? undefined : 0);\n }\n else m.scrollMessages(animate ? undefined : 0);\n }\n var messages = m.container.find('.message');\n if (newMessages.length === 1) {\n return method === 'append' ? messages[messages.length - 1] : messages[0];\n }\n else {\n var messagesToReturn = [];\n if (method === 'append') {\n for (i = messages.length - newMessages.length; i < messages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n else {\n for (i = 0; i < newMessages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n return messagesToReturn;\n }\n \n };\n m.removeMessage = function (message) {\n message = $(message);\n if (message.length === 0) {\n return false;\n }\n else {\n message.remove();\n if (m.params.autoLayout) m.layout();\n return true;\n }\n };\n m.removeMessages = function (messages) {\n m.removeMessage(messages);\n };\n m.clean = function () {\n m.container.html('');\n };\n \n // Scroll\n m.scrollMessages = function (duration, scrollTop) {\n if (typeof duration === 'undefined') duration = 400;\n var currentScroll = m.pageContent[0].scrollTop;\n var newScroll;\n if (typeof scrollTop !== 'undefined') newScroll = scrollTop;\n else {\n newScroll = m.params.newMessagesFirst ? 0 : m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight;\n if (newScroll === currentScroll) return;\n }\n m.pageContent.scrollTop(newScroll, duration);\n };\n \n // Init Destroy\n m.init = function () {\n if (m.params.messages) {\n m.addMessages(m.params.messages, undefined, false);\n }\n else {\n if (m.params.autoLayout) m.layout();\n m.scrollMessages(0);\n }\n \n };\n m.destroy = function () {\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messages = m;\n return m;\n };\n app.messages = function (container, params) {\n return new Messages (container, params);\n };\n app.initPageMessages = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messages = pageContainer.find('.messages');\n if (messages.length === 0) return;\n if (!messages.hasClass('messages-init')) {\n return;\n }\n var m = app.messages(messages, messages.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n m.destroy();\n pageContainer.off('page:beforeremove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('page:beforeremove', pageBeforeRemove);\n }\n };\n \n\n /*===============================================================================\n ************ Swipeout Actions (Swipe to delete) ************\n ===============================================================================*/\n app.swipeoutOpenedEl = undefined;\n app.allowSwipeout = true;\n app.initSwipeout = function (swipeoutEl) {\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, swipeOutEl, swipeOutContent, actionsRight, actionsLeft, actionsLeftWidth, actionsRightWidth, translate, opened, openedActions, buttonsLeft, buttonsRight, direction, overswipeLeftButton, overswipeRightButton, overswipeLeft, overswipeRight, noFoldLeft, noFoldRight;\n \n var activeListener = app.support.passiveListener ? {passive: false, capture: false} : false;\n \n $(document).on(app.touchEvents.start, function (e) {\n if (app.swipeoutOpenedEl) {\n var target = $(e.target);\n if (!(\n app.swipeoutOpenedEl.is(target[0]) ||\n target.parents('.swipeout').is(app.swipeoutOpenedEl) ||\n target.hasClass('modal-in') ||\n target.hasClass('modal-overlay') ||\n target.hasClass('actions-modal') || \n target.parents('.actions-modal.modal-in, .modal.modal-in').length > 0\n )) {\n app.swipeoutClose(app.swipeoutOpenedEl);\n }\n }\n }, activeListener);\n \n function handleTouchStart(e) {\n if (!app.allowSwipeout) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n \n if (!isMoved) {\n if ($('.list-block.sortable-opened').length > 0) return;\n /*jshint validthis:true */\n swipeOutEl = $(this);\n swipeOutContent = swipeOutEl.find('.swipeout-content');\n actionsRight = swipeOutEl.find('.swipeout-actions-right');\n actionsLeft = swipeOutEl.find('.swipeout-actions-left');\n actionsLeftWidth = actionsRightWidth = buttonsLeft = buttonsRight = overswipeRightButton = overswipeLeftButton = null;\n noFoldLeft = actionsLeft.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n noFoldRight = actionsRight.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n if (actionsLeft.length > 0) {\n actionsLeftWidth = actionsLeft.outerWidth();\n buttonsLeft = actionsLeft.children('a');\n overswipeLeftButton = actionsLeft.find('.swipeout-overswipe');\n }\n if (actionsRight.length > 0) {\n actionsRightWidth = actionsRight.outerWidth();\n buttonsRight = actionsRight.children('a');\n overswipeRightButton = actionsRight.find('.swipeout-overswipe');\n }\n opened = swipeOutEl.hasClass('swipeout-opened');\n if (opened) {\n openedActions = swipeOutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right';\n }\n swipeOutEl.removeClass('transitioning');\n if (!app.params.swipeoutNoFollow) {\n swipeOutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n swipeOutEl.removeClass('swipeout-opened');\n }\n }\n isMoved = true;\n e.preventDefault();\n \n touchesDiff = pageX - touchesStart.x;\n translate = touchesDiff;\n \n if (opened) {\n if (openedActions === 'right') translate = translate - actionsRightWidth;\n else translate = translate + actionsLeftWidth;\n }\n \n if (translate > 0 && actionsLeft.length === 0 || translate < 0 && actionsRight.length === 0) {\n if (!opened) {\n isTouched = isMoved = false;\n swipeOutContent.transform('');\n if (buttonsRight && buttonsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (buttonsLeft && buttonsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n return;\n }\n translate = 0;\n }\n \n if (translate < 0) direction = 'to-left';\n else if (translate > 0) direction = 'to-right';\n else {\n if (!direction) direction = 'to-left';\n }\n \n var i, buttonOffset, progress;\n \n e.f7PreventPanelSwipe = true;\n if (app.params.swipeoutNoFollow) {\n if (opened) {\n if (openedActions === 'right' && touchesDiff > 0) {\n app.swipeoutClose(swipeOutEl);\n }\n if (openedActions === 'left' && touchesDiff < 0) {\n app.swipeoutClose(swipeOutEl);\n }\n }\n else {\n if (touchesDiff < 0 && actionsRight.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'right');\n }\n if (touchesDiff > 0 && actionsLeft.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'left');\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n overswipeLeft = false;\n overswipeRight = false;\n var $button;\n if (actionsRight.length > 0) {\n // Show right actions\n progress = translate / actionsRightWidth;\n if (translate < -actionsRightWidth) {\n translate = -actionsRightWidth - Math.pow(-translate - actionsRightWidth, 0.8);\n if (overswipeRightButton.length > 0) {\n overswipeRight = true;\n }\n }\n for (i = 0; i < buttonsRight.length; i++) {\n if (typeof buttonsRight[i]._buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n buttonOffset = buttonsRight[i]._buttonOffset;\n $button = $(buttonsRight[i]);\n if (overswipeRightButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeRight ? -buttonOffset : 0) + 'px'});\n if (overswipeRight) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n $button.transform('translate3d(' + (translate - buttonOffset * (1 + Math.max(progress, -1))) + 'px,0,0)');\n }\n }\n if (actionsLeft.length > 0) {\n // Show left actions\n progress = translate / actionsLeftWidth;\n if (translate > actionsLeftWidth) {\n translate = actionsLeftWidth + Math.pow(translate - actionsLeftWidth, 0.8);\n if (overswipeLeftButton.length > 0) {\n overswipeLeft = true;\n }\n }\n for (i = 0; i < buttonsLeft.length; i++) {\n if (typeof buttonsLeft[i]._buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n buttonOffset = buttonsLeft[i]._buttonOffset;\n $button = $(buttonsLeft[i]);\n if (overswipeLeftButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeLeft ? buttonOffset : 0) + 'px'});\n if (overswipeLeft) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n if (buttonsLeft.length > 1) {\n $button.css('z-index', buttonsLeft.length - i); \n }\n $button.transform('translate3d(' + (translate + buttonOffset * (1 - Math.min(progress, 1))) + 'px,0,0)');\n }\n }\n swipeOutContent.transform('translate3d(' + translate + 'px,0,0)');\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n \n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action, actionsWidth, actions, buttons, i;\n \n actions = direction === 'to-left' ? actionsRight : actionsLeft;\n actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth;\n \n if (\n timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') ||\n timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2\n ) {\n action = 'open';\n }\n else {\n action = 'close';\n }\n if (timeDiff < 300) {\n if (Math.abs(translate) === 0) action = 'close';\n if (Math.abs(translate) === actionsWidth) action = 'open';\n }\n \n if (action === 'open') {\n app.swipeoutOpenedEl = swipeOutEl;\n swipeOutEl.trigger('open swipeout:open');\n swipeOutEl.addClass('swipeout-opened transitioning');\n var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth;\n swipeOutContent.transform('translate3d(' + newTranslate + 'px,0,0)');\n actions.addClass('swipeout-actions-opened');\n buttons = direction === 'to-left' ? buttonsRight : buttonsLeft;\n if (buttons) {\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + newTranslate + 'px,0,0)');\n }\n }\n if (overswipeRight) {\n actionsRight.find('.swipeout-overswipe')[0].click();\n }\n if (overswipeLeft) {\n actionsLeft.find('.swipeout-overswipe')[0].click();\n }\n }\n else {\n swipeOutEl.trigger('close swipeout:close');\n app.swipeoutOpenedEl = undefined;\n swipeOutEl.addClass('transitioning').removeClass('swipeout-opened');\n swipeOutContent.transform('');\n actions.removeClass('swipeout-actions-opened');\n }\n \n var buttonOffset;\n if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) {\n for (i = 0; i < buttonsLeft.length; i++) {\n buttonOffset = buttonsLeft[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n $(buttonsLeft[i]).transform('translate3d(' + (buttonOffset) + 'px,0,0)');\n }\n }\n if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) {\n for (i = 0; i < buttonsRight.length; i++) {\n buttonOffset = buttonsRight[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n $(buttonsRight[i]).transform('translate3d(' + (-buttonOffset) + 'px,0,0)');\n }\n }\n swipeOutContent.transitionEnd(function (e) {\n if (opened && action === 'open' || closed && action === 'close') return;\n swipeOutEl.trigger(action === 'open' ? 'opened' : 'closed');\n if (opened && action === 'close') {\n if (actionsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (actionsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n }\n });\n }\n if (swipeoutEl) {\n $(swipeoutEl).on(app.touchEvents.start, handleTouchStart, activeListener);\n $(swipeoutEl).on(app.touchEvents.move, handleTouchMove, activeListener);\n $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd, activeListener);\n }\n else {\n $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart, activeListener);\n $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove, activeListener);\n $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd, activeListener);\n }\n \n };\n app.swipeoutOpen = function (el, dir, callback) {\n el = $(el);\n if (arguments.length === 2) {\n if (typeof arguments[1] === 'function') {\n callback = dir;\n }\n }\n \n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n if (!el.hasClass('swipeout') || el.hasClass('swipeout-opened')) return;\n if (!dir) {\n if (el.find('.swipeout-actions-right').length > 0) dir = 'right';\n else dir = 'left';\n }\n var swipeOutActions = el.find('.swipeout-actions-' + dir);\n if (swipeOutActions.length === 0) return;\n el.trigger('open swipeout:open').addClass('swipeout-opened').removeClass('transitioning');\n swipeOutActions.addClass('swipeout-actions-opened');\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n var translate = dir === 'right' ? -swipeOutActionsWidth : swipeOutActionsWidth;\n var i;\n if (buttons.length > 1) {\n for (i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (- buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).css('z-index', buttons.length - i).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n }\n var clientLeft = buttons[1].clientLeft;\n }\n el.addClass('transitioning');\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + (translate) + 'px,0,0)');\n }\n el.find('.swipeout-content').transform('translate3d(' + translate + 'px,0,0)').transitionEnd(function () {\n el.trigger('opened swipeout:opened');\n if (callback) callback.call(el[0]);\n });\n app.swipeoutOpenedEl = el;\n };\n app.swipeoutClose = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (!el.hasClass('swipeout-opened')) return;\n var dir = el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left';\n var swipeOutActions = el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n app.allowSwipeout = false;\n el.trigger('close swipeout:close');\n el.removeClass('swipeout-opened').addClass('transitioning');\n \n var closeTO;\n function onSwipeoutClose() {\n app.allowSwipeout = true;\n if (el.hasClass('swipeout-opened')) return;\n el.removeClass('transitioning');\n buttons.transform('');\n el.trigger('closed swipeout:closed');\n if (callback) callback.call(el[0]);\n if (closeTO) clearTimeout(closeTO);\n }\n el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose);\n closeTO = setTimeout(onSwipeoutClose, 500);\n \n for (var i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (-buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n $(buttons[i]).css({left:0 + 'px'}).removeClass('swipeout-overswipe-active');\n }\n if (app.swipeoutOpenedEl && app.swipeoutOpenedEl[0] === el[0]) app.swipeoutOpenedEl = undefined;\n };\n app.swipeoutDelete = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n app.swipeoutOpenedEl = undefined;\n el.trigger('delete swipeout:delete');\n el.css({height: el.outerHeight() + 'px'});\n var clientLeft = el[0].clientLeft;\n el.css({height: 0 + 'px'}).addClass('deleting transitioning').transitionEnd(function () {\n el.trigger('deleted swipeout:deleted');\n if (callback) callback.call(el[0]);\n if (el.parents('.virtual-list').length > 0) {\n var virtualList = el.parents('.virtual-list')[0].f7VirtualList;\n var virtualIndex = el[0].f7VirtualListIndex;\n if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex);\n }\n else {\n if (app.params.swipeoutRemoveWithTimeout) {\n setTimeout(function () {\n el.remove();\n }, 0);\n }\n else el.remove();\n }\n });\n var translate = '-100%';\n el.find('.swipeout-content').transform('translate3d(' + translate + ',0,0)');\n };\n \n\n /*===============================================================================\n ************ Sortable ************\n ===============================================================================*/\n app.sortableToggle = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.toggleClass('sortable-opened');\n if (sortableContainer.hasClass('sortable-opened')) {\n sortableContainer.trigger('open sortable:open');\n }\n else {\n sortableContainer.trigger('close sortable:close');\n }\n return sortableContainer;\n };\n app.sortableOpen = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.addClass('sortable-opened');\n sortableContainer.trigger('open sortable:open');\n return sortableContainer;\n };\n app.sortableClose = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.removeClass('sortable-opened');\n sortableContainer.trigger('close sortable:close');\n return sortableContainer;\n };\n app.initSortable = function () {\n var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer, startIndex;\n \n function handleTouchStart(e) {\n isMoved = false;\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n /*jshint validthis:true */\n sortingEl = $(this).parent();\n startIndex = sortingEl.index();\n sortingItems = sortingEl.parent().children('li');\n sortableContainer = sortingEl.parents('.sortable');\n e.preventDefault();\n app.allowPanelOpen = app.allowSwipeout = false;\n }\n function handleTouchMove(e) {\n if (!isTouched || !sortingEl) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (!isMoved) {\n sortingEl.addClass('sorting');\n sortableContainer.addClass('sortable-sorting');\n minTop = sortingEl[0].offsetTop;\n maxTop = sortingEl.parent().height() - sortingEl[0].offsetTop - sortingEl.height();\n sortingElHeight = sortingEl[0].offsetHeight;\n }\n isMoved = true;\n \n e.preventDefault();\n e.f7PreventPanelSwipe = true;\n touchesDiff = pageY - touchStartY;\n var translate = touchesDiff;\n if (translate < -minTop) translate = -minTop;\n if (translate > maxTop) translate = maxTop;\n sortingEl.transform('translate3d(0,' + translate + 'px,0)');\n \n insertBefore = insertAfter = undefined;\n \n sortingItems.each(function () {\n var currentEl = $(this);\n if (currentEl[0] === sortingEl[0]) return;\n var currentElOffset = currentEl[0].offsetTop;\n var currentElHeight = currentEl.height();\n var sortingElOffset = sortingEl[0].offsetTop + translate;\n \n if ((sortingElOffset >= currentElOffset - currentElHeight / 2) && sortingEl.index() < currentEl.index()) {\n currentEl.transform('translate3d(0, '+(-sortingElHeight)+'px,0)');\n insertAfter = currentEl;\n insertBefore = undefined;\n }\n else if ((sortingElOffset <= currentElOffset + currentElHeight / 2) && sortingEl.index() > currentEl.index()) {\n currentEl.transform('translate3d(0, '+(sortingElHeight)+'px,0)');\n insertAfter = undefined;\n if (!insertBefore) insertBefore = currentEl;\n }\n else {\n $(this).transform('translate3d(0, 0%,0)');\n }\n });\n }\n function handleTouchEnd(e) {\n app.allowPanelOpen = app.allowSwipeout = true;\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n e.preventDefault();\n sortingItems.transform('');\n sortingEl.removeClass('sorting');\n sortableContainer.removeClass('sortable-sorting');\n var virtualList, oldIndex, newIndex;\n if (insertAfter) {\n sortingEl.insertAfter(insertAfter);\n sortingEl.trigger('sort sortable:sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if (insertBefore) {\n sortingEl.insertBefore(insertBefore);\n sortingEl.trigger('sort sortable:sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if ((insertAfter || insertBefore) && sortableContainer.hasClass('virtual-list')) {\n virtualList = sortableContainer[0].f7VirtualList;\n oldIndex = sortingEl[0].f7VirtualListIndex;\n newIndex = insertBefore ? insertBefore[0].f7VirtualListIndex : insertAfter[0].f7VirtualListIndex;\n if (virtualList) virtualList.moveItem(oldIndex, newIndex);\n }\n insertAfter = insertBefore = undefined;\n isTouched = false;\n isMoved = false;\n }\n var activeListener = app.support.passiveListener ? {passive: false, capture: false} : false;\n $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart, activeListener);\n if (app.support.touch) {\n $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove, activeListener);\n $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd, activeListener);\n }\n else {\n $(document).on(app.touchEvents.move, handleTouchMove, activeListener);\n $(document).on(app.touchEvents.end, handleTouchEnd, activeListener);\n }\n };\n \n\n /*===============================================================================\n ************ Smart Select ************\n ===============================================================================*/\n app.initSmartSelects = function (pageContainer) {\n pageContainer = $(pageContainer);\n var selects;\n if (pageContainer.is('.smart-select')) {\n selects = pageContainer;\n }\n else {\n selects = pageContainer.find('.smart-select');\n }\n if (selects.length === 0) return;\n \n selects.each(function () {\n var smartSelect = $(this);\n \n var $select = smartSelect.find('select');\n if ($select.length === 0) return;\n \n var select = $select[0];\n if (select.length === 0) return;\n \n var valueText = [];\n var displayAs;\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) {\n displayAs = select[i].dataset ? select[i].dataset.displayAs : $(select[i]).data('display-as');\n if (displayAs && typeof displayAs !== 'undefined') {\n \t\t\t\t\tvalueText.push(displayAs);\n \t\t\t\t} else {\n \t\t\t\t\tvalueText.push(select[i].textContent.trim());\n \t\t\t\t}\n \t\t\t}\n }\n \n var itemAfter = smartSelect.find('.item-after');\n if (itemAfter.length === 0) {\n smartSelect.find('.item-inner').append('
' + valueText.join(', ') + '
');\n }\n else {\n var selectedText = itemAfter.text();\n if (itemAfter.hasClass('smart-select-value')) {\n for (i = 0; i < select.length; i++) {\n select[i].selected = select[i].textContent.trim() === selectedText.trim();\n }\n } else {\n itemAfter.text(valueText.join(', '));\n }\n }\n \n $select.on('change', function () {\n var valueText = [];\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) {\n var displayAs = select[i].dataset ? select[i].dataset.displayAs : $(select[i]).data('display-as');\n \tif (displayAs && typeof displayAs !== 'undefined') {\n \t\t\t\t\t\tvalueText.push(displayAs);\n \t\t\t\t\t} else {\n \t\t\t\t\t\tvalueText.push(select[i].textContent.trim());\n \t\t\t\t\t}\n \t\t\t\t}\n }\n smartSelect.find('.item-after').text(valueText.join(', '));\n });\n \n });\n \n };\n app.smartSelectAddOption = function (select, option, index) {\n select = $(select);\n var smartSelect = select.parents('.smart-select');\n if (typeof index === 'undefined') {\n select.append(option);\n }\n else {\n $(option).insertBefore(select.find('option').eq(index));\n }\n app.initSmartSelects(smartSelect);\n var selectName = smartSelect.find('select').attr('name');\n var opened = $('.page.smart-select-page[data-select-name=\"' + selectName + '\"]').length > 0;\n if (opened) {\n app.smartSelectOpen(smartSelect, true);\n }\n };\n app.smartSelectOpen = function (smartSelect, reLayout) {\n smartSelect = $(smartSelect);\n if (smartSelect.length === 0) return;\n \n // Find related view\n var view = smartSelect.parents('.' + app.params.viewClass);\n if (view.length === 0) return;\n view = view[0].f7View;\n \n // Parameters\n var openIn = smartSelect.attr('data-open-in') || app.params.smartSelectOpenIn;\n if (openIn === 'popup') {\n if ($('.popup.smart-select-popup').length > 0) return;\n }\n else if (openIn === 'picker') {\n if ($('.picker-modal.modal-in').length > 0 && !reLayout){\n if (smartSelect[0].f7SmartSelectPicker !== $('.picker-modal.modal-in:not(.modal-out)')[0]) app.closeModal($('.picker-modal.modal-in:not(.modal-out)'));\n else return;\n }\n }\n else {\n if (!view) return;\n }\n \n var smartSelectData = smartSelect.dataset();\n var pageTitle = smartSelectData.pageTitle || smartSelect.find('.item-title').text();\n var backText = smartSelectData.backText || app.params.smartSelectBackText;\n var closeText;\n if (openIn === 'picker') {\n closeText = smartSelectData.pickerCloseText || smartSelectData.backText || app.params.smartSelectPickerCloseText ;\n }\n else {\n closeText = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ;\n }\n var backOnSelect = smartSelectData.backOnSelect !== undefined ? smartSelectData.backOnSelect : app.params.smartSelectBackOnSelect;\n var formTheme = smartSelectData.formTheme || app.params.smartSelectFormTheme;\n var navbarTheme = smartSelectData.navbarTheme || app.params.smartSelectNavbarTheme;\n var toolbarTheme = smartSelectData.toolbarTheme || app.params.smartSelectToolbarTheme;\n var virtualList = smartSelectData.virtualList;\n var virtualListHeight = smartSelectData.virtualListHeight;\n var material = app.params.material;\n var pickerHeight = smartSelectData.pickerHeight || app.params.smartSelectPickerHeight;\n \n // Collect all options/values\n var select = smartSelect.find('select')[0];\n var $select = $(select);\n var $selectData = $select.dataset();\n if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) {\n return;\n }\n var values = [];\n var id = (new Date()).getTime();\n var inputType = select.multiple ? 'checkbox' : 'radio';\n var inputName = inputType + '-' + id;\n var maxLength = $select.attr('maxlength');\n var selectName = select.name;\n var option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionIsLabel, previousGroup, optionColor, optionClassName, optionData;\n for (var i = 0; i < select.length; i++) {\n option = $(select[i]);\n optionData = option.dataset();\n optionImage = optionData.optionImage || $selectData.optionImage || smartSelectData.optionImage;\n optionIcon = optionData.optionIcon || $selectData.optionIcon || smartSelectData.optionIcon;\n optionHasMedia = optionImage || optionIcon || inputType === 'checkbox';\n if (material) optionHasMedia = optionImage || optionIcon;\n optionColor = optionData.optionColor;\n optionClassName = optionData.optionClass;\n if (option[0].disabled) optionClassName += ' disabled';\n optionGroup = option.parent('optgroup')[0];\n optionGroupLabel = optionGroup && optionGroup.label;\n optionIsLabel = false;\n if (optionGroup) {\n if (optionGroup !== previousGroup) {\n optionIsLabel = true;\n previousGroup = optionGroup;\n values.push({\n groupLabel: optionGroupLabel,\n isLabel: optionIsLabel\n });\n }\n }\n values.push({\n value: option[0].value,\n text: option[0].textContent.trim(),\n selected: option[0].selected,\n group: optionGroup,\n groupLabel: optionGroupLabel,\n image: optionImage,\n icon: optionIcon,\n color: optionColor,\n className: optionClassName,\n disabled: option[0].disabled,\n inputType: inputType,\n id: id,\n hasMedia: optionHasMedia,\n checkbox: inputType === 'checkbox',\n inputName: inputName,\n material: app.params.material\n });\n }\n \n \n // Item template/HTML\n if (!app._compiledTemplates.smartSelectItem) {\n app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate ||\n '{{#if isLabel}}' +\n '
  • {{groupLabel}}
  • ' +\n '{{else}}' +\n '' +\n '' +\n '' +\n '{{/if}}'\n );\n }\n var smartSelectItemTemplate = app._compiledTemplates.smartSelectItem;\n \n var inputsHTML = '';\n if (!virtualList) {\n for (var j = 0; j < values.length; j++) {\n inputsHTML += smartSelectItemTemplate(values[j]);\n }\n }\n \n // Toolbar / Navbar\n var toolbarHTML = '', navbarHTML;\n var noNavbar = '', noToolbar = '', noTabbar = '', navbarLayout;\n \n if (openIn === 'picker') {\n if (!app._compiledTemplates.smartSelectToolbar) {\n app._compiledTemplates.smartSelectToolbar = t7.compile(app.params.smartSelectToolbarTemplate ||\n '
    ' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    '\n );\n }\n \n toolbarHTML = app._compiledTemplates.smartSelectToolbar({\n pageTitle: pageTitle,\n closeText: closeText,\n openIn: openIn,\n toolbarTheme: toolbarTheme,\n inPicker: openIn === 'picker'\n });\n }\n else {\n // Navbar HTML\n if (!app._compiledTemplates.smartSelectNavbar) {\n app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate ||\n '
    ' +\n '
    ' +\n '{{leftTemplate}}' +\n '
    {{pageTitle}}
    ' +\n '
    ' +\n '
    '\n );\n }\n navbarHTML = app._compiledTemplates.smartSelectNavbar({\n pageTitle: pageTitle,\n backText: backText,\n closeText: closeText,\n openIn: openIn,\n navbarTheme: navbarTheme,\n inPopup: openIn === 'popup',\n inPage: openIn === 'page',\n leftTemplate: openIn === 'popup' ?\n (app.params.smartSelectPopupCloseTemplate || (material ? '
    ' : '')).replace(/{{closeText}}/g, closeText) :\n (app.params.smartSelectBackTemplate || (material ? '
    ' : '')).replace(/{{backText}}/g, backText)\n });\n // Determine navbar layout type - static/fixed/through\n if (openIn === 'page') {\n navbarLayout = 'static';\n if (smartSelect.parents('.navbar-through').length > 0) navbarLayout = 'through';\n if (smartSelect.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = smartSelect.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = smartSelect.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n noTabbar = smartSelect.parents('.page').hasClass('no-tabbar') ? 'no-tabbar' : '';\n }\n else {\n navbarLayout = 'fixed';\n }\n }\n \n \n // Page Layout\n var pageName = 'smart-select-' + inputName;\n \n var useSearchbar = typeof smartSelect.data('searchbar') === 'undefined' ? app.params.smartSelectSearchbar : (smartSelect.data('searchbar') === 'true' ? true : false);\n var searchbarPlaceholder, searchbarCancel;\n \n if (useSearchbar) {\n searchbarPlaceholder = smartSelect.data('searchbar-placeholder') || 'Search';\n searchbarCancel = smartSelect.data('searchbar-cancel') || 'Cancel';\n }\n \n var searchbarHTML = '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n (material ? '' : '' + searchbarCancel + '') +\n '
    ' +\n '
    ';\n \n var pageHTML =\n (openIn !== 'picker' && navbarLayout === 'through' ? navbarHTML : '') +\n '
    ' +\n '
    ' +\n (openIn !== 'picker' && navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n '
    ' +\n (openIn !== 'picker' && navbarLayout === 'static' ? navbarHTML : '') +\n '
    ' +\n '
      ' +\n (virtualList ? '' : inputsHTML) +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ';\n \n // Define popup and picker\n var popup, picker;\n \n // Scroll SS Picker To Input\n function scrollToInput() {\n var pageContent = smartSelect.parents('.page-content');\n if (pageContent.length === 0) return;\n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - picker.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - picker.height(),\n newPaddingBottom;\n var inputTop = smartSelect.offset().top - paddingTop + smartSelect[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = picker.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n // Close SS Picker on HTML Click\n function closeOnHTMLClick(e) {\n var close = true;\n if (e.target === smartSelect[0] || $(e.target).parents(smartSelect[0]).length > 0) {\n close = false;\n }\n if ($(e.target).parents('.picker-modal').length > 0) {\n close = false;\n }\n if (close) {\n app.closeModal('.smart-select-picker.modal-in');\n }\n }\n \n // Check max length\n function checkMaxLength(container) {\n if (select.selectedOptions.length >= maxLength) {\n container.find('input[type=\"checkbox\"]').each(function () {\n if (!this.checked) {\n $(this).parents('li').addClass('disabled');\n }\n else {\n $(this).parents('li').removeClass('disabled');\n }\n });\n }\n else {\n container.find('.disabled').removeClass('disabled');\n }\n }\n // Event Listeners on new page\n function handleInputs(container) {\n container = $(container);\n if (virtualList) {\n var virtualListInstance = app.virtualList(container.find('.virtual-list'), {\n items: values,\n template: smartSelectItemTemplate,\n height: virtualListHeight || undefined,\n searchByItem: function (query, index, item) {\n if (item.text && item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true;\n return false;\n }\n });\n container.once(openIn === 'popup' || openIn === 'picker' ? 'closed': 'pageBeforeRemove', function () {\n if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy();\n });\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n if (backOnSelect) {\n container.find('input[type=\"radio\"][name=\"' + inputName + '\"]:checked').parents('label').once('click', function () {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n });\n }\n container.on('change', 'input[name=\"' + inputName + '\"]', function () {\n \t\t\tvar option, text;\n var input = this;\n var value = input.value;\n var optionText = [];\n var displayAs;\n if (input.type === 'checkbox') {\n var values = [];\n for (var i = 0; i < select.options.length; i++) {\n option = select.options[i];\n if (option.value === value) {\n option.selected = input.checked;\n }\n if (option.selected) {\n displayAs = option.dataset ? option.dataset.displayAs : $(option).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : option.textContent;\n optionText.push(text.trim());\n }\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n }\n else {\n option = smartSelect.find('option[value=\"' + value + '\"]')[0];\n displayAs = option.dataset ? option.dataset.displayAs : $(option).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : option.textContent;\n optionText = [text];\n select.value = value;\n }\n \n $select.trigger('change');\n smartSelect.find('.item-after').text(optionText.join(', '));\n if (backOnSelect && inputType === 'radio') {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n }\n });\n }\n function pageInit(e) {\n var page = e.detail.page;\n if (page.name === pageName) {\n handleInputs(page.container);\n }\n }\n if (openIn === 'popup') {\n if (reLayout) {\n popup = $('.popup.smart-select-popup .view');\n popup.html(pageHTML);\n }\n else {\n popup = app.popup(\n '
    ' +\n '
    ' +\n pageHTML +\n '
    ' +\n '
    '\n );\n popup = $(popup);\n }\n app.initPage(popup.find('.page'));\n handleInputs(popup);\n }\n else if (openIn === 'picker') {\n if (reLayout) {\n picker = $('.picker-modal.smart-select-picker .view');\n picker.html(pageHTML);\n }\n else {\n picker = app.pickerModal(\n '
    ' +\n toolbarHTML +\n '
    ' +\n '
    ' +\n pageHTML +\n '
    ' +\n '
    ' +\n '
    '\n );\n picker = $(picker);\n \n // Scroll To Input\n scrollToInput();\n \n // Close On Click\n $('html').on('click', closeOnHTMLClick);\n \n // On Close\n picker.once('picker:close', function () {\n // Reset linked picker\n smartSelect[0].f7SmartSelectPicker = undefined;\n \n // Detach html click\n $('html').off('click', closeOnHTMLClick);\n \n // Restore page padding bottom\n smartSelect.parents('.page-content').css({paddingBottom: ''});\n });\n \n // Link Picker\n smartSelect[0].f7SmartSelectPicker = picker[0];\n }\n \n // Init Page\n app.initPage(picker.find('.page'));\n \n // Attach events\n handleInputs(picker);\n }\n else {\n $(document).once('page:init', '.smart-select-page', pageInit);\n view.router.load({\n content: pageHTML,\n reload: reLayout ? true : undefined\n });\n }\n };\n \n\n /*===============================================================================\n ************ Virtual List ************\n ===============================================================================*/\n var VirtualList = function (listBlock, params) {\n var defaults = {\n cols: 1,\n height: app.params.material ? 48 : 44,\n cache: true,\n dynamicHeightBufferSize: 1,\n showFilteredItemsOnly: false,\n template: \n '
  • ' +\n '
    ' +\n '
    ' +\n '
    {{this}}
    ' +\n '
    ' +\n '
    ' +\n '
  • '\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n // Preparation\n var vl = this;\n vl.listBlock = $(listBlock);\n vl.params = params;\n vl.items = vl.params.items;\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n if (vl.params.template && !vl.params.renderItem) {\n if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template);\n else if (typeof vl.params.template === 'function') vl.template = vl.params.template;\n }\n vl.pageContent = vl.listBlock.parents('.page-content');\n \n // Bad scroll\n var updatableScroll;\n if (typeof vl.params.updatableScroll !== 'undefined') {\n updatableScroll = vl.params.updatableScroll;\n }\n else {\n updatableScroll = true;\n if (app.device.ios && app.device.osVersion.split('.')[0] < 8) {\n updatableScroll = false;\n }\n vl.params.updatableScroll = updatableScroll;\n }\n \n // Append