{"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","f7VirtualList","reachEnd","_fixIpadBodyScrolLeft","device","ipad","document","body","scrollLeft","setTimeout","version","cache","cacheIgnore","cacheIgnoreGetParameters","cacheDuration","preloadPreviousPage","uniqueHistory","uniqueHistoryIgnoreGetParameters","dynamicPageUrl","allowDuplicateUrls","router","pushState","pushStateRoot","undefined","pushStateNoAnimation","pushStateSeparator","pushStatePreventOnLoad","fastClicks","fastClicksDistanceThreshold","fastClicksDelayBetweenClicks","tapHold","tapHoldDelay","tapHoldPreventClicks","activeState","activeStateElements","animateNavBackIcon","swipeBackPage","swipeBackPageThreshold","swipeBackPageActiveArea","swipeBackPageAnimateShadow","swipeBackPageAnimateOpacity","ajaxLinks","externalLinks","sortable","hideNavbarOnPageScroll","hideToolbarOnPageScroll","hideTabbarOnPageScroll","showBarsOnPageScrollEnd","showBarsOnPageScrollTop","swipeout","swipeoutActionsNoFold","swipeoutNoFollow","smartSelectBackText","smartSelectInPopup","smartSelectPopupCloseText","smartSelectSearchbar","smartSelectBackOnSelect","scrollTopOnNavbarClick","scrollTopOnStatusbarClick","swipePanel","swipePanelActiveArea","swipePanelCloseOpposite","swipePanelOnlyClose","swipePanelNoFollow","swipePanelThreshold","panelsCloseByOutside","modalButtonOk","modalButtonCancel","modalUsernamePlaceholder","modalPasswordPlaceholder","modalTitle","modalCloseByOutside","actionsCloseByOutside","popupCloseByOutside","modalPreloaderTitle","modalStack","imagesLazyLoadThreshold","imagesLazyLoadSequential","viewClass","viewMainClass","viewsClass","notificationCloseOnClick","notificationCloseIcon","notificationCloseButtonText","animatePages","templates","template7Data","template7Pages","precompileTemplates","material","materialPageLoadDelay","materialPreloaderSvg","materialRipple","materialRippleElements","init","param","Dom7","t7","Template7","_compiledTemplates","touchEvents","start","support","touch","move","end","ls","localStorage","rtl","css","attr","statusbarOverlay","addClass","removeClass","views","View","selector","i","defaults","dynamicNavbar","domCache","linksView","reloadPages","def","view","container","main","contentCache","pagesCache","f7View","pagesContainer","initialPages","initialNavbars","push","allowPageChange","docLocation","location","href","history","viewURL","split","currentPage","currentPageData","activePage","eq","f7PageData","url","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","detachEvents","mainView","load","options","loadPage","loadContent","content","reloadPage","reload","reloadContent","reloadPreviousPage","reloadPrevious","reloadPreviousContent","refreshPage","ignoreCache","refreshPreviousPage","hideNavbar","showNavbar","hideToolbar","showToolbar","pushStateUrl","pushStateAnimatePages","state","destroy","pluginHook","addView","getCurrentView","index","popoverView","popupView","panelView","appViews","appView","children","currentViews","navbarInitCallback","navbarContainer","navbarInnerContainer","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","centerLeft","toolbarContainer","toolbar","Searchbar","removeDiacritics","str","a","diacriticsMap","preventSubmit","input","clearButton","cancelButton","searchList","searchIn","searchBy","found","notFound","overlay","ignore","customSearch","hideDividers","hideGroups","s","active","isVirtualList","cancelMarginProp","transition","show","defaultDiacriticsRemovalap","base","letters","j","triggerEvent","eventName","enable","_enable","ios","disable","_disable","blur","val","clear","query","focus","handleInput","value","trim","search","previousQuery","internal","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","bottom","padding-bottom","textareaTimeout","handleTextarea","clearTimeout","f7Messagebar","messagebar","initPageMessagebar","pageBeforeRemove","mb","off","on","removeFromCache","splice","xhr","get","_url","time","ajax","beforeSend","onAjaxStart","complete","status","responseText","onAjaxComplete","error","onAjaxError","pageCallbacks","pageNames","returnCallbacks","callbacks","removeIndex","toString","pageCallbacksNames","triggerPageCallbacks","allPagesCallbacks","pageInitCallback","f7PageInitialized","parseUrlQuery","name","from","context","fromPage","oldNavbarInnerContainer","reinitPage","onPageReinit","onPageBeforeInit","preloadOnly","initPage","onPageInit","pageRemoveCallback","pageContext","onPageBeforeRemove","onPageAfterBack","onPageBack","onPageAfterAnimation","tabBar","onPageBeforeAnimation","initPageMessages","initFormsStorage","initSmartSelects","initPageSwiper","initPullToRefresh","initInfiniteScroll","initScrollToolbars","initImagesLazyLoad","initPageResizableTextareas","initPageMaterialPreloader","initPageMaterialInputs","initPageMaterialTabbar","reinitPageSwiper","reinitLazyLoad","initPageWithCallback","temporaryDom","createElement","findElement","notCached","leftPage","rightPage","direction","removeClasses","prepareNavbar","newNavbarInner","oldNavbarInner","newNavbarPosition","slidingOffset","offsetLeft","animateNavbars","leftNavbarInner","rightNavbarInner","rightText","preprocess","next","pluginProcess","preroute","template7Render","t7_ctx","t7_template","t7_rendered_content","contextName","template","template7Cache","compile","_ctx_path","_ctx","data","pageNameMatch","templateName","url_query","key","_load","afterAnimation","pushStateClearQueue","historyBecameUnique","pagesInView","reloadPosition","t7_rendered","isDynamicPage","innerHTML","ci","f7RelatedNavbar","f7RelatedPage","newPageName","viewIndex","lastUrl","_history","lastIndexOf","slice","prev","insertBefore","insertAfter","clientLeft","animationEnd","proceed","abort","_back","animateBack","parseNewPage","setPages","navbarInners","force","pageToRemove","navbarToRemove","removeNavbar","unshift","manipulateDom","newNavbar","previousURL","pop","inners","oldNavbar","pageUrl","preloadUrl","_modalTemplateTempDiv","modalStackClearQueue","shift","modal","modalHTML","modalTemplate","buttonsHTML","buttons","bold","titleHTML","textHTML","afterTextHTML","afterText","noButtons","verticalButtons","cssClass","close","onClick","openModal","alert","callbackOk","arguments","confirm","callbackCancel","prompt","modalLogin","username","password","modalPassword","showPreloader","hidePreloader","showIndicator","hideIndicator","actions","groupSelector","buttonSelector","toPopover","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","max","min","_modal","childNodes","classList","add","popup","pickerModal","loginScreen","isModal","removeData","isPopup","isLoginScreen","isPickerModal","marginTop","isPopover","allowPanelOpen","openPanel","panelPosition","panelTransitionEnd","transitionEndTarget","panel","display","closePanel","effect","activePanel","initSwipePanels","side","opened","innerWidth","panelOverlay","panelWidth","threshold","overlayOpacity","edge","loadImage","onLoad","src","imageIsLoading","imagesSequence","image","Image","onload","onerror","lazyHandler","lazyLoadImages","isElementInViewport","rect","getBoundingClientRect","innerHeight","placeholderSrc","imagesLazyLoadPlaceholder","f7DestroyImagesLazyLoad","destroyImagesLazyLoad","f7DestroyLazyLoad","reinitImagesLazyLoad","html","Messages","autoLayout","newMessagesFirst","messageTemplate","layout","message","isSent","appendMessage","props","animate","addMessage","prependMessage","addMessages","newMessages","newMessagesHTML","hasImage","heightBefore","scrollBefore","scrollMessages","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","progress","swipeoutClose","swipeoutOpen","overswipeLeft","overswipeRight","$button","pow","_buttonOffset","actionsWidth","noFold","newTranslate","click","closed","dir","swipeOutActions","swipeOutActionsWidth","call","onSwipeoutClose","closeTO","swipeoutDelete","virtualIndex","f7VirtualListIndex","deleteItem","sortableToggle","sortableContainer","toggleClass","sortableOpen","sortableClose","initSortable","touchStartY","sortingEl","sortingItems","minTop","offsetTop","maxTop","sortingElHeight","currentEl","currentElOffset","currentElHeight","sortingElOffset","oldIndex","newIndex","moveItem","selects","smartSelect","$select","select","valueText","selected","textContent","itemAfter","selectedText","smartSelectAddOption","option","selectName","smartSelectOpen","reLayout","handleInputs","virtualListInstance","smartSelectItemTemplate","virtualListHeight","item","openIn","inputName","optionText","checked","backOnSelect","inputType","pageInit","detail","smartSelectData","pageTitle","backText","closeText","popupCloseText","formTheme","smartSelectFormTheme","navbarTheme","smartSelectNavbarTheme","$selectData","optionHasMedia","optionImage","optionIcon","optionGroup","optionGroupLabel","optionIsLabel","previousGroup","optionColor","optionClassName","optionData","id","multiple","optionClass","groupLabel","isLabel","icon","hasMedia","checkbox","smartSelectItem","inputsHTML","smartSelectNavbar","smartSelectNavbarTemplate","navbarLayout","navbarHTML","inPopup","inPage","leftTemplate","smartSelectPopupCloseTemplate","smartSelectBackTemplate","noNavbar","noToolbar","searchbarPlaceholder","searchbarCancel","useSearchbar","searchbarHTML","pageHTML","VirtualList","listBlock","cols","dynamicHeightBufferSize","vl","updatableScroll","osVersion","ul","displayDomCache","tempDomElement","lastRepaintY","fragment","createDocumentFragment","indexes","resetScrollTop","filteredItems","update","pageHeight","rowsPerScreen","rowsBefore","rowsAfter","rowsToRender","listHeight","maxBufferHeight","dynamicHeight","setListSize","heights","itemHeight","ceil","render","forceScrollTop","fromIndex","toIndex","heightBeforeFirstItem","heightBeforeLastItem","itemTop","topPosition","currentFromIndex","currentToIndex","renderItem","onItemBeforeInsert","appendChild","onBeforeClear","onItemsBeforeInsert","onItemsAfterInsert","scrollToItem","listTop","handleScroll","handleResize","appendItems","appendItem","replaceAllItems","replaceItem","prependItems","newCache","cached","prependItem","cachedIndex","leftIndex","rightIndex","indexShift","insertItemBefore","deleteItems","prevIndex","deletedItem","deleteAllItems","clearCache","reinitVirtualList","vlists","vlistInstance","os","wasScrolled","touchId","identifier","touches","dynamicTriggerDistance","triggerDistance","startTranslate","useTranslate","refresh","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","tabLinkWidth","showTab","tab","tabLink","newTab","tabs","isAnimatedTabs","oldTab","oldTabLink","oldTabId","accordionToggle","accordionClose","accordionOpen","list","expandedItem","initFastClicks","findActivableElement","activable","isInsideScrollableView","prop","activeTimeout","rippleTimeout","addActive","activableElement","removeActive","isFormElement","nodes","nodeName","androidNeedsBlur","noBlur","activeElement","targetNeedsFastClick","$el","targetNeedsFocus","tag","skipInputs","readOnly","targetNeedsPrevent","prevent","handleMouseDown","which","touchStartX","rippleTouchStart","handleMouseMove","rippleTouchMove","handleMouseUp","rippleTouchEnd","findRippleElement","needsRipple","createRipple","box","diameter","rippleWave","prepend","rippleTransform","removeRipple","rippleTarget","tapHoldFired","tapHoldTimeout","needsFastClickTimeOut","needsFastClick","trackClick","selection","getSelection","rangeCount","focusNode","isCollapsed","activeSelection","targetElement","scrollParent","f7ScrollTop","timeStamp","lastClickTime","_isMoved","cancelable","evt","createEvent","eventType","initMouseEvent","screenX","screenY","clientX","clientY","forwardedTouchEvent","dispatchEvent","handleTouchCancel","handleClick","allowClick","stopImmediatePropagation","stopPropagation","androidChrome","webView","addEventListener","initClickEvents","handleScrollTop","clicked","isLink","handleClicks","open","clickedData","pickerToClose","pickerToOpen","picker","isTabLink","confirmTitle","accordionItem","validUrl","JSON","parse","preventScrolling","initResize","resize","orientationchange","minimalUi","orientation","formsData","formStoreData","formId","formJSON","stringify","formDeleteData","removeItem","formGetData","formToJSON","form","formData","skipTypes","skipNames","formFromJSON","storeForm","forms","contentType","FormData","serializeObject","success","resizeTextarea","resizableTextarea","textareas","notInputs","initMaterialWatchInputs","addFocusState","els","removeFocusState","pushStateQueue","queue","stateUrl","stateContent","statePageName","initPushState","handlePopState","blockPopstate","swiper","Swiper","destroySwiperOnRemove","slider","destroySwiper","swipers","_slider","sliders","sliderInstance","PhotoBrowser","pb","photos","initialSlide","spaceBetween","speed","zoom","maxZoom","minZoom","exposition","expositionHideCaptions","theme","swipeToClose","backLinkText","ofText","loop","lazyLoading","lazyLoadingInPrevNext","lazyLoadingOnTransitionStart","iconsColorClass","iconsColor","preloaderColorClass","photoTemplate","photoLazyTemplate","lazyPhotoTemplate","objectTemplate","captionTemplate","navbarTemplate","toolbarTemplate","htmlTemplate","activeIndex","openIndex","slideTo","onPopupClose","onOpen","swiperContainer","onClose","swiperWrapper","slides","gestureSlide","gestureImg","gestureImgWrap","onSliderTransitionStart","current","total","loopedSlides","isBeginning","isEnd","captions","captionsContainer","captionIndex","previousSlideVideo","previousIndex","pause","onTransitionStart","onSliderTransitionEnd","scale","currentScale","onTransitionEnd","sliderSettings","nextButton","prevButton","indexButton","preloadImages","onTap","toggleExposition","onDoubleTap","toggleZoom","onSlideChangeStart","onSlideChangeEnd","onLazyImageLoad","slide","img","onLazyImageReady","onTouchStart","swipeCloseTouchStart","onTouchMoveOpposite","swipeCloseTouchMove","onTouchEnd","swipeCloseTouchEnd","onSlideGestureStart","onSlideGestureChange","onSlideGestureEnd","onSlideTouchStart","onSlideTouchMove","onSlideTouchEnd","exposed","enableExposition","disableExposition","isScaling","imageIsTouched","imageIsMoved","imageCurrentX","imageCurrentY","imageMinX","imageMinY","imageMaxX","imageMaxY","imageWidth","imageHeight","imageStartX","imageStartY","velocityPrevPositionX","velocityPrevTime","velocityX","velocityPrevPositionY","velocityY","imageTouchesStart","imageTouchesCurrent","getTranslate","scaledWidth","scaledHeight","floor","now","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","swipeToCloseDiff","swipeToCloseStart","swipeToCloseCurrent","swipeToCloseActiveSlide","swipeToCloseTimeStart","swipeToCloseIsTouched","allowSwipeToClose","swipeToCloseStarted","onSwipeToClose","photoBrowser","Picker","p","convertToPopover","onlyInPopover","inline","inPopover","resizeCols","divider","calcSize","setValue","openOnInput","scrollToInput","newPaddingBottom","paddingTop","paddingBottom","pageScrollHeight","inputTop","closeOnHTMLClick","onPickerClose","destroyPickerCol","updateValuesOnMomentum","updateValuesOnTouchmove","rotateEffect","momentumRatio","freeMode","inputReadOnly","toolbarCloseText","initialized","originBug","navigator","userAgent","arrValues","valueIndex","updateValue","newValue","newDisplayValue","displayValue","onChange","formatValue","initPickerCol","colElement","updateItems","updateDuringScroll","animationFrameId","requestAnimationFrame","col","touchCurrentY","allowItemClick","currentTranslate","wrapper","cancelAnimationFrame","returnTo","minTranslate","maxTranslate","velocityTranslate","prevTranslate","velocityTime","touchEndTime","velocity","colContainer","colIndex","wrapperHeight","itemsHeight","replaceValues","displayValues","destroyEvents","newItemsHTML","columnHTML","initEvents","colWidth","colHeight","valueCallbacks","newActiveIndex","previousActiveIndex","selectedItem","prevAll","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","minDate","maxDate","touchMove","closeOnSelect","monthPicker","monthPickerTemplate","yearPicker","yearPickerTemplate","weekHeader","headerPlaceholder","header","footer","headerTemplate","footerTemplate","isH","animating","addValue","inValuesIndex","onlyHeader","inputValue","valueDate","initCalendarEvents","monthsTranslate","touchCurrentX","wrapperWidth","resetMonth","nextMonth","prevMonth","handleDayClick","dateYear","dateMonth","dateDay","onDayClick","prevYear","nextYear","f7DestroyCalendarEvents","daysInMonth","d","monthHTML","daysInPrevMonth","firstDayOfMonthIndex","dayDate","currentValues","rows","dayIndex","today","setHours","rowHTML","dayNumber","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","weekDayIndex","dayName","toolbarHTML","headerHTML","footerHTML","f7Calendar","calendar","_tempNotificationElement","addNotification","media","notificationMedia","notificationTitle","subtitle","notificationSubtitle","closeIcon","hold","notificationHold","closeOnClick","notificationTemplate","notification","closeNotification","additionalClass","initTemplate7Templates","_plugins","initPlugins","plugin","plugins","hook","hooks","pluginPrevent","prevents","processed","process","getDeviceInfo","onAppInit","arr","_this","tempParent","toCreate","querySelectorAll","getElementById","nodeType","prototype","classes","contains","toggle","attrs","setAttribute","attrName","removeAttr","removeAttribute","propName","dataKey","dom7ElementDataStorage","attributes","toCamelCase","parseFloat","elStyle","webkitTransform","MsTransform","msTransform","MozTransform","OTransform","webkitTransitionDuration","MsTransitionDuration","msTransitionDuration","MozTransitionDuration","OTransitionDuration","transitionDuration","targetSelector","listener","capture","handleLiveEvent","k","events","dom7LiveListeners","liveListener","removeEventListener","proxy","dom","CustomEvent","bubbles","initEvent","fireCallBack","includeMargins","getPropertyValue","clientTop","pageYOffset","pageXOffset","getComputedStyle","filter","matchedItems","compareWith","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","child","previousSibling","returnIndex","newChild","tempDiv","firstChild","before","parentNode","cloneNode","after","nextSibling","nextElementSibling","nextEls","previousElementSibling","prevEls","unique","foundElements","removeChild","toAdd","createMethod","notTrigger","shortcuts","globalAjaxOptions","ajaxSetup","optionName","optionValue","_jsonpRequests","fireAjaxCallback","async","user","headers","xhrFields","statusCode","processData","dataType","timeout","globalOptionName","globalOptionValue","defaultValue","paramsPrefix","_method","stringData","abortTimeout","callbackSplit","requestUrl","addVars","script","querySelector","XMLHttpRequest","requestParameters","postData","postDataInstances","ArrayBuffer","Blob","Document","constructor","boundary","setRequestHeader","_data","_newData","headerName","headerCallback","crossDomain","test","RegExp","$2","host","fieldName","fieldValue","xhrTimeout","responseData","err","parseerror","send","methods","Object","apply","obj","hasOwnProperty","resultArray","separator","toPush","encodeURIComponent","string","group1","axis","matrix","curTransform","curStyle","transformMatrix","WebKitCSSMatrix","m41","m42","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","supportTouch","DocumentTouch","fn","scrollTo","easing","startTime","easeProgress","cos","PI","animateTop","currentTop","newTop","animateLeft","currentLeft","newLeft","maxLeft","scrollWidth","ua","ipod","iphone","osVersionArr","statusBar","screen","classNames","devicePixelRatio","major","isFunction","func","helperToSlices","shiftIndex","helperParts","slices","part","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","escape","if","inverse","unless","ret","reverse","first","last","with","delimiter","delimeter","js","expression","js_compare","condition","instance","rendered","registerHelper","unregisterHelper","registerPartial","unregisterPartial","autoplay","autoplayTimeoutId","fixLoop","_slideNext","autoplayStopOnLast","stopAutoplay","_slideTo","findElementInEvent","_el","initObserver","ObserverFunc","MutationObserver","WebkitMutationObserver","observer","mutations","forEach","mutation","onResize","emit","observe","childList","characterData","observers","setParallaxTransform","pX","pY","normalizeEventName","touchEventsTarget","autoplayDisableOnInteraction","freeModeMomentum","freeModeMomentumRatio","freeModeMomentumBounce","freeModeMomentumBounceRatio","freeModeSticky","setWrapperSize","virtualTranslate","coverflow","rotate","stretch","modifier","slideShadows","cube","shadow","shadowOffset","shadowScale","fade","crossFade","parallax","scrollbar","scrollbarHide","keyboardControl","mousewheelControl","mousewheelReleaseOnEdges","mousewheelInvert","mousewheelForceToAxis","hashnav","slidesPerView","slidesPerColumn","slidesPerColumnFill","slidesPerGroup","centeredSlides","slidesOffsetBefore","slidesOffsetAfter","roundLengths","touchRatio","touchAngle","simulateTouch","shortSwipes","longSwipes","longSwipesRatio","longSwipesMs","followFinger","onlyExternal","touchMoveStopPropagation","pagination","paginationElement","paginationClickable","paginationHide","paginationBulletRender","resistance","resistanceRatio","watchSlidesProgress","watchSlidesVisibility","grabCursor","preventClicks","preventClicksPropagation","slideToClickedSlide","updateOnImagesReady","loopAdditionalSlides","control","controlInverse","controlBy","allowSwipeToPrev","allowSwipeToNext","swipeHandler","noSwiping","noSwipingClass","slideClass","slideActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slidePrevClass","wrapperClass","bulletClass","bulletActiveClass","buttonDisabledClass","paginationHiddenClass","observeParents","a11y","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","runCallbacksOnInit","initialVirtualTranslate","deepDef","Zepto","jQuery","flexbox","transforms3d","paginationContainer","wrongRTL","lockSwipeToNext","lockSwipeToPrev","lockSwipes","unlockSwipeToNext","unlockSwipeToPrev","unlockSwipes","cursor","imagesToLoad","imagesLoaded","imgElement","checkForComplete","onReady","_onReady","currentSrc","autoplaying","autoplayPaused","startAutoplay","pauseAutoplay","snapGrid","updateContainerSize","clientWidth","size","updateSlidesSize","slidesGrid","slidesSizesGrid","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","slidesNumberEvenToRows","slideSize","slidesPerRow","numFullColumns","newSlideOrderIndex","column","row","-webkit-box-ordinal-group","-moz-box-ordinal-group","-ms-flex-order","-webkit-order","order","margin-top","swiperSlideSize","newSlidesGrid","updateSlidesOffset","swiperSlideOffset","updateSlidesProgress","offsetCenter","slideCenterOffset","slideProgress","slideBefore","slideAfter","isVisible","updateProgress","translatesDiff","updateActiveIndex","snapIndex","updateClasses","activeSlide","bullets","bulletIndex","updatePagination","bulletsHTML","numberOfBullets","initPagination","updateTranslate","forceSetTranslate","setWrapperTranslate","set","translated","controller","spline","forceUpdatePagination","desktopEvents","pointerEnabled","msPointerEnabled","actionDom","moveCapture","nested","browser","ie","onTouchMove","onClickNext","onEnterKey","onClickPrev","onClickIndex","slideNext","slidePrev","updateClickedSlide","slideFound","clickedSlide","clickedIndex","realIndex","slideToIndex","duplicatedSlides","allowThresholdMove","clickTimeout","allowMomentumBounce","formElements","velocities","startX","startY","currentX","currentY","isTouchEvent","startMoving","originalEvent","swipeDirection","preventedByNestedSwiper","atan2","ieTouch","getWrapperTranslate","setWrapperTransition","disableParentSwiper","currentPos","lastMoveEvent","velocityEvent","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","nextSlide","slideReset","stopIndex","groupSize","ratio","slideIndex","runCallbacks","lazy","setHash","_slidePrev","byController","effects","setTransition","z","setTranslate","initObservers","containerParents","disconnectObservers","disconnect","createLoop","prependSlides","appendSlides","destroyLoop","appendSlide","prependSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","tx","ty","slideOpacity","eventTriggered","triggerEvents","cubeShadow","wrapperRotate","slideAngle","tz","shadowBefore","shadowAfter","-webkit-transform-origin","-moz-transform-origin","-ms-transform-origin","transform-origin","shadowAngle","multiplier","sin","scale1","scale2","zFactor","isSafari","isUiWebView","slideOffset","offsetMultiplier","rotateY","rotateX","translateZ","translateY","translateX","slideTransform","zIndex","ws","perspectiveOrigin","initialImageLoaded","loadImageInSlide","loadInDuplicate","_img","background","slideOriginalIndex","originalSlide","duplicatedSlide","prevSlide","track","drag","trackSize","moveDivider","dragSize","newPos","newSize","LinearSpline","lastIndex","i1","i3","interpolate","x2","binarySearch","maxIndex","minIndex","guess","array","getInterpolateFunction","c","setControlledTranslate","controlledTranslate","controlled","setControlledTransition","parallaxDuration","callPlugins","emitterEventListeners","_handler","makeFocusable","addRole","role","addLabel","event","keyCode","notify","liveRegion","bullet","enableKeyboardControl","enableMousewheelControl","cleanupStyles","deleteInstance","disableKeyboardControl","disableMousewheelControl","msMaxTouchPoints","maxTouchPoints","Modernizr","csstransforms3d","div"],"mappings":"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","file":"framework7.min.js","sourcesContent":["/**\n * Framework7 1.2.0\n * Full Featured Mobile HTML Framework For Building iOS & Android Apps\n * \n * http://www.idangero.us/framework7\n * \n * Copyright 2015, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n * \n * Licensed under MIT\n * \n * Released on: July 18, 2015\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.2.0';\n \n // Default Parameters\n app.params = {\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 // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateNoAnimation: false,\n pushStateSeparator: '#!/',\n pushStatePreventOnLoad: true,\n // Fast clicks\n fastClicks: true,\n fastClicksDistanceThreshold: 10,\n fastClicksDelayBetweenClicks: 50,\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 // Smart Select Back link template\n smartSelectBackText: 'Back',\n smartSelectInPopup: false,\n smartSelectPopupCloseText: 'Close',\n smartSelectSearchbar: false,\n smartSelectBackOnSelect: false,\n // Tap Navbar or Statusbar to scroll to top\n scrollTopOnNavbarClick: false,\n scrollTopOnStatusbarClick: false,\n // Panels\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 // 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 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, .floating-button',\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 // 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 \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 = params || {};\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 // Pages cache\n view.pagesCache = {};\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.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 }\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 (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 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', 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', callbackData);\n }\n else {\n if (view.params.onSwipeBackBeforeReset) {\n view.params.onSwipeBackBeforeReset(callbackData);\n }\n container.trigger('swipeBackBeforeReset', 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', callbackData);\n }\n else {\n if (view.params.onSwipeBackAfterReset) {\n view.params.onSwipeBackAfterReset(callbackData);\n }\n container.trigger('swipeBackAfterReset', callbackData);\n }\n if (pageShadow && pageShadow.length > 0) pageShadow.remove();\n });\n };\n view.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n container[action](app.touchEvents.start, view.handleTouchStart);\n container[action](app.touchEvents.move, view.handleTouchMove);\n container[action](app.touchEvents.end, view.handleTouchEnd);\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 // Add view to app\n app.views.push(view);\n if (view.main) app.mainView = view;\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 () {\n return app.hideNavbar(container.find('.navbar'));\n };\n view.showNavbar = function () {\n return app.showNavbar(container.find('.navbar'));\n };\n view.hideToolbar = function () {\n return app.hideToolbar(container.find('.toolbar'));\n };\n view.showToolbar = function () {\n return app.showToolbar(container.find('.toolbar'));\n };\n \n // Push State on load\n if (app.params.pushState && view.main) {\n var pushStateUrl;\n if (pushStateRoot) {\n pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1];\n }\n else if (docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) {\n pushStateUrl = docLocation.split(pushStateSeparator)[1];\n }\n var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined;\n \n if (pushStateUrl) {\n app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (docLocation.indexOf(pushStateSeparator + '#') >= 0) {\n var state = history.state;\n if (state.pageName && 'viewIndex' in state) {\n app.router.load(view, {pageName: state.pageName, pushState: false});\n }\n }\n \n }\n \n // Destroy\n view.destroy = function () {\n view.detachEvents();\n view = undefined;\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.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', eventData);\n return;\n }\n navbarInnerContainer.f7NavbarInitialized = true;\n // Before Init\n app.pluginHook('navbarBeforeInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeInit', eventData);\n \n // Initialize Navbar\n app.initNavbar(navbarContainer, navbarInnerContainer);\n \n // On init\n app.pluginHook('navbarInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarInit', 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 = pageContainer.f7PageData;\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n app.pluginHook('navbarBeforeRemove', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeRemove', eventData);\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) center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)');\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 }\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) {\n $(navbarContainer).addClass('navbar-hidden');\n return true;\n };\n app.showNavbar = function (navbarContainer) {\n var navbar = $(navbarContainer);\n navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () {\n navbar.removeClass('navbar-hiding');\n });\n return true;\n };\n app.hideToolbar = function (toolbarContainer) {\n $(toolbarContainer).addClass('toolbar-hidden');\n return true;\n };\n app.showToolbar = function (toolbarContainer) {\n var toolbar = $(toolbarContainer);\n toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () {\n toolbar.removeClass('toolbar-hiding');\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) {\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 // Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n if (s.cancelButton.length > 0 && !s.material) {\n s.cancelButton.transition(0).show();\n s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n setTimeout(function () {\n s.cancelButton.transition(''); \n }, 0);\n }\n \n // Diacritics\n var defaultDiacriticsRemovalap = [\n {base:'A', letters:'\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F'},\n {base:'AA',letters:'\\uA732'},\n {base:'AE',letters:'\\u00C6\\u01FC\\u01E2'},\n {base:'AO',letters:'\\uA734'},\n {base:'AU',letters:'\\uA736'},\n {base:'AV',letters:'\\uA738\\uA73A'},\n {base:'AY',letters:'\\uA73C'},\n {base:'B', letters:'\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181'},\n {base:'C', letters:'\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E'},\n {base:'D', letters:'\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779'},\n {base:'DZ',letters:'\\u01F1\\u01C4'},\n {base:'Dz',letters:'\\u01F2\\u01C5'},\n {base:'E', letters:'\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E'},\n {base:'F', letters:'\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B'},\n {base:'G', letters:'\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E'},\n {base:'H', letters:'\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D'},\n {base:'I', letters:'\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197'},\n {base:'J', letters:'\\u004A\\u24BF\\uFF2A\\u0134\\u0248'},\n {base:'K', letters:'\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2'},\n {base:'L', letters:'\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780'},\n {base:'LJ',letters:'\\u01C7'},\n {base:'Lj',letters:'\\u01C8'},\n {base:'M', letters:'\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C'},\n {base:'N', letters:'\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4'},\n {base:'NJ',letters:'\\u01CA'},\n {base:'Nj',letters:'\\u01CB'},\n {base:'O', letters:'\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C'},\n {base:'OI',letters:'\\u01A2'},\n {base:'OO',letters:'\\uA74E'},\n {base:'OU',letters:'\\u0222'},\n {base:'OE',letters:'\\u008C\\u0152'},\n {base:'oe',letters:'\\u009C\\u0153'},\n {base:'P', letters:'\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754'},\n {base:'Q', letters:'\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A'},\n {base:'R', letters:'\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782'},\n {base:'S', letters:'\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784'},\n {base:'T', letters:'\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786'},\n {base:'TZ',letters:'\\uA728'},\n {base:'U', letters:'\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244'},\n {base:'V', letters:'\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245'},\n {base:'VY',letters:'\\uA760'},\n {base:'W', letters:'\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72'},\n {base:'X', letters:'\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C'},\n {base:'Y', letters:'\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE'},\n {base:'Z', letters:'\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762'},\n {base:'a', letters:'\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250'},\n {base:'aa',letters:'\\uA733'},\n {base:'ae',letters:'\\u00E6\\u01FD\\u01E3'},\n {base:'ao',letters:'\\uA735'},\n {base:'au',letters:'\\uA737'},\n {base:'av',letters:'\\uA739\\uA73B'},\n {base:'ay',letters:'\\uA73D'},\n {base:'b', letters:'\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253'},\n {base:'c', letters:'\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184'},\n {base:'d', letters:'\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A'},\n {base:'dz',letters:'\\u01F3\\u01C6'},\n {base:'e', letters:'\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD'},\n {base:'f', letters:'\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C'},\n {base:'g', letters:'\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F'},\n {base:'h', letters:'\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265'},\n {base:'hv',letters:'\\u0195'},\n {base:'i', letters:'\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131'},\n {base:'j', letters:'\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249'},\n {base:'k', letters:'\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3'},\n {base:'l', letters:'\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747'},\n {base:'lj',letters:'\\u01C9'},\n {base:'m', letters:'\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F'},\n {base:'n', letters:'\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5'},\n {base:'nj',letters:'\\u01CC'},\n {base:'o', letters:'\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275'},\n {base:'oi',letters:'\\u01A3'},\n {base:'ou',letters:'\\u0223'},\n {base:'oo',letters:'\\uA74F'},\n {base:'p',letters:'\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755'},\n {base:'q',letters:'\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759'},\n {base:'r',letters:'\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783'},\n {base:'s',letters:'\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B'},\n {base:'t',letters:'\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787'},\n {base:'tz',letters:'\\uA729'},\n {base:'u',letters: '\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289'},\n {base:'v',letters:'\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C'},\n {base:'vy',letters:'\\uA761'},\n {base:'w',letters:'\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73'},\n {base:'x',letters:'\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D'},\n {base:'y',letters:'\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF'},\n {base:'z',letters:'\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763'}\n ];\n \n var diacriticsMap = {};\n for (var i=0; i < defaultDiacriticsRemovalap.length; i++){\n var letters = defaultDiacriticsRemovalap[i].letters;\n for (var j=0; j < letters.length ; j++){\n diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base;\n }\n }\n \n function removeDiacritics (str) {\n return str.replace(/[^\\u0000-\\u007E]/g, function(a){ \n return diacriticsMap[a] || a; \n });\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 () {\n function _enable() {\n if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active');\n s.container.addClass('searchbar-active');\n if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, '0px');\n s.triggerEvent('enableSearch', 'onEnable');\n s.active = true;\n }\n if (app.device.ios) {\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 function _disable() {\n s.input.blur();\n s.triggerEvent('disableSearch', 'onDisable');\n s.active = false;\n }\n if (app.device.ios) {\n setTimeout(function () {\n _disable();\n }, 400);\n }\n else {\n _disable();\n }\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 s.input.val('').trigger('change').focus();\n s.triggerEvent('clearSearch', 'onClear');\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 if (!internal) {\n s.input.val(query);\n }\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', 'onSearch', {query: query});\n return;\n }\n \n var foundItems = [];\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 if (virtualList.params.searchAll) {\n foundItems = virtualList.params.searchAll(query, virtualList.items) || [];\n }\n else if (virtualList.params.searchByItem) {\n for (var i = 0; i < virtualList.items.length; i++) {\n if(virtualList.params.searchByItem(query, 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', '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 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 if (m.pageContent.length > 0) {\n m.pageContent.css('padding-bottom', newBarHeight + 'px');\n if (m.pageContent.find('.messages-new-first').length === 0) {\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('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', 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 && !ignoreCache) {\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.f7PageInitialized && view && !view.params.domCache) return;\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: params.query || $.parseUrlQuery(params.url || ''),\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.onPageBeforeInit(app, pageData);\n app.triggerPageCallbacks('reinit', pageData.name, pageData);\n $(pageData.container).trigger('pageReinit', {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: 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: pageData});\n };\n app.pageRemoveCallback = function (view, pageContainer, position) {\n var pageContext;\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: pageData});\n };\n app.pageBackCallback = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n var pageContext;\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: 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: pageData});\n }\n };\n app.pageAnimCallback = function (callback, view, params) {\n var pageContainer = params.pageContainer;\n var pageContext;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: params.query || $.parseUrlQuery(params.url || ''),\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: 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: 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.initInfiniteScroll) app.initInfiniteScroll(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.initScrollToolbars) app.initScrollToolbars(pageContainer);\n // Init lazy images\n if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer);\n // Init resizeable textareas\n if (app.initPageResizableTextareas) app.initPageResizableTextareas(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 // 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);\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 else return undefined;\n }\n },\n \n // Set pages classess for animationEnd\n animatePages: function (leftPage, rightPage, direction, view) {\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 if (newNavbarPosition === 'left' && sliding.hasClass('center') && $(oldNavbarInner).find('.left .back .icon ~ span').length > 0) {\n slidingOffset += $(oldNavbarInner).find('.left .back span')[0].offsetLeft;\n }\n }\n \n sliding.transform('translate3d(' + slidingOffset + 'px,0,0)');\n });\n },\n \n // Set navbars classess for animation\n animateNavbars: function (leftNavbarInner, rightNavbarInner, direction, view) {\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) {\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 pageName = options.pageName;\n \n var t7_ctx, t7_template;\n if (typeof content === 'string') {\n if (url) {\n if (app.template7Cache[url]) 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) t7_ctx = context;\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) t7_ctx = {};\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 t7_rendered_content = t7_template(t7_ctx);\n }\n \n return {content: t7_rendered_content, context: t7_ctx};\n }\n };\n \n \n app.router._load = function (view, options) {\n options = 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 \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n // Plugin hook\n app.pluginHook('routerLoad', view, options);\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) {\n if (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 newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n }\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 \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 $(pagesInView[i]).remove();\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n $(pagesInView[i]).remove();\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n oldPage = pagesContainer.children('.page:not(.cached)');\n }\n if(view.params.domCache) 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 dynamicNavbar = false;\n }\n navbar = viewContainer.find('.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 $(oldNavbarInner[i]).remove();\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 $(oldNavbarInner[0]).remove();\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) 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 \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: 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 && lastUrl.indexOf('#') === 0 && lastUrl in view.contentCache && lastUrl !== url) {\n view.contentCache[lastUrl] = null;\n delete view.contentCache[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 oldPage.remove();\n if (dynamicNavbar) oldNavbarInner.remove();\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,\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 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 oldPage.remove();\n if (dynamicNavbar) oldNavbarInner.remove(); \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 (e) {\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 if (app.router.preroute(view, options)) {\n return false;\n }\n options = options || {};\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\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) {\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 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 \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 app.pluginHook('routerBack', view, options);\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 (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 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.find('.navbar');\n navbarInners = viewContainer.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 pageToRemove.remove();\n if (removeNavbar) navbarToRemove.remove();\n }\n else if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n navbarToRemove.remove();\n } \n }\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (dynamicNavbar) {\n navbarInners = viewContainer.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.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).find('.navbar-inner[data-page=\"' + pageName + '\"]');\n }\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).find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\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 if (app.router.preroute(view, options)) {\n return false;\n }\n options = options || {};\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\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 = options.url = view.history[view.history.length - 2];\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.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) {\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 oldPage.remove();\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).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 oldNavbar.remove();\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 index = page.index();\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 page.remove();\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) $(page[0].f7RelatedNavbar).remove();\n }\n });\n }\n \n // Check previous page is content based only and remove it from content cache\n if (!view.params.domCache && previousURL && previousURL.indexOf('#') > -1 && (previousURL in view.contentCache)) {\n view.contentCache[previousURL] = null;\n delete view.contentCache[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).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 modalHTML = '
' + (titleHTML + textHTML + afterTextHTML) + '
' + buttonsHTML + '
';\n }\n \n _modalTemplateTempDiv.innerHTML = modalHTML;\n \n var modal = $(_modalTemplateTempDiv).children();\n \n $('body').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.materialPreloaderSvg : '') + '
',\n cssClass: 'modal-preloader'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n $('body').append('
' + (app.params.material ? app.params.materialPreloaderSvg : '') + '
');\n };\n app.hideIndicator = function () {\n $('.preloader-indicator-overlay, .preloader-indicator-modal').remove();\n };\n // Action Sheet\n app.actions = function (target, params) {\n var toPopover = false, modal, groupSelector, buttonSelector;\n if (arguments.length === 1) {\n // Actions\n params = target;\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 params = params || [];\n \n if (params.length > 0 && !$.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));\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 $('body').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);\n return modal[0];\n };\n app.popover = function (modal, target, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = 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 $('body').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.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 \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 - 6), 6);\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 - 6), 6);\n modalAngle.css({top: modalAngleTop + 'px'});\n }\n }\n \n \n // Apply Styles\n modal.css({top: modalTop + 'px', left: modalLeft + 'px'});\n }\n sizePopover();\n \n $(window).on('resize', sizePopover);\n modal.on('close', function () {\n $(window).off('resize', sizePopover);\n });\n \n app.openModal(modal);\n return modal[0];\n };\n app.popup = function (modal, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = 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 $('body').append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n modal.show();\n \n app.openModal(modal);\n return modal[0];\n };\n app.pickerModal = function (pickerModal, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof pickerModal === 'string' && pickerModal.indexOf('<') >= 0) {\n pickerModal = $(pickerModal);\n if (pickerModal.length > 0) {\n if (removeOnClose) pickerModal.addClass('remove-on-close');\n $('body').append(pickerModal[0]);\n }\n else return false; //nothing found\n }\n pickerModal = $(pickerModal);\n if (pickerModal.length === 0) return false;\n pickerModal.show();\n app.openModal(pickerModal);\n return pickerModal[0];\n };\n app.loginScreen = function (modal) {\n if (!modal) modal = '.login-screen';\n modal = $(modal);\n if (modal.length === 0) return false;\n modal.show();\n \n app.openModal(modal);\n return modal[0];\n };\n app.openModal = function (modal) {\n modal = $(modal);\n var isModal = modal.hasClass('modal');\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 // 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 modal.once('close', function() {\n modal.removeData('f7-modal-shown');\n });\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 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 $('body').append('
');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n $('body').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 $('body').append('
');\n }\n overlay = $('.picker-modal-overlay');\n }\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');\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 modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed');\n else modal.trigger('opened');\n });\n return true;\n };\n app.closeModal = function (modal) {\n modal = $(modal || '.modal-in');\n if (typeof modal !== 'undefined' && modal.length === 0) {\n return;\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 \n var removeOnClose = modal.hasClass('remove-on-close');\n \n var overlay = isPopup ? $('.popup-overlay') : (isPickerModal && app.params.material ? $('.picker-modal-overlay') : $('.modal-overlay'));\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 \n modal.trigger('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 modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed');\n else modal.trigger('opened');\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 {\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').trigger('closed').hide();\n if (removeOnClose) {\n modal.remove();\n }\n }\n return true;\n };\n \n\n /*======================================================\n ************ Panels ************\n ======================================================*/\n app.allowPanelOpen = true;\n app.openPanel = function (panelPosition) {\n if (!app.allowPanelOpen) return false;\n var panel = $('.panel-' + panelPosition);\n if (panel.length === 0 || panel.hasClass('active')) 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.css({display: 'block'}).addClass('active');\n panel.trigger('open');\n if (app.params.material) {\n $('.panel-overlay').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 var openedTriggered = false;\n \n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if ($(e.target).is(transitionEndTarget)) {\n if (panel.hasClass('active')) {\n panel.trigger('opened');\n }\n else {\n panel.trigger('closed');\n }\n if (app.params.material) $('.panel-overlay').css({display: ''});\n app.allowPanelOpen = true;\n }\n else panelTransitionEnd();\n });\n }\n panelTransitionEnd();\n \n $('body').addClass('with-panel-' + panelPosition + '-' + effect);\n return true;\n };\n app.closePanel = function () {\n var activePanel = $('.panel.active');\n if (activePanel.length === 0) return false;\n var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right';\n activePanel.removeClass('active');\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel;\n activePanel.trigger('close');\n app.allowPanelOpen = false;\n \n transitionEndTarget.transitionEnd(function () {\n if (activePanel.hasClass('active')) return;\n activePanel.css({display: ''});\n activePanel.trigger('closed');\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n \n $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect);\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) 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 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 (\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 app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n else {\n panel.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n if (app.params.material) {\n panelOverlay.transition(0);\n overlayOpacity = Math.abs(translate/panelWidth);\n panelOverlay.css({opacity: overlayOpacity});\n }\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 $('body').addClass('panel-closing');\n target.transitionEnd(function () {\n app.allowPanelOpen = true;\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\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 $(document).on(app.touchEvents.start, handleTouchStart);\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd);\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 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 = onLoad;\n image.src =src;\n }\n function lazyHandler() {\n lazyLoadImages = pageContainer.find('.lazy');\n lazyLoadImages.each(function(index, el) {\n el = $(el);\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 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('pageBeforeRemove', detachEvents);\n }\n \n // Run loader on page load/init\n lazyHandler();\n \n // Run after page animation\n pageContainer.once('pageAfterAnimation', lazyHandler);\n };\n app.destroyImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) {\n pageContainer[0].f7DestroyLazyLoad();\n }\n };\n app.reinitImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0) {\n pageContainer.trigger('lazy');\n }\n };\n\n /*======================================================\n ************ Material Preloader ************\n ======================================================*/\n app.initPageMaterialPreloader = function (pageContainer) {\n $(pageContainer).find('.preloader').each(function () {\n if ($(this).children('svg').length === 0) {\n $(this).html(app.params.materialPreloaderSvg);\n }\n });\n };\n\n /*======================================================\n ************ Messages ************\n ======================================================*/\n var Messages = function (container, params) {\n var defaults = {\n autoLayout: true,\n newMessagesFirst: 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) message.addClass('message-pic');\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 \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 (animate) props.position = method === 'append' ? 'bottom' : 'top';\n \n newMessagesHTML += m.template(props);\n }\n var heightBefore, scrollBefore;\n if (method === 'prepend') {\n heightBefore = m.pageContent[0].scrollHeight;\n scrollBefore = m.pageContent[0].scrollTop;\n }\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 - heightBefore);\n }\n if ((method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) {\n 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('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', 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 $(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 });\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 = direction;\n else 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 }\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 }\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, noFold;\n \n noFold = direction === 'to-left' ? noFoldRight : noFoldLeft;\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');\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');\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);\n $(swipeoutEl).on(app.touchEvents.move, handleTouchMove);\n $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart);\n $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd);\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 var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n el.trigger('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');\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 noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n app.allowSwipeout = false;\n el.trigger('close');\n el.removeClass('swipeout-opened').addClass('transitioning');\n \n var closeTO;\n function onSwipeoutClose() {\n app.allowSwipeout = true;\n buttons.transform('');\n el.trigger('closed');\n if (callback) callback.call(el[0]);\n if (closeTO) clearTimeout(closeTO);\n }\n el.find('.swipeout-content').transform('translate3d(' + 0 + 'px,0,0)').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'});\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');\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');\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 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');\n }\n else {\n sortableContainer.trigger('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');\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');\n return sortableContainer;\n };\n app.initSortable = function () {\n var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer;\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 sortingItems = sortingEl.parent().find('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');\n }\n if (insertBefore) {\n sortingEl.insertBefore(insertBefore);\n sortingEl.trigger('sort');\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 $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart);\n if (app.support.touch) {\n $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd);\n }\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 for (var i = 0; i < select.length; i++) {\n if (select[i].selected) valueText.push(select[i].textContent.trim());\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 });\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');\n if (!openIn) openIn = app.params.smartSelectInPopup ? 'popup' : 'page';\n if (openIn === 'popup') {\n if ($('.popup.smart-select-popup').length > 0) return;\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 = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ;\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 virtualList = smartSelectData.virtualList;\n var virtualListHeight = smartSelectData.virtualListHeight;\n var material = app.params.material;\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 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 if (option[0].disabled) continue;\n optionData = option.dataset();\n optionImage = optionData.optionImage || $selectData.optionImage;\n optionIcon = optionData.optionIcon || $selectData.optionIcon;\n optionHasMedia = optionImage || optionIcon || inputType === 'checkbox';\n if (material) optionHasMedia = optionImage || optionIcon;\n optionColor = optionData.optionColor;\n optionClassName = optionData.optionClass;\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 // 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 var 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 \n // Determine navbar layout type - static/fixed/through\n var noNavbar = '', noToolbar = '', navbarLayout;\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 }\n else {\n navbarLayout = 'fixed';\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 (navbarLayout === 'through' ? navbarHTML : '') +\n '
    ' +\n '
    ' +\n (navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n '
    ' +\n (navbarLayout === 'static' ? navbarHTML : '') +\n '
    ' +\n '
      ' +\n (virtualList ? '' : inputsHTML) +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ';\n \n // Define popup\n var popup;\n \n // Event Listeners on new page\n function handleInputs(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.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true;\n return false;\n }\n });\n $(container).once(openIn === 'popup' ? 'closed': 'pageBeforeRemove', function () {\n if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy();\n });\n }\n $(container).on('change', 'input[name=\"' + inputName + '\"]', function () {\n var input = this;\n var value = input.value;\n var optionText = [];\n if (input.type === 'checkbox') {\n var values = [];\n for (var i = 0; i < select.options.length; i++) {\n var option = select.options[i];\n if (option.value === value) {\n option.selected = input.checked;\n }\n if (option.selected) {\n optionText.push(option.textContent.trim());\n }\n }\n }\n else {\n optionText = [smartSelect.find('option[value=\"' + value + '\"]').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 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 {\n $(document).once('pageInit', '.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 };\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 = params.items;\n if (params.template) {\n if (typeof params.template === 'string') vl.template = t7.compile(params.template);\n else if (typeof params.template === 'function') vl.template = 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 }\n \n // Append