framework7rails 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/js/wrap-start.js","../../src/js/f7-intro.js","../../src/js/views.js","../../src/js/navbars.js","../../src/js/searchbar.js","../../src/js/messagebar.js","../../src/js/xhr.js","../../src/js/pages.js","../../src/js/router.js","../../src/js/modals.js","../../src/js/panels.js","../../src/js/messages.js","../../src/js/swipeout.js","../../src/js/sortable.js","../../src/js/smart-select.js","../../src/js/virtual-list.js","../../src/js/pull-to-refresh.js","../../src/js/infinite-scroll.js","../../src/js/scroll-toolbars.js","../../src/js/tabs.js","../../src/js/accordion.js","../../src/js/fast-clicks.js","../../src/js/clicks.js","../../src/js/resize.js","../../src/js/forms-handler.js","../../src/js/push-state.js","../../src/js/slider.js","../../src/js/photo-browser.js","../../src/js/notifications.js","../../src/js/template7-templates.js","../../src/js/plugins.js","../../src/js/init.js","../../src/js/f7-outro.js","../../src/js/dom7-intro.js","../../src/js/dom7-methods.js","../../src/js/dom7-ajax.js","../../src/js/dom7-utils.js","../../src/js/dom7-outro.js","../../src/js/proto-support.js","../../src/js/proto-device.js","../../src/js/proto-plugins.js","../../src/js/wrap-end.js","../../src/js/template7.js"],"names":[],"mappings":"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","file":"framework7.js","sourcesContent":["(function () {\n"," 'use strict';\n /*===========================\n Framework 7\n ===========================*/\n window.Framework7 = function (params) {\n \n // App\n var app = this;\n \n // Version\n app.version = '0.9.8';\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 router: true,\n // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateNoAnimation: false,\n pushStateSeparator: '#!/',\n // Fast clicks\n fastClicks: true,\n fastClicksDistanceThreshold: 0,\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 // Swipeout\n swipeout: true,\n swipeoutActionsNoFold: false,\n swipeoutNoFollow: false,\n // Smart Select Back link template\n smartSelectBackTemplate: '<div class=\"left sliding\"><a href=\"#\" class=\"back link\"><i class=\"icon icon-back\"></i><span>{{backText}}</span></a></div>',\n smartSelectBackText: 'Back',\n smartSelectInPopup: false,\n smartSelectPopupCloseTemplate: '<div class=\"left\"><a href=\"#\" class=\"link close-popup\"><i class=\"icon icon-back\"></i><span>{{closeText}}</span></a></div>',\n smartSelectPopupCloseText: 'Close',\n smartSelectSearchbar: false,\n smartSelectBackOnSelect: false,\n // Searchbar\n searchbarHideDividers: true,\n searchbarHideGroups: true,\n // Panels\n swipePanel: false, // or 'left' or 'right'\n swipePanelActiveArea: 0,\n swipePanelCloseOpposite: true,\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 // Name space\n viewClass: 'view',\n viewMainClass: 'view-main',\n viewsClass: 'views',\n // Notifications defaults\n notificationCloseOnClick: false,\n notificationCloseIcon: true,\n // Animate Pages\n animatePages: true,\n // Template7\n templates: {},\n template7Data: {},\n template7Pages: false,\n precompileTemplates: false,\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 = 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 ************ 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 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 // 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) {\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 // Is main\n view.main = container.hasClass(app.params.viewMainClass);\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 el;\n \n view.handleTouchStart = function (e) {\n if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl) 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 \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 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');\n previousNavElements = previousNavbar.find('.left, .center, .right');\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 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.os !== 'android') activePage[0].style.boxShadow = '0px 0px 12px rgba(0,0,0,' + (0.5 - 0.5 * 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 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 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 \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.pageBackCallbacks('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallbacks('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\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) history.back();\n // Page after animation callback\n app.pageBackCallbacks('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallbacks('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.router.afterBack(view, activePage, previousPage);\n }\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) {\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 ************ Navbars && Toolbars ************\n ======================================================*/\n // On Navbar Init Callback\n app.navbarInitCallback = function (view, pageContainer, navbar, navbarInnerContainer, url, position) {\n var _navbar = {\n container: navbar,\n innerContainer: navbarInnerContainer\n };\n var _page = {\n url: url,\n query: $.parseUrlQuery(url || ''),\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: position\n };\n var eventData = {\n navbar: _navbar,\n page: _page\n };\n \n // Plugin hook\n app.pluginHook('navbarInit', _navbar, _page);\n \n // Navbar Init Callback\n $(navbarInnerContainer).trigger('navbarInit', eventData);\n };\n app.sizeNavbars = function (viewContainer) {\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 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 navbarWidth = n.width(),\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 // 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 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.outerWidth()) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n }\n else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarWidth - left.outerWidth()) / 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.outerWidth()) / 2 * inverter;\n }\n else {\n right[0].f7NavbarLeftOffset = -(navbarWidth - right.outerWidth()) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n \n });\n };\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 ************ Searchbar ************\n ======================================================*/\n app.initSearchbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var searchbar = pageContainer.hasClass('searchbar') ? pageContainer : pageContainer.find('.searchbar');\n if (searchbar.length === 0) return;\n if (!pageContainer.hasClass('page')) pageContainer = searchbar.parents('.page').eq(0);\n var searchbarOverlay = pageContainer.hasClass('page') ? pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay');\n var input = searchbar.find('input[type=\"search\"]');\n var clear = searchbar.find('.searchbar-clear');\n var cancel = searchbar.find('.searchbar-cancel');\n var searchList = $(searchbar.attr('data-search-list'));\n var isVirtualList = searchList.hasClass('virtual-list');\n var virtualList;\n var searchIn = searchbar.attr('data-search-in');\n var searchBy = searchbar.attr('data-search-by');\n var found = searchbar.attr('data-searchbar-found');\n if (!found) {\n found = pageContainer.find('.searchbar-found');\n if (found.length === 0) found = $('.searchbar-found');\n }\n else {\n found = $(found);\n }\n var notFound = searchbar.attr('data-searchbar-not-found');\n if (!notFound) {\n notFound = pageContainer.find('.searchbar-not-found');\n if (notFound.length === 0) notFound = $('.searchbar-not-found');\n }\n else {\n notFound = $(notFound);\n }\n \n // Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n if (cancel.length > 0) {\n cancel.css(cancelMarginProp, -cancel[0].offsetWidth + 'px');\n }\n \n \n // Handlers\n function disableSearchbar() {\n input.val('').trigger('change');\n searchbar.removeClass('searchbar-active searchbar-not-empty');\n if (cancel.length > 0) cancel.css(cancelMarginProp, -cancel[0].offsetWidth + 'px');\n \n if (searchList) searchbarOverlay.removeClass('searchbar-overlay-active');\n if (app.device.ios) {\n setTimeout(function () {\n input.blur();\n searchList.trigger('disableSearch');\n }, 400);\n }\n else {\n input.blur();\n searchList.trigger('disableSearch');\n }\n }\n \n // Activate\n function enableSearchbar() {\n if (app.device.ios) {\n setTimeout(function () {\n if (searchList && !searchbar.hasClass('searchbar-active')) searchbarOverlay.addClass('searchbar-overlay-active');\n searchbar.addClass('searchbar-active');\n if (cancel.length > 0) cancel.css(cancelMarginProp, '0px');\n searchList.trigger('enableSearch');\n \n }, 400);\n }\n else {\n if (searchList && !searchbar.hasClass('searchbar-active')) searchbarOverlay.addClass('searchbar-overlay-active');\n searchbar.addClass('searchbar-active');\n if (cancel.length > 0) cancel.css(cancelMarginProp, '0px');\n searchList.trigger('enableSearch');\n }\n }\n \n // Clear\n function clearSearchbar() {\n input.val('').trigger('change').focus();\n searchList.trigger('clearSearch');\n }\n \n // Change\n function searchValue() {\n setTimeout(function () {\n var value = input.val().trim();\n if (value.length === 0) {\n searchbar.removeClass('searchbar-not-empty');\n if (searchList && searchbar.hasClass('searchbar-active')) searchbarOverlay.addClass('searchbar-overlay-active');\n }\n else {\n searchbar.addClass('searchbar-not-empty');\n if (searchList && searchbar.hasClass('searchbar-active')) searchbarOverlay.removeClass('searchbar-overlay-active');\n }\n if (searchList.length > 0 && (searchIn || isVirtualList)) search(value);\n }, 0);\n }\n \n //Prevent submit\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n searchbar[method]('submit', preventSubmit);\n cancel[method]('click', disableSearchbar);\n searchbarOverlay[method]('click', disableSearchbar);\n input[method]('focus', enableSearchbar);\n input[method]('change keydown keypress keyup', searchValue);\n clear[method]('click', clearSearchbar);\n }\n function detachEvents() {\n attachEvents(true);\n }\n searchbar[0].f7DestroySearchbar = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Search\n function search(query) {\n var values = query.trim().toLowerCase().split(' ');\n var foundItems = [];\n if (isVirtualList) {\n virtualList = searchList[0].f7VirtualList;\n if (query.trim() === '') {\n virtualList.resetFilter();\n notFound.hide();\n 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 searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) {\n el = $(el);\n var compareWithEl = el.find(searchIn);\n if (compareWithEl.length === 0) return;\n var compareWith;\n compareWith = compareWithEl.text().trim().toLowerCase();\n var wordsMatch = 0;\n for (var i = 0; i < values.length; i++) {\n if (compareWith.indexOf(values[i]) >= 0) wordsMatch++;\n }\n if (wordsMatch !== values.length) {\n el.addClass('hidden-by-searchbar');\n }\n else {\n foundItems.push(el[0]);\n }\n });\n \n if (app.params.searchbarHideDividers) {\n 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 if (hide) title.addClass('hidden-by-searchbar');\n else title.removeClass('hidden-by-searchbar');\n });\n }\n if (app.params.searchbarHideGroups) {\n searchList.find('.list-group').each(function () {\n var group = $(this);\n var notHidden = group.find('li:not(.hidden-by-searchbar)');\n if (notHidden.length === 0) {\n group.addClass('hidden-by-searchbar');\n }\n else {\n group.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n searchList.trigger('search', {query: query, foundItems: foundItems});\n if (foundItems.length === 0) {\n notFound.show();\n found.hide();\n }\n else {\n notFound.hide();\n found.show();\n }\n if (isVirtualList) {\n virtualList.filterItems(foundItems);\n }\n }\n \n // Destroy on page remove\n function pageBeforeRemove() {\n detachEvents();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n \n };\n app.destroySearchbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var searchbar = pageContainer.hasClass('searchbar') ? pageContainer : pageContainer.find('.searchbar');\n if (searchbar.length === 0) return;\n if (searchbar[0].f7DestroySearchbar) searchbar[0].f7DestroySearchbar();\n };\n "," /*======================================================\n ************ Messagebar ************\n ======================================================*/\n app.initMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n var textarea = messagebar.find('textarea');\n var pageContent = messagebar.parents('.page').find('.page-content');\n var initialBarHeight = messagebar[0].offsetHeight;\n var initialAreaHeight = textarea[0].offsetHeight;\n \n //Prevent submit\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n // Resize textarea\n function sizeTextarea() {\n \n // Reset\n textarea.css({'height': ''});\n \n var height = textarea[0].offsetHeight;\n var diff = height - textarea[0].clientHeight;\n var scrollHeight = textarea[0].scrollHeight;\n // Update\n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n var newBarHeight = initialBarHeight + (newAreaHeight - initialAreaHeight);\n var maxBarHeight = messagebar.attr('data-max-height') || messagebar.parents('.view')[0].offsetHeight - 88;\n if (newBarHeight > maxBarHeight) {\n newBarHeight = maxBarHeight;\n newAreaHeight = newBarHeight - initialBarHeight + initialAreaHeight;\n }\n textarea.css('height', newAreaHeight + 'px');\n messagebar.css('height', newBarHeight + 'px');\n if (pageContent.length > 0) {\n pageContent.css('padding-bottom', newBarHeight + 'px');\n pageContent.scrollTop(pageContent[0].scrollHeight - pageContent[0].offsetHeight);\n }\n }\n else {\n if (pageContent.length > 0) {\n messagebar.css({'height': ''});\n pageContent.css({'padding-bottom': ''});\n }\n }\n }\n var to;\n function handleKey(e) {\n clearTimeout(to);\n to = setTimeout(function () {\n sizeTextarea();\n }, 0);\n \n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n messagebar[method]('submit', preventSubmit);\n textarea[method]('change keydown keypress keyup paste cut', handleKey);\n }\n function detachEvents() {\n attachEvents(true);\n }\n \n messagebar[0].f7DestroyMessagebar = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Destroy on page remove\n function pageBeforeRemove() {\n detachEvents();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n };\n app.destroyMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n if (messagebar[0].f7DestroyMessagebar) messagebar[0].f7DestroyMessagebar();\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 start: app.params.onAjaxStart,\n complete: function (xhr) {\n if (xhr.status === 200 || 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.onAjaxonAjaxError(xhr);\n }\n });\n if (view) view.xhr = app.xhr;\n \n return app.xhr;\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.params.domCache) return;\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n 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 };\n \n if (pageContainer.f7PageInitialized && view.params.domCache) {\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) view.activePage = pageData;\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 // 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 from: position\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.pageBackCallbacks = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n \n var pageData = {\n container: params.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: params.context,\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.pageAnimCallbacks = function (callback, view, params) {\n // Page Data\n var pageData = {\n container: params.pageContainer,\n url: params.url,\n query: $.parseUrlQuery(params.url || ''),\n name: $(params.pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: params.context,\n swipeBack: params.swipeBack\n };\n var oldPage = params.oldPage,\n newPage = params.newPage;\n \n // Update page date\n params.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 // Size navbars on page load\n if (app.sizeNavbars) app.sizeNavbars($(pageContainer).parents('.' + app.params.viewClass)[0]);\n // Init messages\n if (app.initMessages) app.initMessages(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.initSlider) app.initSlider(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.initMessagebar) app.initMessagebar(pageContainer);\n // Init scroll toolbars\n if (app.initScrollToolbars) app.initScrollToolbars(pageContainer);\n };\n app.reinitPage = function (pageContainer) {\n // Size navbars on page reinit\n if (app.sizeNavbars) app.sizeNavbars($(pageContainer).parents('.' + app.params.viewClass)[0]);\n // Reinit slider\n if (app.reinitSlider) app.reinitSlider(pageContainer);\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('page-on-center').addClass('page-from-center-to-left');\n // rightPage.removeClass('page-on-left').addClass('page-from-right-to-center');\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('page-on-left').addClass('page-from-left-to-center');\n // rightPage.removeClass('page-on-center').addClass('page-from-center-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 if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) {\n this.f7NavbarLeftOffset += rightNavbarInner.find('.sliding.left .back span')[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(content, url, next) {\n // Plugin hook\n app.pluginHook('routerPreprocess', content, url, next);\n \n // Preprocess by plugin\n content = app.pluginProcess('preprocess', content);\n \n if (app.params.preprocess) {\n content = app.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n } else {\n next(content);\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 $(oldNavbarInner[i]).remove();\n else\n $(oldNavbarInner[i]).addClass('cached');\n }\n if (!newNavbarInner && oldNavbarInner.length === 1) {\n if (!view.params.domCache)\n $(oldNavbarInner[0]).remove();\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 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[0] : undefined, \n context: t7_rendered.context\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.pageAnimCallbacks('before', view, {pageContainer: newPage[0], url: url, position: 'right', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n \n function afterAnimation() {\n view.allowPageChange = true;\n newPage.removeClass('page-from-right-to-center page-on-right').addClass('page-on-center');\n oldPage.removeClass('page-from-center-to-left page-on-center').addClass('page-on-left');\n if (dynamicNavbar) {\n newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-right').addClass('navbar-on-center');\n oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center').addClass('navbar-on-left');\n }\n app.pageAnimCallbacks('after', view, {pageContainer: newPage[0], url: url, position: 'right', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n if (app.params.pushState) 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 oldPage.remove();\n if (dynamicNavbar) oldNavbarInner.remove(); \n }\n }\n }\n if (view.params.uniqueHistory && historyBecameUnique) {\n view.refreshPreviousPage();\n }\n }\n \n if (animatePages) {\n // Set pages before animation\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function () {\n app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view);\n }, 0);\n \n }\n newPage.animationEnd(function (e) {\n afterAnimation();\n });\n }\n else {\n afterAnimation();\n }\n };\n \n app.router.load = function (view, options) {\n options = options || {};\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\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) 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(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 // Push state\n if (app.params.pushState) {\n if (typeof pushState === 'undefined') pushState = true;\n if (!preloadOnly && history.state && pushState) {\n history.back();\n }\n }\n \n // Animation\n function afterAnimation() {\n app.pageBackCallbacks('after', view, {pageContainer: oldPage[0], url: url, position: 'center', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n app.pageAnimCallbacks('after', view, {pageContainer: newPage[0], url: url, position: 'left', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n app.router.afterBack(view, oldPage[0], newPage[0]);\n }\n function animateBack() {\n // Page before animation callback\n app.pageBackCallbacks('before', view, {pageContainer: oldPage[0], url: url, position: 'center', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n app.pageAnimCallbacks('before', view, {pageContainer: newPage[0], url: url, position: 'left', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\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 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 \n // Remove/hide previous page in force mode\n if (force) {\n var pageToRemove, navbarToRemove;\n pageToRemove = $(pagesInView[pagesInView.length - 2]);\n if (dynamicNavbar) navbarToRemove = $(pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]);\n if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) {\n pageToRemove.addClass('cached');\n if (dynamicNavbar) {\n navbarToRemove.addClass('cached');\n }\n }\n else {\n pageToRemove.remove();\n if (dynamicNavbar) {\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 view.history[view.history.length - 2] = url;\n }\n }\n \n oldPage = $(pagesInView[pagesInView.length - 1]);\n \n if (dynamicNavbar && !oldNavbarInner) {\n oldNavbarInner = $(navbarInners[navbarInners.length - 1]);\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 context: t7_rendered.context\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 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 \n if (!force) {\n // Go back when there is no pages on left\n view.url = view.history[view.history.length - 2];\n url = view.url;\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 options = options || {};\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\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(content, url, function (content) {\n options.content = content;\n app.router._back(view, options);\n });\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 oldPage.remove();\n app.pageRemoveCallback(view, oldPage[0], 'right');\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 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 if (page[0].f7RelatedNavbar) $(page[0].f7RelatedNavbar).remove();\n page.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) 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 previousPage.insertBefore(newPage);\n if (newNavbar) {\n previousNavbar = $(view.container).find('.navbar-inner[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n previousNavbar.insertBefore(newNavbar);\n }\n if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached');\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 ************ Modals ************\n ======================================================*/\n var _modalTemplateTempDiv = document.createElement('div');\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 += '<span class=\"modal-button' + (params.buttons[i].bold ? ' modal-button-bold' : '') + '\">' + params.buttons[i].text + '</span>';\n }\n }\n var titleHTML = params.title ? '<div class=\"modal-title\">' + params.title + '</div>' : '';\n var textHTML = params.text ? '<div class=\"modal-text\">' + params.text + '</div>' : '';\n var afterTextHTML = params.afterText ? params.afterText : '';\n var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : '';\n modalHTML = '<div class=\"modal ' + noButtons + '\"><div class=\"modal-inner\">' + (titleHTML + textHTML + afterTextHTML) + '</div><div class=\"modal-buttons\">' + buttonsHTML + '</div></div>';\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: '<input type=\"text\" class=\"modal-text-input\">',\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: '<input type=\"text\" name=\"modal-username\" placeholder=\"' + app.params.modalUsernamePlaceholder + '\" class=\"modal-text-input modal-text-input-double\"><input type=\"password\" name=\"modal-password\" placeholder=\"' + app.params.modalPasswordPlaceholder + '\" class=\"modal-text-input modal-text-input-double\">',\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: '<input type=\"password\" name=\"modal-password\" placeholder=\"' + app.params.modalPasswordPlaceholder + '\" class=\"modal-text-input\">',\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: '<div class=\"preloader\"></div>'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n $('body').append('<div class=\"preloader-indicator-overlay\"></div><div class=\"preloader-indicator-modal\"><span class=\"preloader preloader-white\"></span></div>');\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 actionsPopoverTemplate = \n '<div class=\"popover actions-popover\">' +\n '<div class=\"popover-inner\">' +\n '{{#each this}}' +\n '<div class=\"list-block\">' +\n '<ul>' +\n '{{#each this}}' +\n '{{#if label}}' +\n '<li class=\"actions-popover-label {{#if color}}color-{{color}}{{/if}} {{#if bold}}actions-popover-bold{{/if}}\">{{text}}</li>' +\n '{{else}}' +\n '<li><a href=\"#\" class=\"item-link list-button {{#if color}}color-{{color}}{{/if}} {{#if bg}}bg-{{bg}}{{/if}} {{#if bold}}actions-popover-bold{{/if}}\">{{text}}</a></li>' +\n '{{/if}}' +\n '{{/each}}' +\n '</ul>' +\n '</div>' +\n '{{/each}}' +\n '</div>' +\n '</div>';\n if (!app._compiledTemplates.actionsPopover) {\n app._compiledTemplates.actionsPopover = t7.compile(actionsPopoverTemplate);\n }\n var popoverHTML = app._compiledTemplates.actionsPopover(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 += '<div class=\"actions-modal-group\">';\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 buttonsHTML += '<span class=\"' + buttonClass + '\">' + button.text + '</span>';\n if (j === params[i].length - 1) buttonsHTML += '</div>';\n }\n }\n modalHTML = '<div class=\"actions-modal\">' + buttonsHTML + '</div>';\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 = $.trim(modal);\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) {\n modal.append('<div class=\"popover-angle\"></div>');\n }\n modal.show();\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 = modal.find('.popover-angle');\n var modalAngleSize = modalAngle.width() / 2;\n var modalAngleLeft, modalAngleTop;\n modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''});\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 = 'top';\n \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 // 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') modalAngle.addClass('on-bottom');\n if (modalPosition === 'bottom') modalAngle.addClass('on-top');\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 else if (modalPosition === 'middle') {\n modalLeft = targetOffset.left - modalWidth - modalAngleSize;\n modalAngle.addClass('on-right');\n if (modalLeft < 5) {\n modalLeft = targetOffset.left + targetWidth + modalAngleSize;\n modalAngle.removeClass('on-right').addClass('on-left');\n }\n if (modalLeft + modalWidth > windowWidth) {\n 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 // 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 if (modal.find('.' + app.params.viewClass).length > 0) {\n app.sizeNavbars(modal.find('.' + app.params.viewClass)[0]);\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 = $.trim(modal);\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 if (modal.find('.' + app.params.viewClass).length > 0) {\n app.sizeNavbars(modal.find('.' + app.params.viewClass)[0]);\n }\n app.openModal(modal);\n return modal[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 if (modal.find('.' + app.params.viewClass).length > 0) {\n app.sizeNavbars(modal.find('.' + app.params.viewClass)[0]);\n }\n app.openModal(modal);\n return modal[0];\n };\n app.openModal = function (modal) {\n modal = $(modal);\n \n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n if (!isPopover && !isPopup && !isLoginScreen) modal.css({marginTop: - Math.round(modal.outerHeight() / 2) + 'px'});\n \n var overlay;\n if (!isLoginScreen) {\n if ($('.modal-overlay').length === 0 && !isPopup) {\n $('body').append('<div class=\"modal-overlay\"></div>');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n $('body').append('<div class=\"popup-overlay\"></div>');\n }\n overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\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 // Classes for transition in\n if (!isLoginScreen) 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 isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n \n var removeOnClose = modal.hasClass('remove-on-close');\n \n var overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\n if (isPopup){\n if (modal.length === $('.popup.modal-in').length) {\n overlay.removeClass('modal-overlay-visible'); \n } \n }\n else {\n overlay.removeClass('modal-overlay-visible');\n }\n \n modal.trigger('close');\n \n if (!isPopover) {\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 (isPopup || isLoginScreen) {\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 }\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 ************ 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 (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 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 = $('.panel.panel-' + app.params.swipePanel);\n if (panel.length === 0) return;\n \n var panelOverlay = $('.panel-overlay');\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, opened, panelWidth, effect, direction, side;\n var views = $('.' + app.params.viewsClass);\n side = app.params.swipePanel;\n \n function handleTouchStart(e) {\n if (!app.allowPanelOpen || !app.params.swipePanel || isTouched) return;\n if ($('.modal-in, .photo-browser-in').length > 0) return;\n if (!app.params.swipePanelCloseOpposite) {\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) {\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n side = app.params.swipePanel;\n }\n }\n panel = $('.panel.panel-' + side);\n if (app.params.swipePanelActiveArea) {\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 panel.show();\n panelOverlay.show();\n opened = panel.hasClass('active');\n panelWidth = panel.width();\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)');\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 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('');\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 ************ Messages ************\n ======================================================*/\n app.initMessages = function (pageContainer) {\n var page = $(pageContainer);\n var messages = page.find('.messages');\n if (messages.length === 0) return;\n var pageContent = page.find('.page-content');\n if (!messages.hasClass('new-messages-first')) pageContent[0].scrollTop = messages.height() - pageContent.height();\n if (messages.hasClass('messages-auto-layout')) app.updateMessagesLayout(messages);\n };\n app.addMessage = function (props) {\n props = props || {};\n props.type = props.type || 'sent';\n if (!props.text || props.length === 0) return false;\n var messagesContent = $('.messages-content');\n if (messagesContent.length === 0) return false;\n var messages = messagesContent.find('.messages');\n var newOnTop = messages.hasClass('new-messages-first');\n var html = '';\n if (props.day) {\n html += '<div class=\"messages-date\">' + props.day + (props.time ? ',' : '') + (props.time ? ' <span>' + props.time + '</span>' : '') + '</div>';\n }\n var isPic = props.text.indexOf('<img') >= 0 ? 'message-pic' : '';\n var withAvatar = props.avatar ? 'message-with-avatar' : '';\n var messageClass = 'message' + ' message-' + props.type + ' ' + isPic + ' ' + withAvatar + ' message-appear';\n html += '<div class=\"' + messageClass + '\">' +\n (props.name ? '<div class=\"message-name\">' + props.name + '</div>' : '') +\n '<div class=\"message-text\">' + props.text + '</div>' +\n (props.avatar ? '<div class=\"message-avatar\" style=\"background-image:url(' + props.avatar + ')\"></div>' : '') +\n (props.label ? '<div class=\"message-label\">' + props.label + '</div>' : '') +\n '</div>';\n if (newOnTop) messages.prepend(html);\n else messages.append(html);\n if (messages.hasClass('messages-auto-layout')) app.updateMessagesLayout(messages);\n app.scrollMessagesContainer(messagesContent);\n };\n app.updateMessagesLayout = function (messages) {\n messages.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 messages.find('.message-sent').each(function () {\n var message = $(this);\n var next = message.next('.message-sent');\n var prev = message.prev('.message-sent');\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 // Search for changed names\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 messages.find('.message-received').each(function () {\n var message = $(this);\n var next = message.next('.message-received');\n var prev = message.prev('.message-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 // Search for changed names\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 app.scrollMessagesContainer = function (messagesContent) {\n messagesContent = $(messagesContent || '.messages-content');\n if (messagesContent.length === 0) return;\n var messages = messagesContent.find('.messages');\n var newOnTop = messages.hasClass('new-messages-first');\n var currentScroll = messagesContent[0].scrollTop;\n var newScroll = newOnTop ? 0 : messages.height() - messagesContent.height();\n if (newScroll === currentScroll) return;\n messagesContent.scrollTop(newScroll, 300);\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.parents('.modal-in').length > 0 ||\n target.hasClass('modal-overlay')\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.width();\n buttonsLeft = actionsLeft.children('a');\n overswipeLeftButton = actionsLeft.find('.swipeout-overswipe');\n }\n if (actionsRight.length > 0) {\n actionsRightWidth = actionsRight.width();\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 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) {\n el = $(el);\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.width();\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 });\n app.swipeoutOpenedEl = el;\n };\n app.swipeoutClose = function (el) {\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.width();\n app.allowSwipeout = false;\n el.trigger('close');\n el.removeClass('swipeout-opened').addClass('transitioning');\n el.find('.swipeout-content').transform('translate3d(' + 0 + 'px,0,0)').transitionEnd(function () {\n el.trigger('closed');\n buttons.transform('');\n app.allowSwipeout = true;\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) {\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 (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 ************ 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.allowsPanelOpen = 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.allowsPanelOpen = 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 ************ Smart Select ************\n ===============================================================================*/\n app.initSmartSelects = function (pageContainer) {\n var page = $(pageContainer);\n if (page.length === 0) return;\n \n var selects = page.find('.smart-select');\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('<div class=\"item-after\">' + valueText.join(', ') + '</div>');\n }\n else {\n itemAfter.text(valueText);\n }\n \n });\n \n };\n app.smartSelectOpen = function (smartSelect) {\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 if (!view) return;\n \n // Collect all values\n var select = smartSelect.find('select')[0];\n var $select = $(select);\n if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) {\n return;\n }\n var values = {};\n values.length = select.length;\n var option;\n for (var i = 0; i < select.length; i++) {\n option = $(select[i]);\n values[i] = {\n value: select[i].value,\n text: select[i].textContent.trim(),\n selected: select[i].selected,\n group: option.parent('optgroup')[0],\n image: option.attr('data-option-image') || $select.attr('data-option-image'),\n icon: option.attr('data-option-icon') || $select.attr('data-option-icon'),\n disabled: select[i].disabled\n };\n }\n var openIn = smartSelect.attr('data-open-in');\n if (!openIn) openIn = app.params.smartSelectInPopup ? 'popup' : 'page';\n \n var pageTitle = smartSelect.attr('data-page-title') || smartSelect.find('.item-title').text();\n var backText = smartSelect.attr('data-back-text') || app.params.smartSelectBackText;\n var closeText = smartSelect.attr('data-popup-close-text') || smartSelect.attr('data-back-text') || app.params.smartSelectPopupCloseText ;\n var backOnSelect = smartSelect.attr('data-back-onselect') ? (smartSelect.attr('data-back-onselect') === 'true' ? true : false) : app.params.smartSelectBackOnSelect;\n var formTheme = smartSelect.attr('data-form-theme') || app.params.smartSelectFormTheme;\n var navbarTheme = smartSelect.attr('data-navbar-theme') || app.params.smartSelectNavbarTheme;\n \n // Generate dynamic page layout\n var id = (new Date()).getTime();\n var inputType = select.multiple ? 'checkbox' : 'radio';\n var inputName = inputType + '-' + id;\n var inputsHTML = '';\n var previousGroup;\n for (var j = 0; j < values.length; j++) {\n if (values[j].disabled) continue;\n var checked = values[j].selected ? 'checked' : '';\n if (values[j].group) {\n if (values[j].group !== previousGroup) {\n inputsHTML += '<li class=\"item-divider\">' + values[j].group.label + '</li>';\n previousGroup = values[j].group;\n }\n }\n var media = '';\n if (inputType === 'checkbox') media += '<i class=\"icon icon-form-checkbox\"></i>';\n if (values[j].icon) media += '<i class=\"icon ' + values[j].icon + '\"></i>';\n if (values[j].image) media += '<img src=\"' + values[j].image + '\">';\n inputsHTML +=\n '<li>' +\n '<label class=\"label-' + inputType + ' item-content\">' +\n '<input type=\"' + inputType + '\" name=\"' + inputName + '\" value=\"' + values[j].value + '\" ' + checked + '>' +\n (media !== '' ? '<div class=\"item-media\">' + media + '</div>' : '') +\n '<div class=\"item-inner\">' +\n '<div class=\"item-title\">' + values[j].text + '</div>' +\n '</div>' +\n '</label>' +\n '</li>';\n }\n // Navbar HTML\n var navbarLeftTemplate = openIn === 'popup' ? app.params.smartSelectPopupCloseTemplate.replace(/{{closeText}}/g, closeText) : app.params.smartSelectBackTemplate.replace(/{{backText}}/g, backText);\n var navbarHTML =\n '<div class=\"navbar ' + (navbarTheme ? 'theme-' + navbarTheme : '') + '\">' +\n ' <div class=\"navbar-inner\">' +\n navbarLeftTemplate +\n ' <div class=\"center sliding\">' + pageTitle + '</div>' +\n ' </div>' +\n '</div>';\n \n if (app.params.smartSelectNavbarTemplate) {\n if (!app._compiledTemplates.smartSelectNavbar) {\n app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate);\n }\n navbarHTML = app._compiledTemplates.smartSelectNavbar({\n pageTitle: pageTitle,\n backText: backText,\n openIn: openIn,\n inPopup: openIn === 'popup',\n inPage: openIn === 'page',\n id: id,\n inputType: inputType\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 = '<form class=\"searchbar\" data-search-list=\".smart-select-list-' + id + '\" data-search-in=\".item-title\">' +\n '<div class=\"searchbar-input\">' +\n '<input type=\"search\" placeholder=\"' + searchbarPlaceholder + '\">' +\n '<a href=\"#\" class=\"searchbar-clear\"></a>' +\n '</div>' +\n '<a href=\"#\" class=\"searchbar-cancel\">' + searchbarCancel + '</a>' +\n '</form>' +\n '<div class=\"searchbar-overlay\"></div>';\n \n var pageHTML =\n (navbarLayout === 'through' ? navbarHTML : '') +\n '<div class=\"pages\">' +\n ' <div data-page=\"' + pageName + '\" class=\"page smart-select-page ' + noNavbar + ' ' + noToolbar + '\">' +\n (navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n ' <div class=\"page-content\">' +\n (navbarLayout === 'static' ? navbarHTML : '') +\n ' <div class=\"list-block smart-select-list-' + id + ' ' + (formTheme ? 'theme-' + formTheme : '') + '\">' +\n ' <ul>' +\n inputsHTML +\n ' </ul>' +\n ' </div>' +\n ' </div>' +\n ' </div>' +\n '</div>';\n \n // Define popup\n var popup;\n \n // Event Listeners on new page\n function handleInputs(container) {\n $(container).find('input[name=\"' + inputName + '\"]').on('change', 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 $(document).off('pageInit', pageInit);\n handleInputs(page.container);\n }\n }\n $(document).on('pageInit', pageInit);\n \n // Load content\n if (openIn === 'popup') {\n popup = app.popup('<div class=\"popup smart-select-popup smart-select-popup-' + inputName + '\">' +\n '<div class=\"view navbar-fixed\">' +\n pageHTML +\n '</div>' +\n '</div>');\n handleInputs(popup);\n }\n else view.router.load({content: pageHTML});\n };\n "," /*===============================================================================\n ************ Virtual List ************\n ===============================================================================*/\n var VirtualList = function (listBlock, params) {\n var defaults = {\n cols: 1,\n height: 44,\n cache: true\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 <ul>\n vl.ul = vl.listBlock.children('ul');\n if (vl.ul.length === 0) {\n vl.listBlock.append('<ul></ul>');\n vl.ul = vl.listBlock.children('ul');\n }\n \n // DOM cached items\n vl.domCache = {};\n vl.displayDomCache = {};\n \n // Temporary DOM Element\n vl.tempDomElement = document.createElement('ul');\n \n // Last repain position\n vl.lastRepaintY = null;\n \n // Fragment\n vl.fragment = document.createDocumentFragment();\n \n // Filter\n vl.filterItems = function (indexes, resetScrollTop) {\n vl.filteredItems = [];\n var firstIndex = indexes[0];\n var lastIndex = indexes[indexes.length - 1];\n for (var i = 0; i < indexes.length; i++) {\n vl.filteredItems.push(vl.items[indexes[i]]);\n }\n if (typeof resetScrollTop === 'undefined') resetScrollTop = true;\n if (resetScrollTop) {\n vl.pageContent[0].scrollTop = 0;\n }\n vl.update();\n };\n vl.resetFilter = function () {\n vl.filteredItems = null;\n delete vl.filteredItems;\n vl.update();\n };\n \n var pageHeight, rowsPerScreen, rowsBefore, rowsAfter, rowsToRender, maxBufferHeight = 0, listHeight;\n var dynamicHeight = typeof vl.params.height === 'function';\n \n // Set list size\n vl.setListSize = function () {\n var items = vl.filteredItems || vl.items;\n pageHeight = vl.pageContent[0].offsetHeight;\n if (dynamicHeight) {\n listHeight = 0;\n vl.heights = [];\n for (var i = 0; i < items.length; i++) {\n var itemHeight = vl.params.height(items[i]);\n listHeight += itemHeight;\n vl.heights.push(itemHeight);\n }\n }\n else {\n listHeight = items.length * vl.params.height;\n rowsPerScreen = Math.ceil(pageHeight / vl.params.height);\n rowsBefore = vl.params.rowsBefore || rowsPerScreen * 2;\n rowsAfter = vl.params.rowsAfter || rowsPerScreen;\n rowsToRender = (rowsPerScreen + rowsBefore + rowsAfter);\n maxBufferHeight = rowsBefore / 2 * vl.params.height;\n }\n \n if (updatableScroll) {\n vl.ul.css({height: listHeight + 'px'});\n }\n };\n \n // Render items\n vl.render = function (force) {\n if (force) vl.lastRepaintY = null;\n var scrollTop = vl.pageContent[0].scrollTop;\n if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > maxBufferHeight || (!updatableScroll && (scrollTop + pageHeight >= vl.pageContent[0].scrollHeight))) {\n vl.lastRepaintY = scrollTop;\n }\n else {\n return;\n }\n var items = vl.filteredItems || vl.items, \n fromIndex, toIndex, heightBeforeFirstItem = 0, heightBeforeLastItem = 0;\n if (dynamicHeight) {\n var itemTop = 0, j, itemHeight; \n maxBufferHeight = pageHeight;\n for (j = 0; j < vl.heights.length; j++) {\n itemHeight = vl.heights[j];\n if (typeof fromIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop - pageHeight * 2) fromIndex = j;\n else heightBeforeFirstItem += itemHeight;\n }\n \n if (typeof toIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop + pageHeight * 2 || j === vl.heights.length - 1) toIndex = j + 1;\n heightBeforeLastItem += itemHeight;\n }\n itemTop += itemHeight;\n }\n toIndex = Math.min(toIndex, items.length);\n }\n else {\n fromIndex = (parseInt(scrollTop / vl.params.height) - rowsBefore) * vl.params.cols;\n if (fromIndex < 0) {\n fromIndex = 0;\n }\n toIndex = Math.min(fromIndex + rowsToRender * vl.params.cols, items.length);\n }\n \n var topPosition;\n vl.reachEnd = false;\n for (var i = fromIndex; i < toIndex; i++) {\n var item, index;\n // Define real item index\n index = vl.items.indexOf(items[i]);\n \n if (i === fromIndex) vl.currentFromIndex = index;\n if (i === toIndex - 1) vl.currentToIndex = index;\n if (index === vl.items.length - 1) vl.reachEnd = true;\n \n // Find items\n if (vl.domCache[index]) {\n item = vl.domCache[index];\n }\n else {\n if (vl.template) {\n vl.tempDomElement.innerHTML = vl.template(items[i], {index: index});\n }\n else if (vl.params.renderItem) {\n vl.tempDomElement.innerHTML = vl.params.renderItem(index, items[i]); \n }\n else {\n vl.tempDomElement.innerHTML = items[i];\n }\n item = vl.tempDomElement.childNodes[0];\n if (vl.params.cache) vl.domCache[index] = item;\n }\n item.f7VirtualListIndex = index;\n \n // Set item top position\n if (i === fromIndex) {\n if (dynamicHeight) {\n topPosition = heightBeforeFirstItem;\n }\n else {\n topPosition = (i * vl.params.height / vl.params.cols);\n }\n }\n item.style.top = topPosition + 'px';\n \n // Before item insert\n if (vl.params.onItemBeforeInsert) vl.params.onItemBeforeInsert(vl, item);\n \n // Append item to fragment\n vl.fragment.appendChild(item);\n \n // Update list height with not updatable scroll\n if (!updatableScroll) {\n if (dynamicHeight) {\n vl.ul[0].style.height = heightBeforeLastItem + 'px';\n }\n else {\n vl.ul[0].style.height = (i + 1) * vl.params.height + 'px';\n }\n }\n }\n \n // Update list html\n if (vl.params.onBeforeClear) vl.params.onBeforeClear(vl, vl.fragment);\n vl.ul[0].innerHTML = '';\n \n if (vl.params.onItemsBeforeInsert) vl.params.onItemsBeforeInsert(vl, vl.fragment);\n vl.ul[0].appendChild(vl.fragment);\n if (vl.params.onItemsAfterInsert) vl.params.onFragmentAfterInsert(vl, vl.fragment);\n };\n \n // Handle scroll event\n vl.handleScroll = function (e) {\n vl.render();\n };\n // Handle resize event\n vl.handleResize = function (e) {\n vl.setListSize();\n vl.render(true);\n };\n \n vl.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n vl.pageContent[action]('scroll', vl.handleScroll);\n $(window)[action]('resize', vl.handleResize);\n };\n \n // Init Virtual List\n vl.init = function () {\n vl.attachEvents();\n vl.setListSize();\n vl.render();\n };\n \n // Append\n vl.appendItems = function (items) {\n for (var i = 0; i < items.length; i++) {\n vl.items.push(items[i]);\n }\n vl.update();\n };\n vl.appendItem = function (item) {\n vl.appendItems([item]);\n };\n // Replace\n vl.replaceAllItems = function (items) {\n vl.items = items;\n delete vl.filteredItems;\n vl.domCache = {};\n vl.update();\n };\n vl.replaceItem = function (index, item) {\n vl.items[index] = item;\n if (vl.params.cache) delete vl.domCache[index];\n vl.update();\n };\n // Prepend\n vl.prependItems = function (items) {\n for (var i = items.length - 1; i >= 0; i--) {\n vl.items.unshift(items[i]);\n }\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n vl.prependItem = function (item) {\n vl.prependItems([item]);\n };\n \n // Move\n vl.moveItem = function (oldIndex, newIndex) {\n if (oldIndex === newIndex) return;\n // remove item from array\n var item = vl.items.splice(oldIndex, 1)[0];\n if (newIndex >= vl.items.length) {\n // Add item to the end\n vl.items.push(item);\n newIndex = vl.items.length - 1;\n }\n else {\n // Add item to new index\n vl.items.splice(newIndex, 0, item);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n var leftIndex = oldIndex < newIndex ? oldIndex : newIndex;\n var rightIndex = oldIndex < newIndex ? newIndex : oldIndex;\n var indexShift = oldIndex < newIndex ? -1 : 1;\n if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex];\n if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex];\n if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Insert before\n vl.insertItemBefore = function (index, item) {\n if (index === 0) {\n vl.prependItem(item);\n return;\n }\n if (index >= vl.items.length) {\n vl.appendItem(item);\n return;\n }\n vl.items.splice(index, 0, item);\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex >= index) {\n newCache[cachedIndex + 1] = vl.domCache[cachedIndex];\n }\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Delete\n vl.deleteItems = function (indexes) {\n var prevIndex, indexShift = 0;\n for (var i = 0; i < indexes.length; i++) {\n var index = indexes[i];\n if (typeof prevIndex !== 'undefined') {\n if (index > prevIndex) {\n indexShift = -i;\n }\n }\n index = index + indexShift;\n prevIndex = indexes[i];\n // Delete item\n var deletedItem = vl.items.splice(index, 1)[0];\n \n // Delete from filtered\n if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) {\n vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex === index) {\n delete vl.domCache[index];\n }\n else if (parseInt(cached, 10) > index) {\n newCache[cachedIndex - 1] = vl.domCache[cached];\n }\n else {\n newCache[cachedIndex] = vl.domCache[cached]; \n }\n }\n vl.domCache = newCache;\n }\n }\n vl.update();\n };\n vl.deleteAllItems = function () {\n vl.items = [];\n delete vl.filteredItems;\n if (vl.params.cache) vl.domCache = {};\n vl.update();\n };\n vl.deleteItem = function (index) {\n vl.deleteItems([index]);\n };\n \n // Clear cache\n vl.clearCache = function () {\n vl.domCache = {};\n };\n \n // Update Virtual List\n vl.update = function () {\n vl.setListSize();\n vl.render(true);\n };\n \n // Destroy\n vl.destroy = function () {\n vl.attachEvents(true);\n delete vl.items;\n delete vl.domCache;\n };\n \n // Init Virtual List\n vl.init();\n \n // Store vl in container\n vl.listBlock[0].f7VirtualList = vl;\n return vl;\n };\n \n // App Method\n app.virtualList = function (listBlock, params) {\n return new VirtualList(listBlock, params);\n };\n \n app.reinitVirtualList = function (pageContainer) {\n var page = $(pageContainer);\n var vlists = page.find('.virtual-list');\n if (vlists.length === 0) return;\n for (var i = 0; i < vlists.length; i++) {\n var vlistInstance = vlistInstance[0].f7VirtualList;\n if (vlistInstance) {\n vlistInstance.update();\n }\n }\n };"," /*======================================================\n ************ Pull To Refresh ************\n ======================================================*/\n app.initPullToRefresh = function (pageContainer) {\n var eventsTarget = $(pageContainer);\n if (!eventsTarget.hasClass('pull-to-refresh-content')) {\n eventsTarget = eventsTarget.find('.pull-to-refresh-content');\n }\n if (eventsTarget.length === 0) return;\n \n var isTouched, isMoved, touchesStart = {}, isScrolling, touchesDiff, touchStartTime, container, refresh = false, useTranslate = false, startTranslate = 0, translate, scrollTop, wasScrolled, layer;\n var page = eventsTarget.hasClass('page') ? eventsTarget : eventsTarget.parents('.page');\n var hasNavbar = false;\n if (page.find('.navbar').length > 0 || page.parents('.navbar-fixed, .navbar-through').length > 0 || page.hasClass('navbar-fixed') || page.hasClass('navbar-through')) hasNavbar = true;\n if (page.hasClass('no-navbar')) hasNavbar = false;\n if (!hasNavbar) eventsTarget.addClass('pull-to-refresh-no-navbar');\n \n if (eventsTarget)\n \n container = eventsTarget;\n \n function handleTouchStart(e) {\n if (isTouched) {\n if (app.device.os === 'android') {\n if ('targetTouches' in e && e.targetTouches.length > 1) return;\n }\n else return;\n }\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n wasScrolled = 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 /*jshint validthis:true */\n container = $(this);\n }\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 scrollTop = container[0].scrollTop;\n if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true; \n \n if (!isMoved) {\n /*jshint validthis:true */\n container.removeClass('transitioning');\n // layer.removeClass('transitioning');\n if (scrollTop > container[0].offsetHeight) {\n isTouched = false;\n return;\n }\n startTranslate = container.hasClass('refreshing') ? 44 : 0;\n if (container[0].scrollHeight === container[0].offsetHeight || app.device.os !== 'ios') {\n useTranslate = true;\n }\n else {\n useTranslate = false;\n }\n }\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n \n if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) {\n // iOS 8 fix\n if (app.device.os === 'ios' && parseInt(app.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true;\n \n if (useTranslate) {\n e.preventDefault();\n translate = (Math.pow(touchesDiff, 0.85) + startTranslate);\n container.transform('translate3d(0,' + translate + 'px,0)');\n }\n else {\n }\n if ((useTranslate && Math.pow(touchesDiff, 0.85) > 44) || (!useTranslate && touchesDiff >= 88)) {\n refresh = true;\n container.addClass('pull-up').removeClass('pull-down');\n }\n else {\n refresh = false;\n container.removeClass('pull-up').addClass('pull-down');\n }\n }\n else {\n \n container.removeClass('pull-up pull-down');\n refresh = false;\n return;\n }\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n if (translate) {\n container.addClass('transitioning');\n translate = 0;\n }\n container.transform('');\n if (refresh) {\n container.addClass('refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n }\n else {\n container.removeClass('pull-down');\n }\n isTouched = false;\n isMoved = false;\n }\n \n // Attach Events\n eventsTarget.on(app.touchEvents.start, handleTouchStart);\n eventsTarget.on(app.touchEvents.move, handleTouchMove);\n eventsTarget.on(app.touchEvents.end, handleTouchEnd);\n \n // Detach Events on page remove\n if (page.length === 0) return;\n function detachEvents() {\n eventsTarget.off(app.touchEvents.start, handleTouchStart);\n eventsTarget.off(app.touchEvents.move, handleTouchMove);\n eventsTarget.off(app.touchEvents.end, handleTouchEnd);\n \n page.off('pageBeforeRemove', detachEvents);\n }\n page.on('pageBeforeRemove', detachEvents);\n \n };\n \n app.pullToRefreshDone = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content.refreshing');\n container.removeClass('refreshing').addClass('transitioning');\n container.transitionEnd(function () {\n container.removeClass('transitioning pull-up pull-down');\n });\n };\n app.pullToRefreshTrigger = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content');\n if (container.hasClass('refreshing')) return;\n container.addClass('transitioning refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n };\n "," /* ===============================================================================\n ************ Infinite Scroll ************\n =============================================================================== */\n function handleInfiniteScroll() {\n /*jshint validthis:true */\n var inf = $(this);\n var scrollTop = inf[0].scrollTop;\n var scrollHeight = inf[0].scrollHeight;\n var height = inf[0].offsetHeight;\n var distance = inf[0].getAttribute('data-distance');\n var virtualListContainer = inf.find('.virtual-list');\n var virtualList;\n if (!distance) distance = 50;\n if (typeof distance === 'string' && distance.indexOf('%') >= 0) {\n distance = parseInt(distance, 10) / 100 * height;\n }\n if (distance > height) distance = height;\n if (scrollTop + height >= scrollHeight - distance) {\n if (virtualListContainer.length > 0) {\n virtualList = virtualListContainer[0].f7VirtualList;\n if (virtualList && !virtualList.reachEnd) return;\n }\n inf.trigger('infinite');\n }\n }\n app.attachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).on('scroll', handleInfiniteScroll);\n };\n app.detachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).off('scroll', handleInfiniteScroll);\n };\n \n app.initInfiniteScroll = function (pageContainer) {\n pageContainer = $(pageContainer);\n var infiniteContent = pageContainer.find('.infinite-scroll');\n if (infiniteContent.length === 0) return;\n app.attachInfiniteScroll(infiniteContent);\n function detachEvents() {\n app.detachInfiniteScroll(infiniteContent);\n pageContainer.off('pageBeforeRemove', detachEvents);\n }\n pageContainer.on('pageBeforeRemove', detachEvents);\n };"," /*=============================================================\n ************ Hide/show Toolbar/Navbar on scroll ************\n =============================================================*/\n app.initScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var hideNavbar = app.params.hideNavbarOnPageScroll || scrollContent.hasClass('hide-navbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll');\n var hideToolbar = app.params.hideToolbarOnPageScroll || scrollContent.hasClass('hide-toolbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll');\n var hideTabbar = app.params.hideTabbarOnPageScroll || scrollContent.hasClass('hide-tabbar-on-scroll');\n \n if (!(hideNavbar || hideToolbar || hideTabbar)) return;\n \n var viewContainer = scrollContent.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n \n var navbar = viewContainer.find('.navbar'), \n toolbar = viewContainer.find('.toolbar'), \n tabbar;\n if (hideTabbar) {\n tabbar = viewContainer.find('.tabbar');\n if (tabbar.length === 0) tabbar = viewContainer.parents('.' + app.params.viewsClass).find('.tabbar');\n }\n \n var hasNavbar = navbar.length > 0,\n hasToolbar = toolbar.length > 0,\n hasTabbar = tabbar && tabbar.length > 0;\n \n var previousScroll, currentScroll;\n previousScroll = currentScroll = scrollContent[0].scrollTop;\n \n var scrollHeight, offsetHeight, reachEnd, action, navbarHidden, toolbarHidden, tabbarHidden;\n \n var toolbarHeight = (hasToolbar && hideToolbar) ? toolbar[0].offsetHeight : 0;\n var tabbarHeight = (hasTabbar && hideTabbar) ? tabbar[0].offsetHeight : 0;\n var bottomBarHeight = tabbarHeight || toolbarHeight;\n \n function handleScroll(e) {\n if (pageContainer.hasClass('page-on-left')) return;\n currentScroll = scrollContent[0].scrollTop;\n scrollHeight = scrollContent[0].scrollHeight;\n offsetHeight = scrollContent[0].offsetHeight;\n reachEnd = app.params.showBarsOnPageScrollEnd && (currentScroll + offsetHeight >= scrollHeight - bottomBarHeight);\n navbarHidden = navbar.hasClass('navbar-hidden');\n toolbarHidden = toolbar.hasClass('toolbar-hidden');\n tabbarHidden = tabbar && tabbar.hasClass('toolbar-hidden');\n \n \n if (previousScroll > currentScroll || reachEnd) {\n action = 'show';\n }\n else {\n if (currentScroll > 44) {\n action = 'hide';\n }\n else {\n action = 'show';\n }\n }\n \n if (action === 'show') {\n if (hasNavbar && hideNavbar && navbarHidden) {\n app.showNavbar(navbar);\n pageContainer.removeClass('no-navbar-by-scroll'); \n navbarHidden = false;\n }\n if (hasToolbar && hideToolbar && toolbarHidden) {\n app.showToolbar(toolbar);\n pageContainer.removeClass('no-toolbar-by-scroll'); \n toolbarHidden = false;\n }\n if (hasTabbar && hideTabbar && tabbarHidden) {\n app.showToolbar(tabbar);\n pageContainer.removeClass('no-tabbar-by-scroll'); \n tabbarHidden = false;\n }\n }\n else {\n if (hasNavbar && hideNavbar && !navbarHidden) {\n app.hideNavbar(navbar);\n pageContainer.addClass('no-navbar-by-scroll'); \n navbarHidden = true;\n }\n if (hasToolbar && hideToolbar && !toolbarHidden) {\n app.hideToolbar(toolbar);\n pageContainer.addClass('no-toolbar-by-scroll'); \n toolbarHidden = true;\n }\n if (hasTabbar && hideTabbar && !tabbarHidden) {\n app.hideToolbar(tabbar);\n pageContainer.addClass('no-tabbar-by-scroll'); \n tabbarHidden = true;\n }\n }\n \n previousScroll = currentScroll;\n }\n scrollContent.on('scroll', handleScroll);\n scrollContent[0].f7ScrollToolbarsHandler = handleScroll;\n };\n app.destroyScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var handler = scrollContent[0].f7ScrollToolbarsHandler;\n if (!handler) return;\n scrollContent.off('scroll', scrollContent[0].f7ScrollToolbarsHandler);\n };"," /* ===============================================================================\n ************ Tabs ************\n =============================================================================== */\n app.showTab = function (tab, tabLink) {\n var newTab = $(tab);\n if (newTab.hasClass('active')) return false;\n if (newTab.length === 0) return false;\n var tabs = newTab.parent('.tabs');\n if (tabs.length === 0) return false;\n \n // Return swipeouts in hidden tabs\n app.allowSwipeout = true;\n \n // Animated tabs\n var isAnimatedTabs = tabs.parent().hasClass('tabs-animated-wrap');\n if (isAnimatedTabs) {\n tabs.transform('translate3d(' + -newTab.index() * 100 + '%,0,0)');\n }\n \n // Remove active class from old tabs\n var oldTab = tabs.children('.tab.active').removeClass('active');\n // Add active class to new tab\n newTab.addClass('active');\n // Trigger 'show' event on new tab\n newTab.trigger('show');\n \n // Update navbars in new tab\n if (!isAnimatedTabs && newTab.find('.navbar').length > 0) {\n // Find tab's view\n var viewContainer;\n if (newTab.hasClass(app.params.viewClass)) viewContainer = newTab[0];\n else viewContainer = newTab.parents('.' + app.params.viewClass)[0];\n app.sizeNavbars(viewContainer);\n }\n \n // Find related link for new tab\n if (tabLink) tabLink = $(tabLink);\n else {\n // Search by id\n if (typeof tab === 'string') tabLink = $('.tab-link[href=\"' + tab + '\"]');\n else tabLink = $('.tab-link[href=\"#' + newTab.attr('id') + '\"]');\n // Search by data-tab\n if (!tabLink || tabLink && tabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (newTab.is($(this).attr('data-tab'))) tabLink = $(this);\n });\n }\n }\n if (tabLink.length === 0) return;\n \n // Find related link for old tab\n var oldTabLink;\n if (oldTab && oldTab.length > 0) {\n // Search by id\n var oldTabId = oldTab.attr('id');\n if (oldTabId) oldTabLink = $('.tab-link[href=\"#' + oldTabId + '\"]');\n // Search by data-tab\n if (!oldTabLink || oldTabLink && oldTabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (oldTab.is($(this).attr('data-tab'))) oldTabLink = $(this);\n });\n }\n }\n \n // Update links' classes\n if (tabLink && tabLink.length > 0) tabLink.addClass('active');\n if (oldTabLink && oldTabLink.length > 0) oldTabLink.removeClass('active');\n \n return true;\n };"," /*===============================================================================\n ************ Accordion ************\n ===============================================================================*/\n app.accordionToggle = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('accordion-item-expanded')) app.accordionClose(item);\n else app.accordionOpen(item);\n };\n app.accordionOpen = function (item) {\n item = $(item);\n var list = item.parents('.accordion-list');\n var content = item.find('.accordion-item-content');\n var expandedItem = list.find('.accordion-item-expanded');\n if (expandedItem.length > 0) {\n app.accordionClose(expandedItem);\n }\n content.css('height', content[0].scrollHeight + 'px').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('open');\n item.addClass('accordion-item-expanded');\n };\n app.accordionClose = function (item) {\n item = $(item);\n var content = item.find('.accordion-item-content');\n item.removeClass('accordion-item-expanded');\n content.transition(0);\n content.css('height', content[0].scrollHeight + 'px');\n // Relayout\n var clientLeft = content[0].clientLeft;\n // Close\n content.transition('');\n content.css('height', '').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('close');\n };"," /*===============================================================================\n ************ Fast Clicks ************\n ************ Inspired by https://github.com/ftlabs/fastclick ************\n ===============================================================================*/\n app.initFastClicks = function () {\n if (app.params.activeState) {\n $('html').addClass('watch-active-state');\n }\n \n var touchStartX, touchStartY, touchStartTime, targetElement, trackClick, activeSelection, scrollParent, lastClickTime, isMoved;\n var activableElement, activeTimeout, needsFastClick;\n \n function findActivableElement(e) {\n var target = $(e.target);\n var parents = target.parents(app.params.activeStateElements);\n \n return (parents.length > 0) ? parents : target;\n }\n function isInsideScrollableView() {\n var pageContent = activableElement.parents('.page-content, .panel');\n \n if (pageContent.length === 0) {\n return false;\n }\n \n // This event handler covers the \"tap to stop scrolling\".\n if (pageContent.prop('scrollHandlerSet') !== 'yes') {\n pageContent.on('scroll', function() {\n clearTimeout(activeTimeout);\n });\n pageContent.prop('scrollHandlerSet', 'yes');\n }\n \n return true;\n }\n function addActive() {\n activableElement.addClass('active-state');\n }\n function removeActive(el) {\n activableElement.removeClass('active-state');\n }\n \n function androidNeedsBlur(el) {\n var noBlur = ('button checkbox file image radio submit input textarea').split(' ');\n if (document.activeElement && el !== document.activeElement && document.activeElement !== document.body) {\n if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) {\n return false;\n }\n else {\n return true;\n }\n }\n else {\n return false;\n }\n }\n function targetNeedsFastClick(el) {\n var $el = $(el);\n if (el.nodeName.toLowerCase() === 'input' && el.type === 'file') return false;\n if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false;\n return true;\n }\n function targetNeedsFocus(el) {\n if (document.activeElement === el) {\n return false;\n }\n var tag = el.nodeName.toLowerCase();\n var skipInputs = ('button checkbox file image radio submit').split(' ');\n if (el.disabled || el.readOnly) return false;\n if (tag === 'textarea') return true;\n if (tag === 'select') {\n if (app.device.os === 'android') return false;\n else return true;\n }\n if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true;\n }\n function targetNeedsPrevent(el) {\n el = $(el);\n if (el.is('label') || el.parents('label').length > 0) {\n if (app.device.os === 'android') {\n var osv = app.device.osVersion.split('.');\n if (osv[0] * 1 > 4 || (osv[0] * 1 === 4 && osv[1] * 1 >= 4)) {\n return false;\n }\n else return true;\n }\n else return false;\n }\n return true;\n }\n \n // Mouse Handlers\n function handleMouseDown (e) {\n findActivableElement(e).addClass('active-state');\n if ('which' in e && e.which === 3) {\n setTimeout(function () {\n $('.active-state').removeClass('active-state');\n }, 0);\n }\n }\n function handleMouseMove (e) {\n $('.active-state').removeClass('active-state');\n }\n function handleMouseUp (e) {\n $('.active-state').removeClass('active-state');\n }\n \n // Touch Handlers\n function handleTouchStart(e) {\n isMoved = false;\n if (e.targetTouches.length > 1) {\n return true;\n }\n needsFastClick = targetNeedsFastClick(e.target);\n \n if (!needsFastClick) {\n trackClick = false;\n return true;\n }\n if (app.device.os === 'ios') {\n var selection = window.getSelection();\n if (selection.rangeCount && selection.focusNode !== document.body && (!selection.isCollapsed || document.activeElement === selection.focusNode)) {\n activeSelection = true;\n return true;\n }\n else {\n activeSelection = false;\n }\n }\n if (app.device.os === 'android') {\n if (androidNeedsBlur(e.target)) {\n document.activeElement.blur();\n }\n }\n \n trackClick = true;\n targetElement = e.target;\n touchStartTime = (new Date()).getTime();\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n \n // Detect scroll parent\n if (app.device.os === 'ios') {\n scrollParent = undefined;\n $(targetElement).parents().each(function () {\n var parent = this;\n if (parent.scrollHeight > parent.offsetHeight && !scrollParent) {\n scrollParent = parent;\n scrollParent.f7ScrollTop = scrollParent.scrollTop;\n }\n });\n }\n if ((e.timeStamp - lastClickTime) < 200) {\n e.preventDefault();\n }\n if (app.params.activeState) {\n activableElement = findActivableElement(e);\n // If it's inside a scrollable view, we don't trigger active-state yet,\n // because it can be a scroll instead. Based on the link:\n // http://labnote.beedesk.com/click-scroll-and-pseudo-active-on-mobile-webk\n if (!isInsideScrollableView(e)) {\n addActive();\n } else {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n }\n function handleTouchMove(e) {\n if (!trackClick) return;\n var _isMoved = false;\n var distance = app.params.fastClicksDistanceThreshold;\n if (distance) {\n var pageX = e.targetTouches[0].pageX;\n var pageY = e.targetTouches[0].pageY;\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n _isMoved = true;\n }\n }\n else {\n _isMoved = true;\n }\n if (_isMoved) {\n trackClick = false;\n targetElement = null;\n isMoved = true;\n }\n \n if (app.params.activeState) {\n clearTimeout(activeTimeout);\n removeActive();\n }\n }\n function handleTouchEnd(e) {\n clearTimeout(activeTimeout);\n \n if (!trackClick) {\n if (!activeSelection && needsFastClick) e.preventDefault();\n return true;\n }\n \n if (document.activeElement === e.target) {\n return true;\n }\n \n if (!activeSelection) {\n e.preventDefault();\n }\n \n if ((e.timeStamp - lastClickTime) < 200) {\n return true;\n }\n \n lastClickTime = e.timeStamp;\n \n trackClick = false;\n \n if (app.device.os === 'ios' && scrollParent) {\n if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) {\n return false;\n }\n }\n \n // Add active-state here because, in a very fast tap, the timeout didn't\n // have the chance to execute. Removing active-state in a timeout gives \n // the chance to the animation execute.\n if (app.params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n \n // Trigger focus when required\n if (targetNeedsFocus(targetElement)) {\n targetElement.focus();\n }\n \n e.preventDefault();\n var touch = e.changedTouches[0];\n var evt = document.createEvent('MouseEvents');\n var eventType = 'click';\n if (app.device.os === 'android' && targetElement.nodeName.toLowerCase() === 'select') {\n eventType = 'mousedown';\n }\n evt.initMouseEvent(eventType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n evt.forwardedTouchEvent = true;\n targetElement.dispatchEvent(evt);\n \n return false;\n }\n function handleTouchCancel(e) {\n trackClick = false;\n targetElement = null;\n }\n \n function handleClick(e) {\n var allowClick = false;\n \n if (trackClick) {\n targetElement = null;\n trackClick = false;\n return true;\n }\n \n if (e.target.type === 'submit' && e.detail === 0) {\n return true;\n }\n \n if (!targetElement) {\n allowClick = true;\n }\n if (document.activeElement === targetElement) {\n allowClick = true;\n }\n if (e.forwardedTouchEvent) {\n allowClick = true;\n }\n if (!e.cancelable) {\n allowClick = true;\n }\n \n if (!allowClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n if (targetElement) {\n if (targetNeedsPrevent(targetElement) || isMoved) {\n e.preventDefault();\n }\n }\n else {\n e.preventDefault();\n }\n targetElement = null;\n }\n \n return allowClick;\n }\n if (app.support.touch) {\n document.addEventListener('click', handleClick, true);\n \n document.addEventListener('touchstart', handleTouchStart);\n document.addEventListener('touchmove', handleTouchMove);\n document.addEventListener('touchend', handleTouchEnd);\n document.addEventListener('touchcancel', handleTouchCancel);\n }\n else {\n if (app.params.activeState) {\n document.addEventListener('mousedown', handleMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n }\n \n };\n "," /*===============================================================================\n ************ Handle clicks and make them fast (on tap); ************\n ===============================================================================*/\n app.initClickEvents = function () {\n function handleClicks(e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var url = clicked.attr('href');\n var isLink = clicked[0].nodeName.toLowerCase() === 'a';\n \n // Str to boolean for data attributes\n function toBoolean(str) {\n if (str === 'false') return false;\n if (str === 'true') return true;\n return undefined;\n }\n // Check if link is external \n if (isLink) {\n if (clicked.is(app.params.externalLinks)) return;\n }\n \n // Smart Select\n if (clicked.hasClass('smart-select')) {\n if (app.smartSelectOpen) app.smartSelectOpen(clicked);\n }\n \n // Open Panel\n if (clicked.hasClass('open-panel')) {\n if ($('.panel').length === 1) {\n if ($('.panel').hasClass('panel-left')) app.openPanel('left');\n else app.openPanel('right');\n }\n else {\n if (clicked.attr('data-panel') === 'right') app.openPanel('right');\n else app.openPanel('left');\n }\n }\n // Close Panel\n if (clicked.hasClass('close-panel')) {\n app.closePanel();\n }\n \n if (clicked.hasClass('panel-overlay') && app.params.panelsCloseByOutside) {\n app.closePanel();\n }\n // Popover\n if (clicked.hasClass('open-popover')) {\n var popover;\n if (clicked.attr('data-popover')) {\n popover = clicked.attr('data-popover');\n }\n else popover = '.popover';\n app.popover(popover, clicked);\n }\n if (clicked.hasClass('close-popover')) {\n app.closeModal('.popover.modal-in');\n }\n // Popup\n var popup;\n if (clicked.hasClass('open-popup')) {\n if (clicked.attr('data-popup')) {\n popup = clicked.attr('data-popup');\n }\n else popup = '.popup';\n app.popup(popup);\n }\n if (clicked.hasClass('close-popup')) {\n if (clicked.attr('data-popup')) {\n popup = clicked.attr('data-popup');\n }\n else popup = '.popup.modal-in';\n app.closeModal(popup);\n }\n // Login Screen\n var loginScreen;\n if (clicked.hasClass('open-login-screen')) {\n if (clicked.attr('data-login-screen')) {\n loginScreen = clicked.attr('data-login-screen');\n }\n else loginScreen = '.login-screen';\n app.loginScreen(loginScreen);\n }\n if (clicked.hasClass('close-login-screen')) {\n app.closeModal('.login-screen.modal-in');\n }\n // Close Modal\n if (clicked.hasClass('modal-overlay')) {\n if ($('.modal.modal-in').length > 0 && app.params.modalCloseByOutside)\n app.closeModal('.modal.modal-in');\n if ($('.actions-modal.modal-in').length > 0 && app.params.actionsCloseByOutside)\n app.closeModal('.actions-modal.modal-in');\n \n if ($('.popover.modal-in').length > 0) app.closeModal('.popover.modal-in');\n }\n if (clicked.hasClass('popup-overlay')) {\n if ($('.popup.modal-in').length > 0 && app.params.popupCloseByOutside)\n app.closeModal('.popup.modal-in');\n }\n \n // Tabs\n var isTabLink;\n if (clicked.hasClass('tab-link')) {\n isTabLink = true;\n app.showTab(clicked.attr('data-tab') || clicked.attr('href'), clicked);\n }\n // Swipeout Delete\n if (clicked.hasClass('swipeout-delete')) {\n if (clicked.attr('data-confirm')) {\n var text = clicked.attr('data-confirm');\n var title = clicked.attr('data-confirm-title');\n if (title) {\n app.confirm(text, title, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n });\n }\n else {\n app.confirm(text, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n });\n }\n }\n else {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }\n \n }\n // Sortable\n if (clicked.hasClass('toggle-sortable')) {\n app.sortableToggle(clicked.data('sortable'));\n }\n if (clicked.hasClass('open-sortable')) {\n app.sortableOpen(clicked.data('sortable'));\n }\n if (clicked.hasClass('close-sortable')) {\n app.sortableClose(clicked.data('sortable'));\n }\n // Accordion\n if (clicked.hasClass('accordion-item-toggle') || (clicked.hasClass('item-link') && clicked.parent().hasClass('accordion-item'))) {\n var accordionItem = clicked.parents('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('li');\n app.accordionToggle(accordionItem);\n }\n \n // Load Page\n if (app.params.ajaxLinks && !clicked.is(app.params.ajaxLinks) || !isLink || !app.params.router) {\n return;\n }\n if (isLink) {\n e.preventDefault();\n }\n \n var validUrl = url && url.length > 0 && url !== '#' && !isTabLink;\n var template = clicked.attr('data-template');\n if (validUrl || clicked.hasClass('back') || template) {\n var view;\n if (clicked.attr('data-view')) {\n view = $(clicked.attr('data-view'))[0].f7View;\n }\n else {\n view = clicked.parents('.' + app.params.viewClass)[0] && clicked.parents('.' + app.params.viewClass)[0].f7View;\n if (view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;\n else if (view.params.linksView instanceof View) view = view.params.linksView;\n }\n }\n if (!view) {\n for (var i = 0; i < app.views.length; i++) {\n if (app.views[i].main) view = app.views[i];\n }\n }\n if (!view) return;\n \n var pageName;\n if (!template) {\n if (url.indexOf('#') === 0 && url !== '#') {\n if (view.params.domCache) {\n pageName = url.split('#')[1];\n url = undefined;\n }\n else return;\n }\n if (url === '#' && !clicked.hasClass('back')) return;\n }\n else {\n url = undefined;\n }\n \n var animatePages;\n if (clicked.attr('data-animatePages')) {\n animatePages = toBoolean(clicked.attr('data-animatePages'));\n }\n else {\n if (clicked.hasClass('with-animation')) animatePages = true;\n if (clicked.hasClass('no-animation')) animatePages = false;\n }\n \n var options = {\n animatePages: animatePages,\n ignoreCache: toBoolean(clicked.attr('data-ignoreCache')),\n force: toBoolean(clicked.attr('data-force')),\n reload: toBoolean(clicked.attr('data-reload')),\n reloadPrevious: toBoolean(clicked.attr('data-reloadPrevious')),\n pageName: pageName,\n url: url\n };\n \n if (app.params.template7Pages) {\n options.contextName = clicked.attr('data-contextName');\n var context = clicked.attr('data-context');\n if (context) {\n options.context = JSON.parse(context);\n }\n }\n if (template && template in t7.templates) {\n options.template = t7.templates[template];\n }\n \n if (clicked.hasClass('back')) view.router.back(options);\n else view.router.load(options);\n }\n }\n $(document).on('click', 'a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle', handleClicks);\n };\n "," /*======================================================\n ************ App Resize Actions ************\n ======================================================*/\n // Prevent iPad horizontal body scrolling when soft keyboard is opened\n function _fixIpadBodyScrolLeft() {\n if (app.device.ipad) {\n document.body.scrollLeft = 0;\n setTimeout(function () {\n document.body.scrollLeft = 0;\n }, 0);\n }\n }\n app.initResize = function () {\n $(window).on('resize', app.resize);\n $(window).on('orientationchange', app.orientationchange);\n };\n app.resize = function () {\n if (app.sizeNavbars) app.sizeNavbars();\n _fixIpadBodyScrolLeft();\n \n };\n app.orientationchange = function () {\n if (app.device && app.device.minimalUi) {\n if (window.orientation === 90 || window.orientation === -90) document.body.scrollTop = 0;\n }\n _fixIpadBodyScrolLeft();\n };\n "," /*===============================================================================\n ************ Store and parse forms data ************\n ===============================================================================*/\n app.formsData = {};\n app.formStoreData = function (formId, formJSON) {\n // Store form data in app.formsData\n app.formsData[formId] = formJSON;\n \n // Store form data in local storage also\n app.ls['f7form-' + formId] = JSON.stringify(formJSON);\n };\n app.formDeleteData = function (formId) {\n // Delete form data from app.formsData\n if (app.formsData[formId]) {\n app.formsData[formId] = '';\n delete app.formsData[formId];\n }\n \n // Delete form data from local storage also\n if (app.ls['f7form-' + formId]) {\n app.ls['f7form-' + formId] = '';\n app.ls.removeItem('f7form-' + formId);\n }\n };\n app.formGetData = function (formId) {\n // First of all check in local storage\n if (app.ls['f7form-' + formId]) {\n return JSON.parse(app.ls['f7form-' + formId]);\n }\n // Try to get it from formsData obj\n else if (app.formsData[formId]) return app.formsData[formId];\n };\n app.formToJSON = function (form) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Form data\n var formData = {};\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.attr('multiple')) {\n skipNames.push(name);\n formData[name] = [];\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (this.selected) formData[name].push(this.value);\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n formData[name] = [];\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name].push(this.value);\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name] = this.value;\n });\n break;\n default :\n formData[name] = input.val();\n break;\n }\n }\n \n });\n \n return formData;\n };\n app.formFromJSON = function (form, formData) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n \n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (!formData[name]) return;\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.attr('multiple')) {\n skipNames.push(name);\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.selected = true;\n else this.selected = false;\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.checked = true;\n else this.checked = false;\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name] === this.value) this.checked = true;\n else this.checked = false;\n });\n break;\n default :\n input.val(formData[name]);\n break;\n }\n }\n \n });\n };\n app.initFormsStorage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n \n var forms = pageContainer.find('form.store-data');\n if (forms.length === 0) return;\n \n // Parse forms data and fill form if there is such data\n forms.each(function () {\n var id = this.getAttribute('id');\n if (!id) return;\n var formData = app.formGetData(id);\n if (formData) app.formFromJSON(this, formData);\n });\n // Update forms data on inputs change\n function storeForm() {\n /*jshint validthis:true */\n var form = $(this);\n var formId = form[0].id;\n if (!formId) return;\n var formJSON = app.formToJSON(form);\n if (!formJSON) return;\n app.formStoreData(formId, formJSON);\n form.trigger('store', {data: formJSON});\n }\n forms.on('change submit', storeForm);\n \n // Detach Listeners\n function pageBeforeRemove() {\n forms.off('change submit', storeForm);\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n };\n \n // Ajax submit on forms\n $(document).on('submit change', 'form.ajax-submit, form.ajax-submit-onchange', function (e) {\n var form = $(this);\n if (e.type === 'change' && !form.hasClass('ajax-submit-onchange')) return;\n if (e.type === 'submit') e.preventDefault();\n \n var method = form.attr('method') || 'GET';\n var contentType = form.attr('enctype');\n \n var url = form.attr('action');\n if (!url) return;\n \n var data;\n if (method === 'POST') data = new FormData(form[0]);\n else data = $.serializeObject(app.formToJSON(form[0]));\n \n var xhr = $.ajax({\n method: method,\n url: url,\n contentType: contentType,\n data: data,\n success: function (data) {\n form.trigger('submitted', {data: data, xhr: xhr});\n }\n });\n });\n \n "," /*======================================================\n ************ Handle Browser's History ************\n ======================================================*/\n app.pushStateQueue = [];\n app.pushStateClearQueue = function () {\n if (app.pushStateQueue.length === 0) return;\n var queue = app.pushStateQueue.pop();\n var animatePages;\n if (app.params.pushStateNoAnimation === true) animatePages = false;\n if (queue.action === 'back') {\n app.router.back(queue.view, {animatePages: animatePages});\n }\n if (queue.action === 'loadPage') {\n app.router.load(queue.view, {url: queue.stateUrl, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadContent') {\n app.router.load(queue.view, {content: queue.stateContent, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadPageName') {\n app.router.load(queue.view, {pageName: queue.statePageName, animatePages: animatePages, pushState: false});\n }\n };\n \n app.initPushState = function () {\n var blockPopstate = true;\n $(window).on('load', function () {\n setTimeout(function () {\n blockPopstate = false;\n }, 0);\n });\n function handlePopState(e) {\n if (blockPopstate) return;\n var mainView;\n for (var i = 0; i < app.views.length; i++) {\n if (app.views[i].main) mainView = app.views[i];\n }\n if (!mainView) return;\n var state = e.state;\n if (!state) {\n state = {\n viewIndex: app.views.indexOf(mainView),\n url : mainView.history[0]\n };\n }\n if (state.viewIndex < 0) return;\n var view = app.views[state.viewIndex];\n var stateUrl = state && state.url || undefined;\n var stateContent = state && state.content || undefined;\n var statePageName = state && state.pageName || undefined;\n var animatePages;\n \n if (app.params.pushStateNoAnimation === true) animatePages = false;\n \n if (stateUrl !== view.url) {\n if (view.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (view.allowPageChange) {\n app.router.back(view, {url:undefined, animatePages: animatePages, pushState: false, preloadOnly:false});\n }\n else {\n app.pushStateQueue.push({\n action: 'back',\n view: view\n });\n }\n }\n else if (stateContent) {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {content:stateContent, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadContent',\n stateContent: stateContent,\n view: view\n });\n }\n \n }\n else if (statePageName) {\n // Load Page by page name with Dom Cache\n if (view.allowPageChange) {\n app.router.load(view, {pageName:statePageName, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPageName',\n statePageName: statePageName,\n view: view\n });\n }\n }\n else {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {url:stateUrl, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPage',\n stateUrl: stateUrl,\n view: view\n });\n }\n }\n }\n }\n $(window).on('popstate', handlePopState);\n };\n "," /*======================================================\n ************ Slider ************\n ======================================================*/\n var Slider = function (container, params) {\n var defaults = {\n initialSlide: 0,\n spaceBetween: 0,\n speed: 300,\n loop: false,\n slidesPerView: 1,\n onlyExternal: false,\n direction: 'horizontal',\n paginationHide: true,\n slideClass: 'slider-slide',\n slideActiveClass: 'slider-slide-active',\n slideNextClass: 'slider-slide-next',\n slidePrevClass: 'slider-slide-prev',\n wrapperClass: 'slider-wrapper',\n bulletClass: 'slider-pagination-bullet',\n bulletActiveClass: 'slider-pagination-active',\n preventClicks: true,\n preventClicksPropagation: true,\n autoplay: false,\n autoplayDisableOnInteraction: true,\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 var s = this;\n s.params = params;\n s.container = $(container);\n if (s.container.length === 0) return;\n s.container[0].f7Slider = s;\n \n if (s.params.direction === 'vertical') {\n s.container.addClass('slider-container-vertical');\n }\n else {\n s.container.addClass('slider-container-horizontal');\n }\n \n s.wrapper = s.container.children('.' + s.params.wrapperClass);\n \n if (s.params.pagination) {\n s.paginationContainer = $(s.params.pagination);\n }\n \n s.activeSlideIndex = s.previousSlideIndex = s.params.initialSlide || 0;\n \n var isH = s.params.direction === 'horizontal';\n \n var inverter = isH ? (app.rtl ? -1 : 1) : 1;\n \n s.updateSlides = function () {\n s.slides = s.wrapper.children('.' + s.params.slideClass);\n \n if (s.params.spaceBetween !== 0) {\n var marginProp = app.rtl ? 'marginLeft' : 'marginRight';\n if (isH) {\n s.slides.css(marginProp, s.params.spaceBetween + 'px');\n }\n else s.slides.css({marginBottom: s.params.spaceBetween + 'px'});\n }\n if (s.params.slidesPerView > 1) {\n var sizeValue = '(100% - ' + (s.params.slidesPerView - 1) * params.spaceBetween + 'px)/' + s.params.slidesPerView;\n if (isH) {\n s.slides.css('width', '-webkit-calc(' + sizeValue + ')');\n s.slides.css('width', '-moz-calc(' + sizeValue + ')');\n s.slides.css('width', 'calc(' + sizeValue + ')');\n }\n else {\n s.slides.css('height', '-webkit-calc(' + sizeValue + ')');\n s.slides.css('height', '-moz-calc(' + sizeValue + ')');\n s.slides.css('height', 'calc(' + sizeValue + ')');\n }\n }\n // First/last\n s.isFirst = s.activeSlideIndex === 0;\n s.isLast = s.activeSlideIndex === s.slides.length - s.params.slidesPerView;\n };\n \n s.updatePagination = function () {\n if (s.paginationContainer && s.paginationContainer.length > 0) {\n var bulletsHTML = '';\n var bulletsLength = s.slides.length - s.params.slidesPerView + 1;\n if (s.params.loop) {\n bulletsLength = s.slides.length - s.loopedSlides * 2;\n }\n for (var i = 0; i < bulletsLength; i++) {\n bulletsHTML += '<span class=\"' + s.params.bulletClass + '\"></span>';\n }\n s.paginationContainer.html(bulletsHTML);\n s.bullets = s.paginationContainer.find('.' + s.params.bulletClass);\n }\n };\n \n s.updateSize = function () {\n s.width = s.container[0].offsetWidth;\n s.height = s.container[0].offsetHeight;\n s.size = isH ? s.width : s.height;\n };\n \n s.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n // Slide between photos\n s.container[action](app.touchEvents.start, s.onTouchStart);\n s.container[action](app.touchEvents.move, s.onTouchMove);\n s.container[action](app.touchEvents.end, s.onTouchEnd);\n $(window)[action]('resize', s.onResize);\n \n // Next, Prev, Index\n if (s.params.nextButton) $(s.params.nextButton)[action]('click', s.onClickNext);\n if (s.params.prevButton) $(s.params.prevButton)[action]('click', s.onClickPrev);\n if (s.params.indexButton) $(s.params.indexButton)[action]('click', s.onClickIndex);\n \n // Prevent Links\n if (s.params.preventClicks || s.params.preventClicksPropagation) s.container[action]('click', s.onClick, true);\n };\n s.detachEvents = function () {\n s.attachEvents(true);\n };\n \n s.onResize = function () {\n s.updateSize();\n s.slideTo(s.activeSlideIndex, 0, false);\n };\n \n var isTouched, isMoved, touchesStart = {}, touchesCurrent = {}, touchStartTime, isScrolling, currentTranslate; \n var lastClickTime = Date.now(), clickTimeout;\n s.animating = false;\n s.allowClick = true;\n \n s.onClick = function (e) {\n if (s.params.preventClicks && !s.allowClick) {\n e.preventDefault();\n if (s.params.preventClicksPropagation) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n };\n \n function isFormElement(el) {\n var nn = el.nodeName.toLowerCase();\n if (nn === 'input' || nn === 'textarea' || nn === 'select') return true;\n return false;\n }\n s.touchedTarget = null;\n var hasFocused, hasBlured;\n s.onTouchStart = function (e) {\n if (s.params.onlyExternal) return;\n s.touchedTarget = e.target;\n isTouched = true;\n isMoved = false;\n isScrolling = undefined;\n touchesStart.x = touchesCurrent.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = touchesCurrent.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = Date.now();\n s.allowClick = true;\n s.updateSize();\n if (s.params.onTouchStart) s.params.onTouchStart(s, e);\n hasFocused = hasBlured = false;\n if (e.type === 'mousedown') {\n if (!isFormElement(e.target)) e.preventDefault();\n }\n \n };\n s.onTouchMove = function (e) {\n if (s.params.onTouchMove) s.params.onTouchMove(s, e);\n s.allowClick = false;\n if (e.targetTouches && e.targetTouches.length > 1) return;\n \n touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchesCurrent.y - touchesStart.y) > Math.abs(touchesCurrent.x - touchesStart.x));\n }\n if ((isH && isScrolling) || (!isH && !isScrolling)) {\n if (s.params.onOppositeTouchMove) s.params.onOppositeTouchMove(s, e);\n }\n if (!isTouched) return;\n if ((isH && isScrolling) || (!isH && !isScrolling)) {\n isTouched = false;\n return;\n }\n if (s.params.onSliderMove) s.params.onSliderMove(s, e);\n \n e.preventDefault();\n e.stopPropagation();\n \n if (!isMoved) {\n if (params.loop) {\n s.fixLoop();\n }\n currentTranslate = $.getTranslate(s.wrapper[0], isH ? 'x' : 'y') * inverter;\n s.wrapper.transition(0);\n if (s.animating) s.onTransitionEnd();\n if (params.autoplay && autoplay) {\n if (s.params.autoplayDisableOnInteraction) s.stopAutoplay();\n else {\n if (autoplayTimeout) clearTimeout(autoplayTimeout);\n }\n }\n }\n isMoved = true;\n var diff = isH ? (touchesCurrent.x - touchesStart.x) * inverter : touchesCurrent.y - touchesStart.y;\n \n if ((diff > 0 && s.activeSlideIndex === 0)) diff = Math.pow(diff, 0.85);\n else if (diff < 0 && s.activeSlideIndex === s.slides.length - s.params.slidesPerView) {\n diff = -Math.pow(-diff, 0.85);\n }\n else if (diff < 0 && s.activeSlideIndex === 0 && s.slides.length < s.params.slidesPerView) {\n diff = -Math.pow(-diff, 0.85);\n }\n \n var translateX = isH ? (diff + currentTranslate) * inverter : 0, translateY = isH ? 0 : diff + currentTranslate;\n \n s.wrapper.transform('translate3d(' + translateX + 'px, ' + translateY + 'px,0)');\n };\n s.onTouchEnd = function (e) {\n if (s.params.onTouchEnd) s.params.onTouchEnd(s, e);\n var touchEndTime = Date.now();\n var timeDiff = touchEndTime - touchStartTime;\n if (isFormElement(s.touchedTarget)) hasFocused = true;\n if (document.activeElement && document.activeElement !== s.touchedTarget && isFormElement(document.activeElement)) {\n document.activeElement.blur();\n hasBlured = true;\n }\n if (s.allowClick) {\n if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n clickTimeout = setTimeout(function () {\n if (!s) return;\n if (s.params.paginationHide && s.paginationContainer && !hasBlured && !hasFocused) {\n s.paginationContainer.toggleClass('slider-pagination-hidden');\n }\n if (s.params.onClick) s.params.onClick(s, e);\n }, 300);\n \n }\n if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n if (s.params.onDoubleTap) {\n s.params.onDoubleTap(s, e);\n }\n }\n if (s.params.onTap) s.params.onTap(s, e);\n }\n \n lastClickTime = Date.now();\n \n if (!isTouched || !isMoved) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n var touchesDiff = isH ? (touchesCurrent.x - touchesStart.x) * inverter : touchesCurrent.y - touchesStart.y;\n \n //Release links clicks\n if (Math.abs(touchesDiff) < 5 && (timeDiff) < 300 && s.allowClick === false) {\n s.allowClick = true;\n }\n setTimeout(function () {\n if (!s) return;\n s.allowClick = true;\n }, 100);\n \n var continueAutoplay = s.params.autoplay && autoplay && !s.params.autoplayDisableOnInteraction;\n \n if (touchesDiff === 0) {\n if (continueAutoplay) {\n s.startAutoplay();\n }\n return;\n }\n var skipSlides = 1;\n var slideSize = s.size / s.params.slidesPerView;\n if (s.params.slidesPerView > 1) {\n skipSlides = Math.abs((Math.abs(touchesDiff) + slideSize / 2) / slideSize);\n }\n if (continueAutoplay) {\n s.wrapper.transitionEnd(function () {\n s.startAutoplay();\n });\n }\n \n if (timeDiff > 300) {\n // Long touches\n if (touchesDiff <= -slideSize / 2) {\n s.slideTo(s.activeSlideIndex + Math.floor(skipSlides));\n }\n else if (touchesDiff > slideSize / 2) {\n s.slideTo(s.activeSlideIndex - Math.floor(skipSlides));\n }\n else {\n s.slideReset();\n }\n }\n else {\n if (Math.abs(touchesDiff) < 10) {\n s.slideReset();\n }\n else {\n if (touchesDiff < 0) {\n s.slideTo(s.activeSlideIndex + Math.round(skipSlides));\n }\n else {\n s.slideTo(s.activeSlideIndex - Math.round(skipSlides));\n }\n }\n \n }\n };\n \n s.slideTo = function (index, speed, runCallbacks) {\n if (typeof index === 'undefined') index = 0;\n if (index > s.slides.length - s.params.slidesPerView) index = s.slides.length - s.params.slidesPerView;\n if (index < 0) index = 0;\n \n var translate = - (s.size + s.params.spaceBetween) * index / s.params.slidesPerView;\n \n if (typeof speed === 'undefined') speed = s.params.speed;\n s.previousSlideIndex = s.activeSlideIndex;\n s.activeSlideIndex = Math.round(index);\n s.isFirst = s.activeSlideIndex === 0;\n s.isLast = s.activeSlideIndex === s.slides.length - s.params.slidesPerView;\n s.onTransitionStart();\n var translateX = isH ? translate * inverter : 0, translateY = isH ? 0 : translate;\n if (speed === 0) {\n s.wrapper\n .transition(0)\n .transform('translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n if (runCallbacks !== false) s.onTransitionEnd();\n }\n else {\n s.animating = true;\n s.wrapper\n .transition(speed)\n .transform('translate3d(' + translateX + 'px,' + translateY + 'px,0)')\n .transitionEnd(function () {\n if (runCallbacks !== false) s.onTransitionEnd();\n });\n }\n };\n s.updateClasses = function () {\n s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass);\n var activeSlide = s.slides.eq(s.activeSlideIndex);\n activeSlide.addClass(s.params.slideActiveClass);\n activeSlide.next().addClass(s.params.slideNextClass);\n activeSlide.prev().addClass(s.params.slidePrevClass);\n \n if (s.bullets && s.bullets.length > 0) {\n s.bullets.removeClass(s.params.bulletActiveClass);\n var activeBulletIndex = s.activeSlideIndex;\n if (s.params.loop) {\n activeBulletIndex = activeBulletIndex - s.loopedSlides;\n if (activeBulletIndex < 0) activeBulletIndex = s.bullets.length + activeBulletIndex;\n if (activeBulletIndex >= s.bullets.length) activeBulletIndex = activeBulletIndex - s.bullets.length;\n }\n \n s.bullets.eq(activeBulletIndex).addClass(s.params.bulletActiveClass);\n }\n };\n s.onTransitionStart = function () {\n s.updateClasses();\n if (s.activeSlideIndex !== s.previousSlideIndex) {\n if (s.params.onSlideChangeStart) s.params.onSlideChangeStart(s);\n }\n if (s.params.onTransitionStart) s.params.onTransitionStart(s);\n };\n s.onTransitionEnd = function () {\n s.animating = false;\n s.wrapper.transition(0);\n if (s.activeSlideIndex !== s.previousSlideIndex) {\n if (s.params.onSlideChangeEnd) s.params.onSlideChangeEnd(s);\n }\n if (s.params.onTransitionEnd) s.params.onTransitionEnd(s);\n };\n s.slideNext = function () {\n if (s.params.loop) {\n if (s.animating) return;\n s.fixLoop();\n setTimeout(function () {\n s.slideTo(s.activeSlideIndex + 1);\n }, 0);\n }\n else s.slideTo(s.activeSlideIndex + 1);\n };\n s.slidePrev = function () {\n if (s.params.loop) {\n if (s.animating) return;\n s.fixLoop();\n setTimeout(function () {\n s.slideTo(s.activeSlideIndex - 1);\n }, 0);\n }\n else s.slideTo(s.activeSlideIndex - 1);\n };\n s.slideReset = function () {\n s.slideTo(s.activeSlideIndex);\n };\n \n // Clicks\n s.onClickNext = function (e) {\n e.preventDefault();\n s.slideNext();\n };\n s.onClickPrev = function (e) {\n e.preventDefault();\n s.slidePrev();\n };\n s.onClickIndex = function (e) {\n e.preventDefault();\n s.slideTo($(this).index());\n };\n \n // Autoplay\n var autoplayTimeout;\n var autoplay;\n s.startAutoplay = function () {\n if (!s.params.autoplay) return;\n autoplay = true;\n if (autoplayTimeout) clearTimeout(autoplayTimeout);\n autoplayTimeout = setTimeout(function () {\n s.wrapper.transitionEnd(function () {\n s.startAutoplay();\n });\n if (s.params.loop) {\n s.slideNext();\n }\n else {\n var index = s.activeSlideIndex + 1;\n if (index > s.slides.length - s.params.slidesPerView) index = 0;\n s.slideTo(index);\n }\n }, s.params.autoplay);\n };\n s.stopAutoplay = function () {\n autoplay = false;\n if (autoplayTimeout) clearTimeout(autoplayTimeout);\n };\n s.resetAutoplay = function () {\n s.stopAutoplay();\n s.startAutoplay();\n };\n \n // Create looped slides\n s.createLoop = function () {\n // Remove duplicated slides\n s.wrapper.children('.' + s.params.slideClass+'.slider-slide-duplicate').remove();\n \n var slides = s.wrapper.children('.' + s.params.slideClass);\n s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10);\n if (s.loopedSlides > slides.length) {\n s.loopedSlides = slides.length;\n return;\n }\n var prependSlides = [], appendSlides = [], i;\n slides.each(function (index, el) {\n var slide = $(this);\n if (index < s.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el);\n slide.attr('data-slider-slide-index', index);\n });\n for (i = 0; i < appendSlides.length; i++) {\n s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass('slider-slide-duplicate'));\n }\n for (i = prependSlides.length - 1; i >= 0; i--) {\n s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass('slider-slide-duplicate'));\n }\n };\n s.fixLoop = function () {\n var newIndex;\n //Fix For Negative Oversliding\n if (s.activeSlideIndex < s.loopedSlides) {\n newIndex = s.slides.length - s.loopedSlides * 3 + s.activeSlideIndex;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false);\n }\n //Fix For Positive Oversliding\n else if (s.activeSlideIndex > s.slides.length - s.params.slidesPerView * 2) {\n newIndex = -s.slides.length + s.activeSlideIndex + s.loopedSlides;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false);\n }\n };\n \n // init\n s.init = function () {\n if (s.params.loop) s.createLoop();\n s.updateSlides();\n s.updatePagination();\n s.updateSize();\n if (s.params.loop) {\n s.slideTo(s.params.initialSlide + s.loopedSlides, 0, false);\n }\n else if (s.params.initialSlide > 0) s.slideTo(s.params.initialSlide, 0, false);\n else s.updateClasses();\n s.attachEvents();\n if (s.params.autoplay) s.startAutoplay();\n };\n s.update = function () {\n if (s.params.loop) s.createLoop();\n s.updateSlides();\n s.updatePagination();\n s.updateSize();\n s.updateClasses();\n };\n \n // Destroy\n s.destroy = function () {\n s.detachEvents();\n if (s.params.onDestroy) s.params.onDestroy();\n s = undefined;\n };\n \n s.init();\n \n return s;\n };\n app.slider = function (container, params) {\n return new Slider(container, params);\n };\n app.initSlider = function (pageContainer) {\n var page = $(pageContainer);\n var sliders = page.find('.slider-init');\n if (sliders.length === 0) return;\n function destroySliderOnRemove(slider) {\n function destroySlider() {\n slider.destroy();\n page.off('pageBeforeRemove', destroySlider);\n }\n page.on('pageBeforeRemove', destroySlider);\n }\n for (var i = 0; i < sliders.length; i++) {\n var slider = sliders.eq(i);\n var params;\n if (slider.data('slider')) {\n params = JSON.parse(slider.data('slider'));\n }\n else {\n params = {\n initialSlide: parseInt(slider.data('initialSlide'), 10) || undefined,\n spaceBetween: parseInt(slider.data('spaceBetween'), 10) || undefined,\n speed: parseInt(slider.data('speed'), 10) || undefined,\n slidesPerView: parseInt(slider.data('slidesPerView'), 10) || undefined,\n direction: slider.data('direction'),\n pagination: slider.data('pagination'),\n paginationHide: slider.data('paginationHide') && (slider.data('paginationHide') === 'true' ? true : false),\n loop: slider.data('loop') && (slider.data('loop') === 'true' ? true : false),\n onlyExternal: slider.data('onlyExternal') && (slider.data('onlyExternal') === 'true' ? true : false),\n slideClass: slider.data('slideClass'),\n slideActiveClass: slider.data('slideActiveClass'),\n slideNextClass: slider.data('slideNextClass'),\n slidePrevClass: slider.data('slidePrevClass'),\n wrapperClass: slider.data('wrapperClass'),\n bulletClass: slider.data('bulletClass'),\n bulletActiveClass: slider.data('bulletActiveClass'),\n nextButton: slider.data('nextButton'),\n prevButton: slider.data('prevButton'),\n indexButton: slider.data('indexButton'),\n autoplay: slider.data('autoplay')\n };\n }\n var _slider = app.slider(slider[0], params);\n destroySliderOnRemove(_slider);\n }\n };\n app.reinitSlider = function (pageContainer) {\n var page = $(pageContainer);\n var sliders = page.find('.slider-init');\n if (sliders.length === 0) return;\n for (var i = 0; i < sliders.length; i++) {\n var sliderInstance = sliders[0].f7Slider;\n if (sliderInstance) {\n sliderInstance.onResize();\n }\n }\n };\n "," /*======================================================\n ************ Photo Browser ************\n ======================================================*/\n var PhotoBrowser = function (params) {\n var pb = this, i;\n \n var defaults = {\n photos : [],\n initialSlide: 0,\n spaceBetween: 20,\n speed: 300,\n zoom: true,\n maxZoom: 3,\n minZoom: 1,\n exposition: true,\n expositionHideCaptions: false,\n type: 'standalone',\n navbar: true,\n toolbar: true,\n theme: 'light',\n swipeToClose: true,\n backLinkText: 'Close',\n ofText: 'of',\n loop: false,\n lazyLoading: false,\n lazyLoadingInPrevNext: false,\n lazyLoadingOnTransitionStart: false\n };\n \n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n pb.params = params;\n \n function findView() {\n var view;\n for (i = 0; i < app.views.length; i ++) {\n if (app.views[i].main) view = app.views[i];\n }\n return view;\n }\n \n var iconColor = pb.params.theme === 'dark' ? 'color-white' : '';\n \n var navbarTemplate = pb.params.navbarTemplate ||\n '<div class=\"navbar\">' +\n '<div class=\"navbar-inner\">' +\n '<div class=\"left sliding\"><a href=\"#\" class=\"link ' + (pb.params.type === 'page' && 'back') + ' close-popup photo-browser-close-link\" data-popup=\".photo-browser-popup\"><i class=\"icon icon-back ' + iconColor + '\"></i><span>' + pb.params.backLinkText + '</span></a></div>' +\n '<div class=\"center sliding\"><span class=\"photo-browser-current\"></span> <span class=\"photo-browser-of\">' + pb.params.ofText + '</span> <span class=\"photo-browser-total\"></span></div>' +\n '<div class=\"right\"></div>' +\n '</div>' +\n '</div>';\n var prevIconClassName = app.rtl ? 'next' : 'prev';\n var nextIconClassName = app.rtl ? 'prev' : 'next';\n var toolbarTemplate = pb.params.toolbarTemplate ||\n '<div class=\"toolbar tabbar\">' +\n '<div class=\"toolbar-inner\">' +\n '<a href=\"#\" class=\"link photo-browser-prev\"><i class=\"icon icon-' + prevIconClassName + ' ' + iconColor + '\"></i></a>' +\n '<a href=\"#\" class=\"link photo-browser-next\"><i class=\"icon icon-' + nextIconClassName + ' ' + iconColor + '\"></i></a>' +\n '</div>' +\n '</div>';\n \n var template = pb.params.template ||\n '<div class=\"photo-browser photo-browser-' + pb.params.theme + '\">' +\n '<div class=\"view navbar-fixed toolbar-fixed\">' +\n '{{navbar}}' +\n '<div data-page=\"photo-browser-slides\" class=\"page no-toolbar {{noNavbar}} toolbar-fixed navbar-fixed\">' +\n '{{toolbar}}' +\n '{{captions}}' +\n '<div class=\"photo-browser-slider-container slider-container\">' +\n '<div class=\"photo-browser-slider-wrapper slider-wrapper\">' +\n '{{photos}}' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>';\n \n var photoTemplate = !pb.params.lazyLoading ? \n (pb.params.photoTemplate || '<div class=\"photo-browser-slide slider-slide\"><span class=\"photo-browser-zoom-container\"><img src=\"{{url}}\"></span></div>') : \n (pb.params.photoLazyTemplate || '<div class=\"photo-browser-slide photo-browser-slide-lazy slider-slide\"><div class=\"preloader' + (pb.params.theme === 'dark' ? ' preloader-white' : '') + '\"></div><span class=\"photo-browser-zoom-container\"><img data-src=\"{{url}}\"></span></div>');\n \n var captionsTheme = pb.params.captionsTheme || pb.params.theme;\n var captionsTemplate = pb.params.captionsTemplate || '<div class=\"photo-browser-captions photo-browser-captions-' + captionsTheme + '\">{{captions}}</div>';\n var captionTemplate = pb.params.captionTemplate || '<div class=\"photo-browser-caption\" data-caption-index=\"{{captionIndex}}\">{{caption}}</div>';\n \n var objectTemplate = pb.params.objectTemplate || '<div class=\"photo-browser-slide photo-browser-object-slide slider-slide\">{{html}}</div>';\n var photosHtml = '';\n var captionsHtml = '';\n for (i = 0; i < pb.params.photos.length; i ++) {\n var photo = pb.params.photos[i];\n var thisTemplate = '';\n \n //check if photo is a string or string-like object, for backwards compatibility \n if (typeof(photo) === 'string' || photo instanceof String) {\n \n //check if \"photo\" is html object\n if (photo.indexOf('<') >= 0 || photo.indexOf('>') >= 0) {\n thisTemplate = objectTemplate.replace(/{{html}}/g, photo);\n } else {\n thisTemplate = photoTemplate.replace(/{{url}}/g, photo);\n }\n \n //photo is a string, thus has no caption, so remove the caption template placeholder\n //otherwise check if photo is an object with a url property\n } else if (typeof(photo) === 'object') {\n \n //check if \"photo\" is html object\n if (photo.hasOwnProperty('html') && photo.html.length > 0) {\n thisTemplate = objectTemplate.replace(/{{html}}/g, photo.html);\n } else if (photo.hasOwnProperty('url') && photo.url.length > 0) {\n thisTemplate = photoTemplate.replace(/{{url}}/g, photo.url);\n }\n \n //check if photo has a caption\n if (photo.hasOwnProperty('caption') && photo.caption.length > 0) {\n captionsHtml += captionTemplate.replace(/{{caption}}/g, photo.caption).replace(/{{captionIndex}}/g, i);\n } else {\n thisTemplate = thisTemplate.replace(/{{caption}}/g, '');\n }\n }\n \n photosHtml += thisTemplate;\n \n }\n \n var htmlTemplate = template\n .replace('{{navbar}}', (pb.params.navbar ? navbarTemplate : ''))\n .replace('{{noNavbar}}', (pb.params.navbar ? '' : 'no-navbar'))\n .replace('{{photos}}', photosHtml)\n .replace('{{captions}}', captionsTemplate.replace(/{{captions}}/g, captionsHtml))\n .replace('{{toolbar}}', (pb.params.toolbar ? toolbarTemplate : ''));\n \n pb.activeSlideIndex = pb.params.initialSlide;\n pb.openIndex = pb.activeSlideIndex;\n pb.opened = false;\n \n pb.open = function (index) {\n if (typeof index === 'undefined') index = pb.activeSlideIndex;\n index = parseInt(index, 10);\n if (pb.opened && pb.slider) {\n pb.slider.slideTo(index);\n return;\n }\n pb.opened = true;\n pb.openIndex = index;\n pb.initialLazyLoaded = false;\n if (pb.params.type === 'standalone') {\n $('body').append(htmlTemplate);\n }\n if (pb.params.type === 'popup') {\n pb.popup = app.popup('<div class=\"popup photo-browser-popup\">' + htmlTemplate + '</div>');\n $(pb.popup).on('closed', pb.onPopupClose);\n }\n if (pb.params.type === 'page') {\n $(document).on('pageBeforeInit', pb.onPageBeforeInit);\n $(document).on('pageBeforeRemove', pb.onPageBeforeRemove);\n if (!pb.params.view) pb.params.view = findView();\n pb.params.view.loadContent(htmlTemplate);\n return;\n }\n pb.layout(pb.openIndex);\n if (pb.params.onOpen) {\n pb.params.onOpen(pb);\n }\n \n };\n pb.close = function () {\n pb.opened = false;\n if (!pb.sliderContainer || pb.sliderContainer.length === 0) {\n return;\n }\n if (pb.params.onClose) {\n pb.params.onClose(pb);\n }\n // Detach events\n pb.attachEvents(true);\n // Delete from DOM\n if (pb.params.type === 'standalone') {\n pb.container.removeClass('photo-browser-in').addClass('photo-browser-out').animationEnd(function () {\n pb.container.remove();\n });\n }\n // Destroy slider\n pb.slider.destroy();\n // Delete references\n pb.slider = pb.sliderContainer = pb.sliderWrapper = pb.slides = gestureSlide = gestureImg = gestureImgWrap = undefined;\n };\n \n pb.onPopupClose = function (e) {\n pb.close();\n $(pb.popup).off('pageBeforeInit', pb.onPopupClose);\n };\n pb.onPageBeforeInit = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.layout(pb.openIndex);\n }\n $(document).off('pageBeforeInit', pb.onPageBeforeInit);\n };\n pb.onPageBeforeRemove = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.close();\n }\n $(document).off('pageBeforeRemove', pb.onPageBeforeRemove);\n };\n \n pb.loadImageInSlide = function (slider, index) {\n if (!slider || typeof index === 'undefined') return;\n if (slider.slides.length === 0) return;\n \n var slide = slider.slides.eq(index);\n if (!slide.hasClass('photo-browser-slide-lazy')) return;\n \n var img = slide.find('img');\n if (img.length === 0) return;\n \n var image = new Image();\n var src = img.attr('data-src');\n \n image.onload = function () {\n img.attr('src', src);\n img.removeAttr('data-src');\n slide.removeClass('photo-browser-slide-lazy').find('.preloader').remove();\n if (pb.params.onImageLoaded) {\n pb.params.onImageLoaded(pb, slide[0], img[0]);\n }\n };\n image.src = src;\n \n if (pb.params.onImageLoad) {\n pb.params.onImageLoad(pb, slide[0], img[0]);\n }\n };\n \n pb.lazyLoading = function (slider, activeIndex) {\n pb.loadImageInSlide(slider, activeIndex);\n if (pb.params.lazyLoadingInPrevNext) {\n var nextSlide = slider.wrapper.find('.slider-slide-next.photo-browser-slide-lazy');\n if (nextSlide.length > 0) pb.loadImageInSlide(slider, nextSlide.index());\n \n var prevSlide = slider.wrapper.find('.slider-slide-prev.photo-browser-slide-lazy');\n if (prevSlide.length > 0) pb.loadImageInSlide(slider, prevSlide.index());\n }\n };\n \n pb.onSliderTransitionStart = function (slider) {\n pb.activeSlideIndex = slider.activeSlideIndex;\n \n var current = slider.activeSlideIndex + 1;\n var total = slider.slides.length;\n if (pb.params.loop) {\n total = total - 2;\n current = current - slider.loopedSlides;\n if (current < 1) current = total + current;\n if (current > total) current = current - total;\n }\n pb.container.find('.photo-browser-current').text(current);\n pb.container.find('.photo-browser-total').text(total);\n \n $('.photo-browser-prev, .photo-browser-next').removeClass('photo-browser-link-inactive');\n \n if (slider.isFirst && !pb.params.loop) {\n $('.photo-browser-prev').addClass('photo-browser-link-inactive');\n }\n if (slider.isLast && !pb.params.loop) {\n $('.photo-browser-next').addClass('photo-browser-link-inactive');\n }\n \n // Update captions\n if (pb.captions.length > 0) {\n pb.captionsContainer.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active');\n var captionIndex = pb.params.loop ? slider.slides.eq(slider.activeSlideIndex).attr('data-slider-slide-index') : pb.activeSlideIndex;\n pb.captionsContainer.find('[data-caption-index=\"' + captionIndex + '\"]').addClass('photo-browser-caption-active');\n }\n \n // Lazy loading\n if (pb.params.lazyLoading){\n if (pb.params.lazyLoadingOnTransitionStart || (!pb.params.lazyLoadingOnTransitionStart && !pb.initialLazyLoaded)) {\n pb.initialLazyLoaded = true;\n pb.lazyLoading(slider, pb.activeSlideIndex);\n }\n }\n \n // Stop Video\n var previousSlideVideo = slider.slides.eq(slider.previousSlideIndex).find('video');\n if (previousSlideVideo.length > 0) {\n if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause();\n }\n // Callback\n if (pb.params.onSlideChangeStart) pb.params.onSlideChangeStart(slider);\n };\n pb.onSliderTransitionEnd = function (slider) {\n if (pb.params.lazyLoading && !pb.params.lazyLoadingOnTransitionStart) {\n pb.lazyLoading(slider, pb.activeSlideIndex);\n }\n // Reset zoom\n if (pb.params.zoom && gestureSlide && slider.previousSlideIndex !== slider.activeSlideIndex) {\n gestureImg.transform('translate3d(0,0,0) scale(1)');\n gestureImgWrap.transform('translate3d(0,0,0)');\n gestureSlide = gestureImg = gestureImgWrap = undefined;\n scale = currentScale = 1;\n }\n if (pb.params.onSlideChangeEnd) pb.params.onSlideChangeEnd(slider);\n };\n \n pb.layout = function (index) {\n if (pb.params.type === 'page') {\n pb.container = $('.photo-browser-slider-container').parents('.view');\n }\n else {\n pb.container = $('.photo-browser');\n }\n if (pb.params.type === 'standalone') {\n pb.container.addClass('photo-browser-in');\n app.sizeNavbars(pb.container);\n }\n pb.sliderContainer = pb.container.find('.photo-browser-slider-container');\n pb.sliderWrapper = pb.container.find('.photo-browser-slider-wrapper');\n pb.slides = pb.container.find('.photo-browser-slide');\n pb.captionsContainer = pb.container.find('.photo-browser-captions');\n pb.captions = pb.container.find('.photo-browser-caption');\n \n var sliderSettings = {\n nextButton: pb.params.nextButton || '.photo-browser-next',\n prevButton: pb.params.prevButton || '.photo-browser-prev',\n indexButton: pb.params.indexButton,\n initialSlide: index,\n spaceBetween: pb.params.spaceBetween,\n speed: pb.params.speed,\n loop: pb.params.loop,\n onTap: function (slider, e) {\n if (pb.params.onTap) pb.params.onTap(slider, e);\n },\n onClick: function (slider, e) {\n if (pb.params.exposition) pb.toggleExposition();\n if (pb.params.onClick) pb.params.onClick(slider, e);\n },\n onDoubleTap: function (slider, e) {\n pb.toggleZoom($(e.target).parents('.photo-browser-slide'));\n if (pb.params.onDoubleTap) pb.params.onDoubleTap(slider, e);\n },\n onTransitionStart: function (slider) {\n pb.onSliderTransitionStart(slider);\n },\n onTransitionEnd: function (slider) {\n pb.onSliderTransitionEnd(slider); \n }\n };\n \n if (pb.params.swipeToClose && pb.params.type !== 'page') {\n sliderSettings.onTouchStart = pb.swipeCloseTouchStart;\n sliderSettings.onOppositeTouchMove = pb.swipeCloseTouchMove;\n sliderSettings.onTouchEnd = pb.swipeCloseTouchEnd;\n }\n \n pb.slider = app.slider(pb.sliderContainer, sliderSettings);\n if (index === 0) {\n pb.onSliderTransitionStart(pb.slider);\n }\n pb.attachEvents();\n };\n pb.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n // Slide between photos\n \n if (pb.params.zoom) {\n var target = pb.params.loop ? pb.slider.slides : pb.slides;\n // Scale image\n target[action]('gesturestart', pb.onSlideGestureStart);\n target[action]('gesturechange', pb.onSlideGestureChange);\n target[action]('gestureend', pb.onSlideGestureEnd);\n \n // Move image\n target[action](app.touchEvents.start, pb.onSlideTouchStart);\n target[action](app.touchEvents.move, pb.onSlideTouchMove);\n target[action](app.touchEvents.end, pb.onSlideTouchEnd);\n }\n pb.container.find('.photo-browser-close-link')[action]('click', pb.close);\n };\n \n var isTouched, isMoved, touchesStart = {}, touchesCurrent = {}, touchStartTime, isScrolling, animating = false, currentTranslate;\n var allowClick = true;\n \n // Expose\n pb.exposed = false;\n pb.toggleExposition = function () {\n if (pb.container) pb.container.toggleClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.toggleClass('photo-browser-captions-exposed');\n pb.exposed = !pb.exposed;\n };\n pb.enableExposition = function () {\n if (pb.container) pb.container.addClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.addClass('photo-browser-captions-exposed');\n pb.exposed = true;\n };\n pb.disableExposition = function () {\n if (pb.container) pb.container.removeClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.removeClass('photo-browser-captions-exposed');\n pb.exposed = false;\n };\n \n // Gestures\n var gestureSlide, gestureImg, gestureImgWrap, scale = 1, currentScale = 1, isScaling = false;\n pb.onSlideGestureStart = function (e) {\n if (!gestureSlide) {\n gestureSlide = $(this);\n gestureImg = gestureSlide.find('img, svg, canvas');\n gestureImgWrap = gestureImg.parent('.photo-browser-zoom-container');\n if (gestureImgWrap.length === 0) {\n gestureImg = undefined;\n return;\n }\n }\n gestureImg.transition(0);\n isScaling = true;\n };\n pb.onSlideGestureChange = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n scale = e.scale * currentScale;\n if (scale > pb.params.maxZoom) {\n scale = pb.params.maxZoom - 1 + Math.pow((scale - pb.params.maxZoom + 1), 0.5);\n }\n if (scale < pb.params.minZoom) {\n scale = pb.params.minZoom + 1 - Math.pow((pb.params.minZoom - scale + 1), 0.5);\n }\n gestureImg.transform('translate3d(0,0,0) scale(' + scale + ')');\n };\n pb.onSlideGestureEnd = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n scale = Math.max(Math.min(scale, pb.params.maxZoom), pb.params.minZoom);\n gestureImg.transition(pb.params.speed).transform('translate3d(0,0,0) scale(' + scale + ')');\n currentScale = scale;\n isScaling = false;\n if (scale === 1) gestureSlide = undefined;\n };\n pb.toggleZoom = function () {\n if (!gestureSlide) {\n gestureSlide = pb.slider.slides.eq(pb.slider.activeSlideIndex);\n gestureImg = gestureSlide.find('img, svg, canvas');\n gestureImgWrap = gestureImg.parent('.photo-browser-zoom-container');\n }\n if (!gestureImg || gestureImg.length === 0) return;\n gestureImgWrap.transition(300).transform('translate3d(0,0,0)');\n if (scale && scale !== 1) {\n scale = currentScale = 1;\n gestureImg.transition(300).transform('translate3d(0,0,0) scale(1)');\n gestureSlide = undefined;\n }\n else {\n scale = currentScale = pb.params.maxZoom;\n gestureImg.transition(300).transform('translate3d(0,0,0) scale(' + scale + ')');\n }\n };\n \n var imageIsTouched, imageIsMoved, imageCurrentX, imageCurrentY, imageMinX, imageMinY, imageMaxX, imageMaxY, imageWidth, imageHeight, imageTouchesStart = {}, imageTouchesCurrent = {}, imageStartX, imageStartY, velocityPrevPositionX, velocityPrevTime, velocityX, velocityPrevPositionY, velocityY;\n \n pb.onSlideTouchStart = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n if (imageIsTouched) return;\n if (app.device.os === 'android') e.preventDefault();\n imageIsTouched = true;\n imageTouchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n imageTouchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n };\n pb.onSlideTouchMove = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n pb.slider.allowClick = false;\n if (!imageIsTouched || !gestureSlide) return;\n \n if (!imageIsMoved) {\n imageWidth = gestureImg[0].offsetWidth;\n imageHeight = gestureImg[0].offsetHeight;\n imageStartX = $.getTranslate(gestureImgWrap[0], 'x') || 0;\n imageStartY = $.getTranslate(gestureImgWrap[0], 'y') || 0;\n gestureImgWrap.transition(0);\n }\n // Define if we need image drag\n var scaledWidth = imageWidth * scale;\n var scaledHeight = imageHeight * scale;\n \n if (scaledWidth < pb.slider.width && scaledHeight < pb.slider.height) return;\n \n imageMinX = Math.min((pb.slider.width / 2 - scaledWidth / 2), 0);\n imageMaxX = -imageMinX;\n imageMinY = Math.min((pb.slider.height / 2 - scaledHeight / 2), 0);\n imageMaxY = -imageMinY;\n \n imageTouchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n imageTouchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (!imageIsMoved && !isScaling) {\n if (\n (Math.floor(imageMinX) === Math.floor(imageStartX) && imageTouchesCurrent.x < imageTouchesStart.x) ||\n (Math.floor(imageMaxX) === Math.floor(imageStartX) && imageTouchesCurrent.x > imageTouchesStart.x)\n ) {\n imageIsTouched = false;\n return;\n }\n }\n e.stopPropagation();\n imageIsMoved = true;\n imageCurrentX = imageTouchesCurrent.x - imageTouchesStart.x + imageStartX;\n imageCurrentY = imageTouchesCurrent.y - imageTouchesStart.y + imageStartY;\n \n if (imageCurrentX < imageMinX) {\n imageCurrentX = imageMinX + 1 - Math.pow((imageMinX - imageCurrentX + 1), 0.8);\n }\n if (imageCurrentX > imageMaxX) {\n imageCurrentX = imageMaxX - 1 + Math.pow((imageCurrentX - imageMaxX + 1), 0.8);\n }\n \n if (imageCurrentY < imageMinY) {\n imageCurrentY = imageMinY + 1 - Math.pow((imageMinY - imageCurrentY + 1), 0.8);\n }\n if (imageCurrentY > imageMaxY) {\n imageCurrentY = imageMaxY - 1 + Math.pow((imageCurrentY - imageMaxY + 1), 0.8);\n }\n \n //Velocity\n if (!velocityPrevPositionX) velocityPrevPositionX = imageTouchesCurrent.x;\n if (!velocityPrevPositionY) velocityPrevPositionY = imageTouchesCurrent.y;\n if (!velocityPrevTime) velocityPrevTime = Date.now();\n velocityX = (imageTouchesCurrent.x - velocityPrevPositionX) / (Date.now() - velocityPrevTime) / 2;\n velocityY = (imageTouchesCurrent.y - velocityPrevPositionY) / (Date.now() - velocityPrevTime) / 2;\n if (Math.abs(imageTouchesCurrent.x - velocityPrevPositionX) < 2) velocityX = 0;\n if (Math.abs(imageTouchesCurrent.y - velocityPrevPositionY) < 2) velocityY = 0;\n velocityPrevPositionX = imageTouchesCurrent.x;\n velocityPrevPositionY = imageTouchesCurrent.y;\n velocityPrevTime = Date.now();\n \n gestureImgWrap.transform('translate3d(' + imageCurrentX + 'px, ' + imageCurrentY + 'px,0)');\n };\n pb.onSlideTouchEnd = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n if (!imageIsTouched || !imageIsMoved) {\n imageIsTouched = false;\n imageIsMoved = false;\n return;\n }\n imageIsTouched = false;\n imageIsMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocityX * momentumDurationX;\n var newPositionX = imageCurrentX + momentumDistanceX;\n var momentumDistanceY = velocityY * momentumDurationY;\n var newPositionY = imageCurrentY + momentumDistanceY;\n \n //Fix duration\n if (velocityX !== 0) momentumDurationX = Math.abs((newPositionX - imageCurrentX) / velocityX);\n if (velocityY !== 0) momentumDurationY = Math.abs((newPositionY - imageCurrentY) / velocityY);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n \n imageCurrentX = newPositionX;\n imageCurrentY = newPositionY;\n \n // Define if we need image drag\n var scaledWidth = imageWidth * scale;\n var scaledHeight = imageHeight * scale;\n imageMinX = Math.min((pb.slider.width / 2 - scaledWidth / 2), 0);\n imageMaxX = -imageMinX;\n imageMinY = Math.min((pb.slider.height / 2 - scaledHeight / 2), 0);\n imageMaxY = -imageMinY;\n imageCurrentX = Math.max(Math.min(imageCurrentX, imageMaxX), imageMinX);\n imageCurrentY = Math.max(Math.min(imageCurrentY, imageMaxY), imageMinY);\n \n gestureImgWrap.transition(momentumDuration).transform('translate3d(' + imageCurrentX + 'px, ' + imageCurrentY + 'px,0)');\n };\n \n // Swipe Up To Close\n var swipeToCloseIsTouched = false;\n var allowSwipeToClose = true;\n var swipeToCloseDiff, swipeToCloseStart, swipeToCloseCurrent, swipeToCloseStarted = false, swipeToCloseActiveSlide, swipeToCloseTimeStart;\n pb.swipeCloseTouchStart = function (slider, e) {\n if (!allowSwipeToClose) return;\n swipeToCloseIsTouched = true;\n };\n pb.swipeCloseTouchMove = function (slider, e) {\n if (!swipeToCloseIsTouched) return;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = true;\n swipeToCloseStart = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseActiveSlide = pb.slider.slides.eq(pb.slider.activeSlideIndex);\n swipeToCloseTimeStart = (new Date()).getTime();\n }\n e.preventDefault();\n swipeToCloseCurrent = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseDiff = swipeToCloseStart - swipeToCloseCurrent;\n var opacity = 1 - Math.abs(swipeToCloseDiff) / 300;\n swipeToCloseActiveSlide.transform('translate3d(0,' + (-swipeToCloseDiff) + 'px,0)');\n pb.slider.container.css('opacity', opacity).transition(0);\n };\n pb.swipeCloseTouchEnd = function (slider, e) {\n swipeToCloseIsTouched = false;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = false;\n return;\n }\n swipeToCloseStarted = false;\n allowSwipeToClose = false;\n var diff = Math.abs(swipeToCloseDiff);\n var timeDiff = (new Date()).getTime() - swipeToCloseTimeStart;\n if ((timeDiff < 300 && diff > 20) || (timeDiff >= 300 && diff > 100)) {\n setTimeout(function () {\n if (pb.params.type === 'standalone') {\n pb.close();\n }\n if (pb.params.type === 'popup') {\n app.closeModal(pb.popup);\n }\n if (pb.params.onSwipeToClose) {\n pb.params.onSwipeToClose(pb);\n }\n allowSwipeToClose = true;\n }, 0);\n return;\n }\n if (diff !== 0) {\n swipeToCloseActiveSlide.addClass('transitioning').transitionEnd(function () {\n allowSwipeToClose = true;\n swipeToCloseActiveSlide.removeClass('transitioning');\n });\n }\n else {\n allowSwipeToClose = true;\n }\n pb.slider.container.css('opacity', '').transition('');\n swipeToCloseActiveSlide.transform('');\n };\n \n return pb;\n };\n \n app.photoBrowser = function (params) {\n return new PhotoBrowser(params);\n };\n "," /*======================================================\n ************ Notifications ************\n ======================================================*/\n var _tempNotificationElement;\n app.addNotification = function (params) {\n if (!params) return;\n \n if (typeof params.media === 'undefined') params.media = app.params.notificationMedia;\n if (typeof params.title === 'undefined') params.title = app.params.notificationTitle;\n if (typeof params.subtitle === 'undefined') params.subtitle = app.params.notificationSubtitle;\n if (typeof params.closeIcon === 'undefined') params.closeIcon = app.params.notificationCloseIcon;\n if (typeof params.hold === 'undefined') params.hold = app.params.notificationHold;\n if (typeof params.closeOnClick === 'undefined') params.closeOnClick = app.params.notificationCloseOnClick;\n \n if (!_tempNotificationElement) _tempNotificationElement = document.createElement('div');\n \n var container = $('.notifications');\n if (container.length === 0) {\n $('body').append('<div class=\"notifications list-block media-list\"><ul></ul></div>');\n container = $('.notifications');\n }\n var list = container.children('ul');\n \n var itemHTML;\n if (params.custom) {\n itemHTML = '<li>' + params.custom + '</li>';\n }\n else {\n itemHTML = '<li class=\"notification-item notification-hidden\"><div class=\"item-content\">' +\n (params.media ?\n '<div class=\"item-media\">' +\n params.media +\n '</div>' : '') +\n '<div class=\"item-inner\">' +\n '<div class=\"item-title-row\">' +\n (params.title ? '<div class=\"item-title\">' + params.title + '</div>' : '') +\n (params.closeIcon ? '<div class=\"item-after\"><a href=\"#\" class=\"close-notification\"><span></span></a></div>' : '') +\n '</div>' +\n (params.subtitle ? '<div class=\"item-subtitle\">' + params.subtitle + '</div>' : '') +\n (params.message ? '<div class=\"item-text\">' + params.message + '</div>' : '') +\n '</div>' +\n '</div></li>';\n }\n _tempNotificationElement.innerHTML = itemHTML;\n \n var item = $(_tempNotificationElement).children();\n \n item.on('click', function (e) {\n var close = false;\n if ($(e.target).is('.close-notification') || $(e.target).parents('.close-notification').length > 0) {\n close = true;\n }\n else {\n if (params.onClick) params.onClick(e, item[0]);\n if (params.closeOnClick) close = true;\n }\n if (close) app.closeNotification(item[0]);\n });\n if (params.onClose) {\n item.data('f7NotificationOnClose', function () {\n params.onClose(item[0]);\n });\n }\n if (params.additionalClass) {\n item.addClass(params.additionalClass);\n }\n if (params.hold) {\n setTimeout(function () {\n if (item.length > 0) app.closeNotification(item[0]);\n }, params.hold);\n }\n \n list.prepend(item[0]);\n container.show();\n \n var itemHeight = item.height();\n item.css('marginTop', -itemHeight + 'px');\n item.transition(0);\n \n var clientLeft = item[0].clientLeft;\n item.transition('');\n item.css('marginTop', '0px');\n \n container.transform('translate3d(0, 0,0)');\n item.removeClass('notification-hidden');\n \n return item[0];\n };\n app.closeNotification = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('notification-item-removing')) return;\n var container = $('.notifications');\n \n var itemHeight = item.height();\n item.css('height', itemHeight + 'px').transition(0);\n var clientLeft = item[0].clientLeft;\n \n item.css('height', '0px').transition('').addClass('notification-item-removing');\n if (item.data('f7NotificationOnClose')) item.data('f7NotificationOnClose')();\n \n if (container.find('.notification-item:not(.notification-item-removing)').length === 0) {\n container.transform('');\n }\n \n item.addClass('notification-hidden').transitionEnd(function () {\n item.remove();\n if (container.find('.notification-item').length === 0) {\n container.hide();\n }\n });\n };"," /*===========================\n Compile Template7 Templates On App Init\n ===========================*/\n app.initTemplate7Templates = function () {\n if (!window.Template7) return;\n Template7.templates = Template7.templates || app.params.templates || {};\n Template7.data = Template7.data || app.params.template7Data || {};\n Template7.template7Cache = {};\n \n app.templates = Template7.templates;\n app.template7Data = Template7.data;\n app.template7Cache = Template7.cache;\n \n // Precompile templates on app init\n if (!app.params.precompileTemplates) return;\n $('script[type=\"text/template7\"]').each(function () {\n var id = $(this).attr('id');\n if (!id) return;\n Template7.templates[id] = Template7.compile($(this).html());\n });\n };\n "," /*=======================================\n ************ Plugins API ************\n =======================================*/\n var _plugins = [];\n app.initPlugins = function () {\n // Initialize plugins\n for (var plugin in app.plugins) {\n var p = app.plugins[plugin](app, app.params[plugin]);\n if (p) _plugins.push(p);\n }\n };\n // Plugin Hooks\n app.pluginHook = function (hook) {\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].hooks && hook in _plugins[i].hooks) {\n _plugins[i].hooks[hook](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n };\n // Prevented by plugin\n app.pluginPrevent = function (action) {\n var prevent = false;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].prevents && action in _plugins[i].prevents) {\n if (_plugins[i].prevents[action](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])) prevent = true;\n }\n }\n return prevent;\n };\n // Preprocess content by plugin\n app.pluginProcess = function (action, data) {\n var processed = data;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].preprocess && process in _plugins[i].preprocess) {\n processed = _plugins[i].preprocess[process](data, arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);\n }\n }\n return processed;\n };\n \n "," /*======================================================\n ************ App Init ************\n ======================================================*/\n app.init = function () {\n // Init Plugins\n if (app.initPlugins) app.initPlugins();\n \n // Init Device\n if (app.getDeviceInfo) app.getDeviceInfo();\n \n // Init Click events\n if (app.initFastClicks && app.params.fastClicks) app.initFastClicks();\n if (app.initClickEvents) app.initClickEvents();\n \n // Init each page callbacks\n $('.page:not(.cached)').each(function () {\n var pageContainer = $(this);\n var viewContainer = pageContainer.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n var view = viewContainer[0].f7View || false;\n var url = view && view.url ? view.url : false;\n if (viewContainer) {\n viewContainer.attr('data-page', pageContainer.attr('data-page') || undefined);\n }\n app.pageInitCallback(view, {pageContainer: this, url: url, position: 'center'});\n });\n \n // Init resize events\n if (app.initResize) app.initResize();\n \n // Init push state\n if (app.initPushState && app.params.pushState) app.initPushState();\n \n // Init Live Swipeouts events\n if (app.initSwipeout && app.params.swipeout) app.initSwipeout();\n \n // Init Live Sortable events\n if (app.initSortable && app.params.sortable) app.initSortable();\n \n // Init Live Swipe Panels\n if (app.initSwipePanels && app.params.swipePanel) app.initSwipePanels();\n \n // App Init callback\n if (app.params.onAppInit) app.params.onAppInit();\n \n // Compile Template7 templates on app load\n if (app.initTemplate7Templates) app.initTemplate7Templates();\n \n // Plugin app init hook\n app.pluginHook('appInit');\n };\n if (app.params.init) app.init();\n "," //Return instance \n return app;\n };\n "," /*===========================\n Dom7 Library\n ===========================*/\n var Dom7 = (function () {\n var Dom7 = function (arr) {\n var _this = this, i = 0;\n // Create array-like object\n for (i = 0; i < arr.length; i++) {\n _this[i] = arr[i];\n }\n _this.length = arr.length;\n // Return collection with methods\n return this;\n };\n var $ = function (selector, context) {\n var arr = [], i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els = (context || document).querySelectorAll(selector);\n for (i = 0; i < els.length; i++) {\n arr.push(els[i]);\n }\n }\n // Node/element\n else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n }\n //Array of elements or instance of Dom\n else if (selector.length > 0 && selector[0].nodeType) {\n for (i = 0; i < selector.length; i++) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n };"," Dom7.prototype = {\n // Classes and attriutes\n addClass: function (className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n this[j].classList.add(classes[i]);\n }\n }\n return this;\n },\n removeClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n this[j].classList.remove(classes[i]);\n }\n }\n return this;\n },\n hasClass: function (className) {\n if (!this[0]) return false;\n else return this[0].classList.contains(className);\n },\n toggleClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n this[j].classList.toggle(classes[i]);\n }\n }\n return this;\n },\n attr: function (attr, value) {\n if (typeof value === 'undefined') {\n if (this[0]) return this[0].getAttribute(attr);\n else return undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].setAttribute(attr, value);\n }\n return this;\n }\n },\n removeAttr: function (attr) {\n for (var i = 0; i < this.length; i++) {\n this[i].removeAttribute(attr);\n }\n },\n prop: function (prop, value) {\n if (typeof value === 'undefined') {\n if (this[0]) return this[0][prop];\n else return undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i][prop] = value;\n }\n return this;\n }\n },\n data: function (key, value) {\n if (typeof value === 'undefined') {\n // Get value\n if (this[0]) {\n var dataKey = this[0].getAttribute('data-' + key);\n if (dataKey) return dataKey;\n else if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) return this[0].dom7ElementDataStorage[key];\n else return undefined;\n }\n else return undefined;\n }\n else {\n // Set value\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n },\n val: function (value) {\n if (typeof value === 'undefined') {\n if (this[0]) return this[0].value;\n else return null;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].value = value;\n }\n return this;\n }\n },\n // Transforms\n transform : function (transform) {\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;\n }\n return this;\n },\n transition: function (duration) {\n if (typeof duration !== 'string') {\n duration = duration + 'ms';\n }\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;\n }\n return this;\n },\n //Events\n on: function (eventName, targetSelector, listener, capture) {\n function handleLiveEvent(e) {\n var target = e.target;\n if ($(target).is(targetSelector)) listener.call(target, e);\n else {\n var parents = $(target).parents();\n for (var k = 0; k < parents.length; k++) {\n if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e);\n }\n }\n }\n var events = eventName.split(' ');\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n for (j = 0; j < events.length; j++) {\n this[i].addEventListener(events[j], listener, capture);\n }\n }\n else {\n //Live events\n for (j = 0; j < events.length; j++) {\n if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = [];\n this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent});\n this[i].addEventListener(events[j], handleLiveEvent, capture);\n }\n }\n }\n \n return this;\n },\n off: function (eventName, targetSelector, listener, capture) {\n var events = eventName.split(' ');\n for (var i = 0; i < events.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n this[j].removeEventListener(events[i], listener, capture);\n }\n else {\n // Live event\n if (this[j].dom7LiveListeners) {\n for (var k = 0; k < this[j].dom7LiveListeners.length; k++) {\n if (this[j].dom7LiveListeners[k].listener === listener) {\n this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture);\n }\n }\n }\n }\n }\n }\n return this;\n },\n once: function (eventName, targetSelector, listener, capture) {\n var dom = this;\n if (typeof targetSelector === 'function') {\n targetSelector = false;\n listener = arguments[1];\n capture = arguments[2];\n }\n function proxy(e) {\n listener(e);\n dom.off(eventName, targetSelector, proxy, capture);\n }\n dom.on(eventName, targetSelector, proxy, capture);\n },\n trigger: function (eventName, eventData) {\n for (var i = 0; i < this.length; i++) {\n var evt;\n try {\n evt = new CustomEvent(eventName, {detail: eventData, bubbles: true, cancelable: true});\n }\n catch (e) {\n evt = document.createEvent('Event');\n evt.initEvent(eventName, true, true);\n evt.detail = eventData;\n }\n this[i].dispatchEvent(evt);\n }\n return this;\n },\n transitionEnd: function (callback) {\n var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'],\n i, j, dom = this;\n function fireCallBack(e) {\n /*jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n animationEnd: function (callback) {\n var events = ['webkitAnimationEnd', 'OAnimationEnd', 'MSAnimationEnd', 'animationend'],\n i, j, dom = this;\n function fireCallBack(e) {\n callback(e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n // Sizing/Styles\n width: function () {\n if (this[0] === window) {\n return window.innerWidth;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('width')) - parseFloat(this.css('padding-left')) - parseFloat(this.css('padding-right'));\n }\n else {\n return null;\n }\n }\n \n },\n outerWidth: function (margins) {\n if (this.length > 0) {\n if (margins)\n return this[0].offsetWidth + parseFloat(this.css('margin-right')) + parseFloat(this.css('margin-left'));\n else\n return this[0].offsetWidth;\n }\n else return null;\n },\n height: function () {\n if (this[0] === window) {\n return window.innerHeight;\n }\n else {\n if (this.length > 0) {\n return this[0].offsetHeight - parseFloat(this.css('padding-top')) - parseFloat(this.css('padding-bottom'));\n }\n else {\n return null;\n }\n }\n \n },\n outerHeight: function (margins) {\n if (this.length > 0) {\n if (margins)\n return this[0].offsetHeight + parseFloat(this.css('margin-top')) + parseFloat(this.css('margin-bottom'));\n else\n return this[0].offsetHeight;\n }\n else return null;\n },\n offset: function () {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = window.pageYOffset || el.scrollTop;\n var scrollLeft = window.pageXOffset || el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n else {\n return null;\n }\n },\n hide: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'none';\n }\n return this;\n },\n show: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'block';\n }\n return this;\n },\n css: function (props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n }\n else {\n for (i = 0; i < this.length; i++) {\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i++) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n },\n \n //Dom manipulation\n each: function (callback) {\n for (var i = 0; i < this.length; i++) {\n callback.call(this[i], i, this[i]);\n }\n return this;\n },\n html: function (html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].innerHTML = html;\n }\n return this;\n }\n },\n text: function (text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n else return null;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[0].textContent = text;\n }\n }\n },\n is: function (selector) {\n if (!this[0]) return false;\n var compareWith, i;\n if (typeof selector === 'string') {\n var el = this[0];\n if (el === document) return selector === document;\n if (el === window) return selector === window;\n \n if (el.matches) return el.matches(selector);\n else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector);\n else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n else {\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n }\n else if (selector === document) return this[0] === document;\n else if (selector === window) return this[0] === window;\n else {\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n return false;\n }\n \n },\n indexOf: function (el) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] === el) return i;\n }\n },\n index: function () {\n if (this[0]) {\n var child = this[0];\n var i = 0;\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i++;\n }\n return i;\n }\n else return undefined;\n },\n eq: function (index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n else return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n },\n append: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n // this[i].insertAdjacentHTML('beforeend', newChild);\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].appendChild(newChild[j]);\n }\n }\n else {\n this[i].appendChild(newChild);\n }\n }\n return this;\n },\n prepend: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j--) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n // this[i].insertAdjacentHTML('afterbegin', newChild);\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n }\n else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n },\n insertBefore: function (selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n }\n else if (before.length > 1) {\n for (var j = 0; j < before.length; j++) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n },\n insertAfter: function (selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n }\n else if (after.length > 1) {\n for (var j = 0; j < after.length; j++) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n },\n next: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n nextAll: function (selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.nextElementSibling) {\n var next = el.nextElementSibling;\n if (selector && $(next).is(selector)) nextEls.push(next);\n else nextEls.push(next);\n el = next;\n }\n return new Dom7(nextEls);\n },\n prev: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n prevAll: function (selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling;\n if (selector && $(prev).is(selector)) prevEls.push(prev);\n else prevEls.push(prev);\n el = prev;\n }\n return new Dom7(prevEls);\n },\n parent: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n }\n else {\n parents.push(this[i].parentNode);\n }\n }\n return $($.unique(parents));\n },\n parents: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n var parent = this[i].parentNode;\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n }\n else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $($.unique(parents));\n },\n find : function (selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i++) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j++) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n },\n children: function (selector) {\n var children = [];\n for (var i = 0; i < this.length; i++) {\n var childNodes = this[i].childNodes;\n \n for (var j = 0; j < childNodes.length; j++) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n }\n else {\n if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]);\n }\n }\n }\n return new Dom7($.unique(children));\n },\n remove: function () {\n for (var i = 0; i < this.length; i++) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n return this;\n },\n detach: function () {\n return this.remove();\n }\n };\n \n // Shortcuts\n (function () {\n var shortcuts = ('click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll').split(' ');\n var notTrigger = ('resize scroll').split(' ');\n function createMethod(name) {\n Dom7.prototype[name] = function (handler) {\n var i;\n if (typeof handler === 'undefined') {\n for (i = 0; i < this.length; i++) {\n if (notTrigger.indexOf(name) < 0) this[i][name]();\n }\n return this;\n }\n else {\n return this.on(name, handler);\n }\n };\n }\n for (var i = 0; i < shortcuts.length; i++) {\n createMethod(shortcuts[i]);\n }\n })();\n "," // Ajax\n var _jsonpRequests = 0;\n $.ajax = function (options) {\n var defaults = {\n method: 'GET',\n data: false,\n async: true,\n cache: true,\n user: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n processData: true,\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0 // 0s JSONp timeout\n };\n \n //For jQuery guys\n if (options.type) options.method = options.type;\n \n // Merge options and defaults\n for (var prop in defaults) {\n if (!(prop in options)) options[prop] = defaults[prop];\n }\n \n // Default URL\n if (!options.url) {\n options.url = window.location.toString();\n }\n // UC method\n var _method = options.method.toUpperCase();\n // Data to modify GET URL\n if ((_method === 'GET' || _method === 'HEAD') && options.data) {\n var stringData;\n if (typeof options.data === 'string') {\n // Should be key=value string\n if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1];\n else stringData = options.data;\n }\n else {\n // Should be key=value object\n stringData = $.serializeObject(options.data);\n }\n if (options.url.indexOf('?') >= 0) options.url += '&' + stringData;\n else options.url += '?' + stringData;\n }\n // JSONP\n if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) {\n \n var callbackName = 'f7jsonp_' + Date.now() + (_jsonpRequests++);\n var requestURL, abortTimeout;\n var callbackSplit = options.url.split('callback=');\n if (callbackSplit[1].indexOf('&') >= 0) {\n var addVars = callbackSplit[1].split('&').filter(function (el) { return el.indexOf('=') > 0; }).join('&');\n requestURL = callbackSplit[0] + 'callback=' + callbackName + (addVars.length > 0 ? '&' + addVars : '');\n }\n else {\n requestURL = callbackSplit[0] + 'callback=' + callbackName;\n }\n \n // Create script\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = function() {\n clearTimeout(abortTimeout);\n if (options.error) options.error();\n };\n script.src = requestURL;\n \n // Handler\n window[callbackName] = function (data) {\n clearTimeout(abortTimeout);\n if (options.success) options.success(data);\n script.parentNode.removeChild(script);\n script = null;\n delete window[callbackName];\n };\n document.querySelector('head').appendChild(script);\n \n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n script.parentNode.removeChild(script);\n script = null;\n if (options.error) options.error();\n }, options.timeout);\n }\n \n return;\n }\n \n // Cache for GET/HEAD requests\n if (_method === 'GET' || _method === 'HEAD') {\n if (options.cache === false) options.url += ('_nocache=' + Date.now());\n }\n \n // Create XHR\n var xhr = new XMLHttpRequest();\n \n // Open XHR\n xhr.open(_method, options.url, options.async, options.user, options.password);\n \n // Create POST Data\n var postData = null;\n \n if ((_method === 'POST' || _method === 'PUT') && options.data) {\n if (options.processData) {\n var postDataInstances = [ArrayBuffer, Blob, Document, FormData];\n // Post Data\n if (postDataInstances.indexOf(options.data.constructor) >= 0) {\n postData = options.data;\n }\n else {\n // POST Headers\n var boundary = '---------------------------' + Date.now().toString(16);\n \n if (options.contentType === 'multipart\\/form-data') {\n xhr.setRequestHeader('Content-Type', 'multipart\\/form-data; boundary=' + boundary);\n }\n else {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n postData = '';\n var _data = $.serializeObject(options.data);\n if (options.contentType === 'multipart\\/form-data') {\n boundary = '---------------------------' + Date.now().toString(16);\n _data = _data.split('&');\n var _newData = [];\n for (var i = 0; i < _data.length; i++) {\n _newData.push('Content-Disposition: form-data; name=\"' + _data[i].split('=')[0] + '\"\\r\\n\\r\\n' + _data[i].split('=')[1] + '\\r\\n');\n }\n postData = '--' + boundary + '\\r\\n' + _newData.join('--' + boundary + '\\r\\n') + '--' + boundary + '--\\r\\n';\n }\n else {\n postData = options.contentType === 'application/x-www-form-urlencoded' ? _data : _data.replace(/&/g, '\\r\\n');\n }\n }\n }\n else {\n postData = options.data;\n }\n \n }\n \n // Additional headers\n if (options.headers) {\n for (var header in options.headers) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n \n // Check for crossDomain\n if (typeof options.crossDomain === 'undefined') {\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^\\/]+)/.test(options.url) && RegExp.$2 !== window.location.host;\n }\n \n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n \n if (options.xhrFields) {\n for (var field in options.xhrFields) {\n xhr[field] = options.xhrFields[field];\n }\n }\n \n // Handle XHR\n xhr.onload = function (e) {\n if (xhr.status === 200 || xhr.status === 0) {\n $(document).trigger('ajaxSuccess', {xhr: xhr});\n if (options.success) {\n var responseData = xhr.responseText;\n \n if (options.dataType === 'json') responseData = JSON.parse(responseData);\n options.success(responseData, xhr.status, xhr);\n }\n }\n if (options.statusCode) {\n if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr);\n }\n if (options.complete) {\n options.complete(xhr);\n }\n $(document).trigger('ajaxComplete', {xhr: xhr});\n };\n \n xhr.onerror = function (e) {\n $(document).trigger('ajaxError', {xhr: xhr});\n if (options.error) options.error(xhr);\n };\n \n // Ajax start callback\n if (options.start) options.start(xhr);\n \n // Send XHR\n $(document).trigger('ajaxStart', {xhr: xhr});\n xhr.send(postData);\n \n // Return XHR object\n return xhr;\n };\n // Shrotcuts\n (function () {\n var methods = ('get post getJSON').split(' ');\n function createMethod(method) {\n $[method] = function (url, data, success) {\n return $.ajax({\n url: url,\n method: method === 'post' ? 'POST' : 'GET',\n data: typeof data === 'function' ? undefined : data,\n success: typeof data === 'function' ? data : success,\n dataType: method === 'getJSON' ? 'json' : undefined\n });\n };\n }\n for (var i = 0; i < methods.length; i++) {\n createMethod(methods[i]);\n }\n })();"," // DOM Library Utilites\n $.parseUrlQuery = function (url) {\n var query = {}, i, params, param;\n if (url.indexOf('?') >= 0) url = url.split('?')[1];\n else return query;\n params = url.split('&');\n for (i = 0; i < params.length; i++) {\n param = params[i].split('=');\n query[param[0]] = param[1];\n }\n return query;\n };\n $.isArray = function (arr) {\n if (Object.prototype.toString.apply(arr) === '[object Array]') return true;\n else return false;\n };\n $.unique = function (arr) {\n var unique = [];\n for (var i = 0; i < arr.length; i++) {\n if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]);\n }\n return unique;\n };\n $.trim = function (str) {\n return str.trim();\n };\n $.serializeObject = function (obj) {\n if (typeof obj === 'string') return obj;\n var resultArray = [];\n var separator = '&';\n for (var prop in obj) {\n if ($.isArray(obj[prop])) {\n var toPush = [];\n for (var i = 0; i < obj[prop].length; i ++) {\n toPush.push(prop + '=' + obj[prop][i]);\n }\n resultArray.push(toPush.join(separator));\n }\n else {\n // Should be string\n resultArray.push(prop + '=' + obj[prop]);\n }\n }\n \n return resultArray.join(separator);\n };\n \n $.getTranslate = function (el, axis) {\n var matrix, curTransform, curStyle, transformMatrix;\n \n // automatic axis detection\n if (typeof axis === 'undefined') {\n axis = 'x';\n }\n \n curStyle = window.getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new WebKitCSSMatrix(curStyle.webkitTransform === 'none' ? '' : curStyle.webkitTransform);\n }\n else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n \n if (axis === 'x') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m41;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[12]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m42;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[13]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[5]);\n }\n \n return curTransform || 0;\n };\n \n $.requestAnimationFrame = function (callback) {\n if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);\n else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);\n else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback);\n else {\n return window.setTimeout(callback, 1000 / 60);\n }\n };\n $.supportTouch = !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\n \n // Link to prototype\n $.fn = Dom7.prototype;\n \n // Plugins\n $.fn.scrollTo = function (left, top, duration) {\n return this.each(function () {\n var el = this;\n var currentTop, currentLeft, maxTop, maxLeft, newTop, newLeft, scrollTop, scrollLeft;\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) return;\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n function render(time) {\n if (time === undefined) {\n time = new Date().getTime();\n }\n if (startTime === null) {\n startTime = time;\n }\n var doneLeft, doneTop, done;\n if (animateTop) scrollTop = currentTop + ((time - startTime) / duration * (newTop - currentTop));\n if (animateLeft) scrollLeft = currentLeft + ((time - startTime) / duration * (newLeft - currentLeft));\n \n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n \n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n \n if (done) return;\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n $.requestAnimationFrame(render);\n }\n $.requestAnimationFrame(render);\n });\n };\n $.fn.scrollTop = function (top, duration) {\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n else return null;\n }\n return dom.scrollTo(undefined, top, duration);\n };\n $.fn.scrollLeft = function (left, duration) {\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n else return null;\n }\n return dom.scrollTo(left, undefined, duration);\n };"," return $;\n })();\n \n // Export Dom7 to Framework7\n Framework7.$ = Dom7;\n \n // Export to local scope\n var $ = Dom7;\n \n // Export to Window\n window.Dom7 = Dom7;\n "," /*===========================\n Features Support Detection\n ===========================*/\n Framework7.prototype.support = (function () {\n var support = {\n touch: !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch)\n };\n \n // Export object\n return support;\n })();\n "," /*===========================\n Device/OS Detection\n ===========================*/\n Framework7.prototype.device = (function () {\n var device = {};\n var ua = navigator.userAgent;\n var $ = Dom7;\n \n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n \n device.ios = device.android = device.iphone = device.ipad = false;\n \n // Android\n if (android) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.iphone = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n \n // Webview\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\n \n // Minimal UI\n if (device.os && device.os === 'ios') {\n var osVersionArr = device.osVersion.split('.');\n device.minimalUi = !device.webView &&\n (ipod || iphone) &&\n (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) &&\n $('meta[name=\"viewport\"]').length > 0 && $('meta[name=\"viewport\"]').attr('content').indexOf('minimal-ui') >= 0;\n }\n \n // Check for status bar and fullscreen app mode\n var windowWidth = $(window).width();\n var windowHeight = $(window).height();\n device.statusBar = false;\n if (device.webView && (windowWidth * windowHeight === screen.width * screen.height)) {\n device.statusBar = true;\n }\n else {\n device.statusBar = false;\n }\n \n // Classes\n var classNames = [];\n \n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n if (device.pixelRatio >= 2) {\n classNames.push('retina');\n }\n \n // OS classes\n if (device.os) {\n classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\\./g, '-'));\n if (device.os === 'ios') {\n var major = parseInt(device.osVersion.split('.')[0], 10);\n for (var i = major - 1; i >= 6; i--) {\n classNames.push('ios-gt-' + i);\n }\n }\n \n }\n // Status bar classes\n if (device.statusBar) {\n classNames.push('with-statusbar-overlay');\n }\n else {\n $('html').removeClass('with-statusbar-overlay');\n }\n \n // Add html classes\n if (classNames.length > 0) $('html').addClass(classNames.join(' '));\n \n // Export object\n return device;\n })();\n "," /*===========================\n Plugins prototype\n ===========================*/\n Framework7.prototype.plugins = {};\n ","})();\n","/*===========================\nTemplate7 Template engine\n===========================*/\nwindow.Template7 = (function () {\n 'use strict';\n function isArray(arr) {\n return Object.prototype.toString.apply(arr) === '[object Array]';\n }\n function isObject(obj) {\n return obj instanceof Object;\n }\n function isFunction(func) {\n return typeof func === 'function';\n }\n var cache = {};\n function helperToSlices(string) {\n var helperParts = string.replace(/[{}#}]/g, '').split(' ');\n var slices = [];\n var shiftIndex, i, j;\n for (i = 0; i < helperParts.length; i++) {\n var part = helperParts[i];\n if (i === 0) slices.push(part);\n else {\n if (part.indexOf('\"') === 0) {\n // Plain String\n if (part.match(/\"/g).length === 2) {\n // One word string\n slices.push(part);\n }\n else {\n // Find closed Index\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n part += ' ' + helperParts[j];\n if (helperParts[j].indexOf('\"') >= 0) {\n shiftIndex = j;\n slices.push(part);\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n }\n else {\n if (part.indexOf('=') > 0) {\n // Hash\n var hashParts = part.split('=');\n var hashName = hashParts[0];\n var hashContent = hashParts[1];\n if (hashContent.match(/\"/g).length !== 2) {\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n hashContent += ' ' + helperParts[j];\n if (helperParts[j].indexOf('\"') >= 0) {\n shiftIndex = j;\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n var hash = [hashName, hashContent.replace(/\"/g,'')];\n slices.push(hash);\n }\n else {\n // Plain variable\n slices.push(part);\n }\n }\n }\n }\n return slices;\n }\n function stringToBlocks(string) {\n var blocks = [], i, j, k;\n if (!string) return [];\n var _blocks = string.split(/({{[^{^}]*}})/);\n for (i = 0; i < _blocks.length; i++) {\n var block = _blocks[i];\n if (block === '') continue;\n if (block.indexOf('{{') < 0) {\n blocks.push({\n type: 'plain',\n content: block\n });\n }\n else {\n if (block.indexOf('{/') >= 0) {\n continue;\n }\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\n // Simple variable\n blocks.push({\n type: 'variable',\n contextName: block.replace(/[{}]/g, '')\n });\n continue;\n }\n // Helpers\n var helperSlices = helperToSlices(block);\n var helperName = helperSlices[0];\n var helperContext = [];\n var helperHash = {};\n for (j = 1; j < helperSlices.length; j++) {\n var slice = helperSlices[j];\n if (isArray(slice)) {\n // Hash\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\n }\n else {\n helperContext.push(slice);\n }\n }\n \n if (block.indexOf('{#') >= 0) {\n // Condition/Helper\n var helperStartIndex = i;\n var helperContent = '';\n var elseContent = '';\n var toSkip = 0;\n var shiftIndex;\n var foundClosed = false, foundElse = false, foundClosedElse = false, depth = 0;\n for (j = i + 1; j < _blocks.length; j++) {\n if (_blocks[j].indexOf('{{#') >= 0) {\n depth ++;\n }\n if (_blocks[j].indexOf('{{/') >= 0) {\n depth --;\n }\n if (_blocks[j].indexOf('{{#' + helperName) >= 0) {\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n toSkip ++;\n }\n else if (_blocks[j].indexOf('{{/' + helperName) >= 0) {\n if (toSkip > 0) {\n toSkip--;\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n else {\n shiftIndex = j;\n foundClosed = true;\n break;\n }\n }\n else if (_blocks[j].indexOf('else') >= 0 && depth === 0) {\n foundElse = true;\n }\n else {\n if (!foundElse) helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n\n }\n if (foundClosed) {\n if (shiftIndex) i = shiftIndex;\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n content: helperContent,\n inverseContent: elseContent,\n hash: helperHash\n });\n }\n }\n else if (block.indexOf(' ') > 0) {\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n hash: helperHash\n });\n }\n }\n }\n return blocks;\n }\n var Template7 = function (template) {\n var t = this;\n t.template = template;\n \n function getCompileFn(block, depth) {\n if (block.content) return compile(block.content, depth);\n else return function () {return ''; };\n }\n function getCompileInverse(block, depth) {\n if (block.inverseContent) return compile(block.inverseContent, depth);\n else return function () {return ''; };\n }\n function getCompileVar(name, ctx) {\n var parents, variable, context;\n \n if (name.indexOf('.') > 0) {\n if (name.indexOf('this') === 0) variable = name.replace('this', ctx);\n else variable = ctx + '.' + name;\n }\n else if (name.indexOf('../') === 0) {\n var levelUp = name.split('../').length - 1;\n var newName = name.split('../')[name.split('../').length - 1];\n var newDepth = ctx.split('_')[1] - levelUp;\n variable = 'ctx_' + (newDepth >= 1 ? newDepth : 1) + '.' + newName;\n }\n else {\n variable = name === 'this' ? ctx : ctx + '.' + name;\n }\n if (name && name.indexOf('@') >= 0) {\n variable = '(data && data.' + name.replace('@', '') + ')';\n }\n \n return variable;\n }\n function getCompiledArguments(contextArray, ctx) {\n var arr = [];\n for (var i = 0; i < contextArray.length; i++) {\n if (contextArray[i].indexOf('\"') === 0) arr.push(contextArray[i]);\n else {\n arr.push(getCompileVar(contextArray[i], ctx));\n }\n }\n return arr.join(', ');\n }\n function compile(template, depth) {\n depth = depth || 1;\n template = template || t.template;\n if (typeof template !== 'string') {\n throw new Error('Template7: Template must be a string');\n }\n var blocks = stringToBlocks(template);\n \n if (blocks.length === 0) {\n return function () { return ''; };\n }\n var ctx = 'ctx_' + depth;\n var resultString = '(function (' + ctx + ', data) {\\n';\n if (depth === 1) {\n resultString += 'function isArray(arr){return Object.prototype.toString.apply(arr) === \\'[object Array]\\';}\\n';\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\") {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\n }\n resultString += 'var r = \\'\\';\\n';\n var i, j, context;\n for (i = 0; i < blocks.length; i++) {\n var block = blocks[i];\n // Plain block\n if (block.type === 'plain') {\n resultString += 'r +=\\'' + (block.content).replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\'') + '\\';';\n continue;\n }\n var variable, compiledArguments;\n // Variable block\n if (block.type === 'variable') {\n variable = getCompileVar(block.contextName, ctx);\n resultString += 'r += c(' + variable + ', ' + ctx + ');';\n }\n // Helpers block\n if (block.type === 'helper') {\n if (block.helperName in t.helpers) {\n compiledArguments = getCompiledArguments(block.contextName, ctx);\n resultString += 'r += (Template7.helpers.' + block.helperName + ').call(' + ctx + ', ' + (compiledArguments && (compiledArguments + ',')) +'{hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + '});';\n }\n else {\n if (block.contextName.length > 0) {\n throw new Error('Template7: Missing helper: \"' + block.helperName + '\"');\n }\n else {\n variable = getCompileVar(block.helperName, ctx);\n resultString += 'if (' + variable + ') {';\n resultString += 'if (isArray(' + variable + ')) {';\n resultString += 'r += (Template7.helpers.each).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + '});';\n resultString += '}else {';\n resultString += 'r += (Template7.helpers.with).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + '});';\n resultString += '}}';\n }\n }\n }\n }\n resultString += '\\nreturn r;})';\n return eval.call(window, resultString);\n }\n t.compile = function (template) {\n if (!t.compiled) {\n t.compiled = compile(template);\n }\n return t.compiled;\n };\n };\n Template7.prototype = {\n options: {},\n helpers: {\n 'if': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'unless': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (!context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'each': function (context, options) {\n var ret = '', i = 0;\n if (isFunction(context)) { context = context.call(this); }\n if (isArray(context)) {\n if (options.hash.reverse) {\n context = context.reverse();\n }\n for (i = 0; i < context.length; i++) {\n ret += options.fn(context[i], {first: i === 0, last: i === context.length - 1, index: i});\n }\n if (options.hash.reverse) {\n context = context.reverse();\n }\n }\n else {\n for (var key in context) {\n i++;\n ret += options.fn(context[key], {key: key});\n }\n }\n if (i > 0) return ret;\n else return options.inverse(this);\n },\n 'with': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return options.fn(context);\n },\n 'join': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return context.join(options.hash.delimeter);\n }\n }\n };\n var t7 = function (template, data) {\n if (arguments.length === 2) {\n var instance = new Template7(template);\n var rendered = instance.compile()(data);\n instance = null;\n return (rendered);\n }\n else return new Template7(template);\n };\n t7.registerHelper = function (name, fn) {\n Template7.prototype.helpers[name] = fn;\n };\n t7.unregisterHelper = function (name) {\n Template7.prototype.helpers[name] = undefined; \n delete Template7.prototype.helpers[name];\n };\n \n t7.compile = function (template, options) {\n var instance = new Template7(template, options);\n return instance.compile();\n };\n \n t7.options = Template7.prototype.options;\n t7.helpers = Template7.prototype.helpers;\n return t7;\n})();"]}
1
+ {"version":3,"sources":["../../src/js/wrap-start.js","../../src/js/f7-intro.js","../../src/js/views.js","../../src/js/navbars.js","../../src/js/searchbar.js","../../src/js/messagebar.js","../../src/js/xhr.js","../../src/js/pages.js","../../src/js/router.js","../../src/js/modals.js","../../src/js/panels.js","../../src/js/messages.js","../../src/js/swipeout.js","../../src/js/sortable.js","../../src/js/smart-select.js","../../src/js/virtual-list.js","../../src/js/pull-to-refresh.js","../../src/js/infinite-scroll.js","../../src/js/scroll-toolbars.js","../../src/js/tabs.js","../../src/js/accordion.js","../../src/js/fast-clicks.js","../../src/js/clicks.js","../../src/js/resize.js","../../src/js/forms-handler.js","../../src/js/push-state.js","../../src/js/slider.js","../../src/js/photo-browser.js","../../src/js/notifications.js","../../src/js/template7-templates.js","../../src/js/plugins.js","../../src/js/init.js","../../src/js/f7-outro.js","../../src/js/dom7-intro.js","../../src/js/dom7-methods.js","../../src/js/dom7-ajax.js","../../src/js/dom7-utils.js","../../src/js/dom7-outro.js","../../src/js/proto-support.js","../../src/js/proto-device.js","../../src/js/proto-plugins.js","../../src/js/wrap-end.js","../../src/js/template7.js"],"names":[],"mappings":"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","file":"framework7.js","sourcesContent":["(function () {\n"," 'use strict';\n /*===========================\n Framework 7\n ===========================*/\n window.Framework7 = function (params) {\n \n // App\n var app = this;\n \n // Version\n app.version = '0.10.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 // Fast clicks\n fastClicks: true,\n fastClicksDistanceThreshold: 0,\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 // Swipeout\n swipeout: true,\n swipeoutActionsNoFold: false,\n swipeoutNoFollow: false,\n // Smart Select Back link template\n smartSelectBackTemplate: '<div class=\"left sliding\"><a href=\"#\" class=\"back link\"><i class=\"icon icon-back\"></i><span>{{backText}}</span></a></div>',\n smartSelectBackText: 'Back',\n smartSelectInPopup: false,\n smartSelectPopupCloseTemplate: '<div class=\"left\"><a href=\"#\" class=\"link close-popup\"><i class=\"icon icon-back\"></i><span>{{closeText}}</span></a></div>',\n smartSelectPopupCloseText: 'Close',\n smartSelectSearchbar: false,\n smartSelectBackOnSelect: false,\n // Searchbar\n searchbarHideDividers: true,\n searchbarHideGroups: true,\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 // Name space\n viewClass: 'view',\n viewMainClass: 'view-main',\n viewsClass: 'views',\n // Notifications defaults\n notificationCloseOnClick: false,\n notificationCloseIcon: true,\n // Animate Pages\n animatePages: true,\n // Template7\n templates: {},\n template7Data: {},\n template7Pages: false,\n precompileTemplates: false,\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 = 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 ************ 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 // 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) {\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 // Is main\n view.main = container.hasClass(app.params.viewMainClass);\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 el;\n \n view.handleTouchStart = function (e) {\n if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl) 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 \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 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');\n previousNavElements = previousNavbar.find('.left, .center, .right');\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 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.os !== 'android') activePage[0].style.boxShadow = '0px 0px 12px rgba(0,0,0,' + (0.5 - 0.5 * 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 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 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 \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.pageBackCallbacks('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallbacks('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\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) history.back();\n // Page after animation callback\n app.pageBackCallbacks('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallbacks('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.router.afterBack(view, activePage, previousPage);\n }\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) {\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 ************ Navbars && Toolbars ************\n ======================================================*/\n // On Navbar Init Callback\n app.navbarInitCallback = function (view, pageContainer, navbar, navbarInnerContainer, url, position) {\n var _navbar = {\n container: navbar,\n innerContainer: navbarInnerContainer\n };\n var _page = {\n url: url,\n query: $.parseUrlQuery(url || ''),\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: position\n };\n var eventData = {\n navbar: _navbar,\n page: _page\n };\n \n // Plugin hook\n app.pluginHook('navbarInit', _navbar, _page);\n \n // Navbar Init Callback\n $(navbarInnerContainer).trigger('navbarInit', eventData);\n };\n app.sizeNavbars = function (viewContainer) {\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 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 navbarWidth = n[0].offsetWidth - parseInt(n.css('padding-left'), 10) - parseInt(n.css('padding-right'), 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 // 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 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.outerWidth()) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n }\n else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarWidth - left.outerWidth()) / 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.outerWidth()) / 2 * inverter;\n }\n else {\n right[0].f7NavbarLeftOffset = -(navbarWidth - right.outerWidth()) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n \n });\n };\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 ************ Searchbar ************\n ======================================================*/\n app.initSearchbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var searchbar = pageContainer.hasClass('searchbar') ? pageContainer : pageContainer.find('.searchbar');\n if (searchbar.length === 0) return;\n if (!pageContainer.hasClass('page')) pageContainer = searchbar.parents('.page').eq(0);\n var searchbarOverlay = pageContainer.hasClass('page') ? pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay');\n var input = searchbar.find('input[type=\"search\"]');\n var clear = searchbar.find('.searchbar-clear');\n var cancel = searchbar.find('.searchbar-cancel');\n var searchList = $(searchbar.attr('data-search-list'));\n var isVirtualList = searchList.hasClass('virtual-list');\n var virtualList;\n var searchIn = searchbar.attr('data-search-in');\n var searchBy = searchbar.attr('data-search-by');\n var found = searchbar.attr('data-searchbar-found');\n if (!found) {\n found = pageContainer.find('.searchbar-found');\n if (found.length === 0) found = $('.searchbar-found');\n }\n else {\n found = $(found);\n }\n var notFound = searchbar.attr('data-searchbar-not-found');\n if (!notFound) {\n notFound = pageContainer.find('.searchbar-not-found');\n if (notFound.length === 0) notFound = $('.searchbar-not-found');\n }\n else {\n notFound = $(notFound);\n }\n \n // Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n if (cancel.length > 0) {\n cancel.css(cancelMarginProp, -cancel[0].offsetWidth + 'px');\n }\n \n \n // Handlers\n function disableSearchbar() {\n input.val('').trigger('change');\n searchbar.removeClass('searchbar-active searchbar-not-empty');\n if (cancel.length > 0) cancel.css(cancelMarginProp, -cancel[0].offsetWidth + 'px');\n \n if (searchList) searchbarOverlay.removeClass('searchbar-overlay-active');\n if (app.device.ios) {\n setTimeout(function () {\n input.blur();\n searchList.trigger('disableSearch');\n }, 400);\n }\n else {\n input.blur();\n searchList.trigger('disableSearch');\n }\n }\n \n // Activate\n function enableSearchbar() {\n if (app.device.ios) {\n setTimeout(function () {\n if (searchList && !searchbar.hasClass('searchbar-active')) searchbarOverlay.addClass('searchbar-overlay-active');\n searchbar.addClass('searchbar-active');\n if (cancel.length > 0) cancel.css(cancelMarginProp, '0px');\n searchList.trigger('enableSearch');\n \n }, 400);\n }\n else {\n if (searchList && !searchbar.hasClass('searchbar-active')) searchbarOverlay.addClass('searchbar-overlay-active');\n searchbar.addClass('searchbar-active');\n if (cancel.length > 0) cancel.css(cancelMarginProp, '0px');\n searchList.trigger('enableSearch');\n }\n }\n \n // Clear\n function clearSearchbar() {\n input.val('').trigger('change').focus();\n searchList.trigger('clearSearch');\n }\n \n // Change\n function searchValue() {\n setTimeout(function () {\n var value = input.val().trim();\n if (value.length === 0) {\n searchbar.removeClass('searchbar-not-empty');\n if (searchList && searchbar.hasClass('searchbar-active')) searchbarOverlay.addClass('searchbar-overlay-active');\n }\n else {\n searchbar.addClass('searchbar-not-empty');\n if (searchList && searchbar.hasClass('searchbar-active')) searchbarOverlay.removeClass('searchbar-overlay-active');\n }\n if (searchList.length > 0 && (searchIn || isVirtualList)) search(value);\n }, 0);\n }\n \n //Prevent submit\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n searchbar[method]('submit', preventSubmit);\n cancel[method]('click', disableSearchbar);\n searchbarOverlay[method]('click', disableSearchbar);\n input[method]('focus', enableSearchbar);\n input[method]('change keydown keypress keyup', searchValue);\n clear[method]('click', clearSearchbar);\n }\n function detachEvents() {\n attachEvents(true);\n }\n searchbar[0].f7DestroySearchbar = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Search\n var previousQuery;\n function search(query) {\n if (query.trim() === previousQuery) return;\n previousQuery = query.trim();\n var values = query.trim().toLowerCase().split(' ');\n var foundItems = [];\n if (isVirtualList) {\n virtualList = searchList[0].f7VirtualList;\n if (query.trim() === '') {\n virtualList.resetFilter();\n notFound.hide();\n 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 searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) {\n el = $(el);\n var compareWithEl = el.find(searchIn);\n if (compareWithEl.length === 0) return;\n var compareWith;\n compareWith = compareWithEl.text().trim().toLowerCase();\n var wordsMatch = 0;\n for (var i = 0; i < values.length; i++) {\n if (compareWith.indexOf(values[i]) >= 0) wordsMatch++;\n }\n if (wordsMatch !== values.length) {\n el.addClass('hidden-by-searchbar');\n }\n else {\n foundItems.push(el[0]);\n }\n });\n \n if (app.params.searchbarHideDividers) {\n 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 if (hide) title.addClass('hidden-by-searchbar');\n else title.removeClass('hidden-by-searchbar');\n });\n }\n if (app.params.searchbarHideGroups) {\n searchList.find('.list-group').each(function () {\n var group = $(this);\n var notHidden = group.find('li:not(.hidden-by-searchbar)');\n if (notHidden.length === 0) {\n group.addClass('hidden-by-searchbar');\n }\n else {\n group.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n searchList.trigger('search', {query: query, foundItems: foundItems});\n if (foundItems.length === 0) {\n notFound.show();\n found.hide();\n }\n else {\n notFound.hide();\n found.show();\n }\n if (isVirtualList) {\n virtualList.filterItems(foundItems);\n }\n }\n \n // Destroy on page remove\n function pageBeforeRemove() {\n detachEvents();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n \n };\n app.destroySearchbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var searchbar = pageContainer.hasClass('searchbar') ? pageContainer : pageContainer.find('.searchbar');\n if (searchbar.length === 0) return;\n if (searchbar[0].f7DestroySearchbar) searchbar[0].f7DestroySearchbar();\n };\n "," /*======================================================\n ************ Messagebar ************\n ======================================================*/\n app.initMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n var textarea = messagebar.find('textarea');\n var pageContent = messagebar.parents('.page').find('.page-content');\n var initialBarHeight = messagebar[0].offsetHeight;\n var initialAreaHeight = textarea[0].offsetHeight;\n \n //Prevent submit\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n // Resize textarea\n function sizeTextarea() {\n \n // Reset\n textarea.css({'height': ''});\n \n var height = textarea[0].offsetHeight;\n var diff = height - textarea[0].clientHeight;\n var scrollHeight = textarea[0].scrollHeight;\n // Update\n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n var newBarHeight = initialBarHeight + (newAreaHeight - initialAreaHeight);\n var maxBarHeight = messagebar.attr('data-max-height') || messagebar.parents('.view')[0].offsetHeight - 88;\n if (newBarHeight > maxBarHeight) {\n newBarHeight = maxBarHeight;\n newAreaHeight = newBarHeight - initialBarHeight + initialAreaHeight;\n }\n textarea.css('height', newAreaHeight + 'px');\n messagebar.css('height', newBarHeight + 'px');\n if (pageContent.length > 0) {\n pageContent.css('padding-bottom', newBarHeight + 'px');\n pageContent.scrollTop(pageContent[0].scrollHeight - pageContent[0].offsetHeight);\n }\n }\n else {\n if (pageContent.length > 0) {\n messagebar.css({'height': ''});\n pageContent.css({'padding-bottom': ''});\n }\n }\n }\n var to;\n function handleKey(e) {\n clearTimeout(to);\n to = setTimeout(function () {\n sizeTextarea();\n }, 0);\n \n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n messagebar[method]('submit', preventSubmit);\n textarea[method]('change keydown keypress keyup paste cut', handleKey);\n }\n function detachEvents() {\n attachEvents(true);\n }\n \n messagebar[0].f7DestroyMessagebar = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Destroy on page remove\n function pageBeforeRemove() {\n detachEvents();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n };\n app.destroyMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n if (messagebar[0].f7DestroyMessagebar) messagebar[0].f7DestroyMessagebar();\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 start: app.params.onAjaxStart,\n complete: function (xhr) {\n if (xhr.status === 200 || 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.onAjaxonAjaxError(xhr);\n }\n });\n if (view) view.xhr = app.xhr;\n \n return app.xhr;\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.params.domCache) return;\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n 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 };\n \n if (pageContainer.f7PageInitialized && view.params.domCache) {\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) view.activePage = pageData;\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 // 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 from: position\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.pageBackCallbacks = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n \n var pageData = {\n container: params.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: params.context,\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.pageAnimCallbacks = function (callback, view, params) {\n // Page Data\n var pageData = {\n container: params.pageContainer,\n url: params.url,\n query: $.parseUrlQuery(params.url || ''),\n name: $(params.pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: params.context,\n swipeBack: params.swipeBack\n };\n var oldPage = params.oldPage,\n newPage = params.newPage;\n \n // Update page date\n params.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 // Size navbars on page load\n if (app.sizeNavbars) app.sizeNavbars($(pageContainer).parents('.' + app.params.viewClass)[0]);\n // Init messages\n if (app.initMessages) app.initMessages(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.initSlider) app.initSlider(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.initMessagebar) app.initMessagebar(pageContainer);\n // Init scroll toolbars\n if (app.initScrollToolbars) app.initScrollToolbars(pageContainer);\n };\n app.reinitPage = function (pageContainer) {\n // Size navbars on page reinit\n if (app.sizeNavbars) app.sizeNavbars($(pageContainer).parents('.' + app.params.viewClass)[0]);\n // Reinit slider\n if (app.reinitSlider) app.reinitSlider(pageContainer);\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('page-on-center').addClass('page-from-center-to-left');\n // rightPage.removeClass('page-on-left').addClass('page-from-right-to-center');\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('page-on-left').addClass('page-from-left-to-center');\n // rightPage.removeClass('page-on-center').addClass('page-from-center-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 if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) {\n this.f7NavbarLeftOffset += rightNavbarInner.find('.sliding.left .back span')[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(content, url, next) {\n // Plugin hook\n app.pluginHook('routerPreprocess', content, url, next);\n \n // Preprocess by plugin\n content = app.pluginProcess('preprocess', content);\n \n if (app.params.preprocess) {\n content = app.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n } else {\n next(content);\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 $(oldNavbarInner[i]).remove();\n else\n $(oldNavbarInner[i]).addClass('cached');\n }\n if (!newNavbarInner && oldNavbarInner.length === 1) {\n if (!view.params.domCache)\n $(oldNavbarInner[0]).remove();\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 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[0] : undefined, \n context: t7_rendered.context\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.pageAnimCallbacks('before', view, {pageContainer: newPage[0], url: url, position: 'right', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n \n function afterAnimation() {\n view.allowPageChange = true;\n newPage.removeClass('page-from-right-to-center page-on-right').addClass('page-on-center');\n oldPage.removeClass('page-from-center-to-left page-on-center').addClass('page-on-left');\n if (dynamicNavbar) {\n newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-right').addClass('navbar-on-center');\n oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center').addClass('navbar-on-left');\n }\n app.pageAnimCallbacks('after', view, {pageContainer: newPage[0], url: url, position: 'right', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n if (app.params.pushState) 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 oldPage.remove();\n if (dynamicNavbar) oldNavbarInner.remove(); \n }\n }\n }\n if (view.params.uniqueHistory && historyBecameUnique) {\n view.refreshPreviousPage();\n }\n }\n \n if (animatePages) {\n // Set pages before animation\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function () {\n app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view);\n }, 0);\n \n }\n newPage.animationEnd(function (e) {\n afterAnimation();\n });\n }\n else {\n afterAnimation();\n }\n };\n \n app.router.load = function (view, options) {\n options = options || {};\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\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(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 // Push state\n if (app.params.pushState) {\n if (typeof pushState === 'undefined') pushState = true;\n if (!preloadOnly && history.state && pushState) {\n history.back();\n }\n }\n \n // Animation\n function afterAnimation() {\n app.pageBackCallbacks('after', view, {pageContainer: oldPage[0], url: url, position: 'center', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n app.pageAnimCallbacks('after', view, {pageContainer: newPage[0], url: url, position: 'left', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n app.router.afterBack(view, oldPage[0], newPage[0]);\n }\n function animateBack() {\n // Page before animation callback\n app.pageBackCallbacks('before', view, {pageContainer: oldPage[0], url: url, position: 'center', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\n app.pageAnimCallbacks('before', view, {pageContainer: newPage[0], url: url, position: 'left', oldPage: oldPage, newPage: newPage, context: t7_rendered.context});\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 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 if (pageToRemove.length) pageToRemove.remove();\n if (dynamicNavbar && navbarToRemove.length) {\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 context: t7_rendered.context\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 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 \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 options = options || {};\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\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(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 oldPage.remove();\n app.pageRemoveCallback(view, oldPage[0], 'right');\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 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 if (page[0].f7RelatedNavbar) $(page[0].f7RelatedNavbar).remove();\n page.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) 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 previousPage.insertBefore(newPage);\n if (newNavbar) {\n previousNavbar = $(view.container).find('.navbar-inner[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n previousNavbar.insertBefore(newNavbar);\n if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached');\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 ************ Modals ************\n ======================================================*/\n var _modalTemplateTempDiv = document.createElement('div');\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 += '<span class=\"modal-button' + (params.buttons[i].bold ? ' modal-button-bold' : '') + '\">' + params.buttons[i].text + '</span>';\n }\n }\n var titleHTML = params.title ? '<div class=\"modal-title\">' + params.title + '</div>' : '';\n var textHTML = params.text ? '<div class=\"modal-text\">' + params.text + '</div>' : '';\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 = '<div class=\"modal ' + noButtons + '\"><div class=\"modal-inner\">' + (titleHTML + textHTML + afterTextHTML) + '</div><div class=\"modal-buttons ' + verticalButtons + '\">' + buttonsHTML + '</div></div>';\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: '<input type=\"text\" class=\"modal-text-input\">',\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: '<input type=\"text\" name=\"modal-username\" placeholder=\"' + app.params.modalUsernamePlaceholder + '\" class=\"modal-text-input modal-text-input-double\"><input type=\"password\" name=\"modal-password\" placeholder=\"' + app.params.modalPasswordPlaceholder + '\" class=\"modal-text-input modal-text-input-double\">',\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: '<input type=\"password\" name=\"modal-password\" placeholder=\"' + app.params.modalPasswordPlaceholder + '\" class=\"modal-text-input\">',\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: '<div class=\"preloader\"></div>'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n $('body').append('<div class=\"preloader-indicator-overlay\"></div><div class=\"preloader-indicator-modal\"><span class=\"preloader preloader-white\"></span></div>');\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 actionsPopoverTemplate = \n '<div class=\"popover actions-popover\">' +\n '<div class=\"popover-inner\">' +\n '{{#each this}}' +\n '<div class=\"list-block\">' +\n '<ul>' +\n '{{#each this}}' +\n '{{#if label}}' +\n '<li class=\"actions-popover-label {{#if color}}color-{{color}}{{/if}} {{#if bold}}actions-popover-bold{{/if}}\">{{text}}</li>' +\n '{{else}}' +\n '<li><a href=\"#\" class=\"item-link list-button {{#if color}}color-{{color}}{{/if}} {{#if bg}}bg-{{bg}}{{/if}} {{#if bold}}actions-popover-bold{{/if}}\">{{text}}</a></li>' +\n '{{/if}}' +\n '{{/each}}' +\n '</ul>' +\n '</div>' +\n '{{/each}}' +\n '</div>' +\n '</div>';\n if (!app._compiledTemplates.actionsPopover) {\n app._compiledTemplates.actionsPopover = t7.compile(actionsPopoverTemplate);\n }\n var popoverHTML = app._compiledTemplates.actionsPopover(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 += '<div class=\"actions-modal-group\">';\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 buttonsHTML += '<span class=\"' + buttonClass + '\">' + button.text + '</span>';\n if (j === params[i].length - 1) buttonsHTML += '</div>';\n }\n }\n modalHTML = '<div class=\"actions-modal\">' + buttonsHTML + '</div>';\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) {\n modal.append('<div class=\"popover-angle\"></div>');\n }\n modal.show();\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 = modal.find('.popover-angle');\n var modalAngleSize = modalAngle.width() / 2;\n var modalAngleLeft, modalAngleTop;\n modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''});\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 = 'top';\n \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 // 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') modalAngle.addClass('on-bottom');\n if (modalPosition === 'bottom') modalAngle.addClass('on-top');\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 else if (modalPosition === 'middle') {\n modalLeft = targetOffset.left - modalWidth - modalAngleSize;\n modalAngle.addClass('on-right');\n if (modalLeft < 5) {\n modalLeft = targetOffset.left + targetWidth + modalAngleSize;\n modalAngle.removeClass('on-right').addClass('on-left');\n }\n if (modalLeft + modalWidth > windowWidth) {\n 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 // 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 if (modal.find('.' + app.params.viewClass).length > 0) {\n app.sizeNavbars(modal.find('.' + app.params.viewClass)[0]);\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 if (modal.find('.' + app.params.viewClass).length > 0) {\n app.sizeNavbars(modal.find('.' + app.params.viewClass)[0]);\n }\n app.openModal(modal);\n return modal[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 if (modal.find('.' + app.params.viewClass).length > 0) {\n app.sizeNavbars(modal.find('.' + app.params.viewClass)[0]);\n }\n app.openModal(modal);\n return modal[0];\n };\n app.openModal = function (modal) {\n modal = $(modal);\n \n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n if (!isPopover && !isPopup && !isLoginScreen) modal.css({marginTop: - Math.round(modal.outerHeight() / 2) + 'px'});\n \n var overlay;\n if (!isLoginScreen) {\n if ($('.modal-overlay').length === 0 && !isPopup) {\n $('body').append('<div class=\"modal-overlay\"></div>');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n $('body').append('<div class=\"popup-overlay\"></div>');\n }\n overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\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 // Classes for transition in\n if (!isLoginScreen) 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 isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n \n var removeOnClose = modal.hasClass('remove-on-close');\n \n var overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\n if (isPopup){\n if (modal.length === $('.popup.modal-in').length) {\n overlay.removeClass('modal-overlay-visible'); \n } \n }\n else {\n overlay.removeClass('modal-overlay-visible');\n }\n \n modal.trigger('close');\n \n if (!isPopover) {\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 (isPopup || isLoginScreen) {\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 }\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 ************ 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 (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 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, 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 side = app.params.swipePanel;\n }\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)');\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 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('');\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 ************ Messages ************\n ======================================================*/\n app.initMessages = function (pageContainer) {\n var page = $(pageContainer);\n var messages = page.find('.messages');\n if (messages.length === 0) return;\n var pageContent = page.find('.page-content');\n if (messages.hasClass('messages-auto-layout')) app.updateMessagesLayout(messages);\n if (!messages.hasClass('new-messages-first')) pageContent[0].scrollTop = pageContent[0].scrollHeight - pageContent[0].offsetHeight;\n };\n app.addMessage = function (props) {\n props = props || {};\n props.type = props.type || 'sent';\n if (!props.text || props.length === 0) return false;\n var messagesContent = $('.messages-content');\n if (messagesContent.length === 0) return false;\n var messages = messagesContent.find('.messages');\n var newOnTop = messages.hasClass('new-messages-first');\n var html = '';\n if (props.day) {\n html += '<div class=\"messages-date\">' + props.day + (props.time ? ',' : '') + (props.time ? ' <span>' + props.time + '</span>' : '') + '</div>';\n }\n var isPic = props.text.indexOf('<img') >= 0 ? 'message-pic' : '';\n var withAvatar = props.avatar ? 'message-with-avatar' : '';\n var messageClass = 'message' + ' message-' + props.type + ' ' + isPic + ' ' + withAvatar + ' message-appear';\n html += '<div class=\"' + messageClass + '\">' +\n (props.name ? '<div class=\"message-name\">' + props.name + '</div>' : '') +\n '<div class=\"message-text\">' + props.text + '</div>' +\n (props.avatar ? '<div class=\"message-avatar\" style=\"background-image:url(' + props.avatar + ')\"></div>' : '') +\n (props.label ? '<div class=\"message-label\">' + props.label + '</div>' : '') +\n '</div>';\n if (newOnTop) messages.prepend(html);\n else messages.append(html);\n if (messages.hasClass('messages-auto-layout')) app.updateMessagesLayout(messages);\n app.scrollMessagesContainer(messagesContent);\n };\n app.updateMessagesLayout = function (messages) {\n messages.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 messages.find('.message-sent').each(function () {\n var message = $(this);\n var next = message.next('.message-sent');\n var prev = message.prev('.message-sent');\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 // Search for changed names\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 messages.find('.message-received').each(function () {\n var message = $(this);\n var next = message.next('.message-received');\n var prev = message.prev('.message-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 // Search for changed names\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 app.scrollMessagesContainer = function (messagesContent) {\n messagesContent = $(messagesContent || '.messages-content');\n if (messagesContent.length === 0) return;\n var messages = messagesContent.find('.messages');\n var newOnTop = messages.hasClass('new-messages-first');\n var currentScroll = messagesContent[0].scrollTop;\n var newScroll = newOnTop ? 0 : messagesContent[0].scrollHeight - messagesContent[0].offsetHeight;\n if (newScroll === currentScroll) return;\n messagesContent.scrollTop(newScroll, 300);\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.parents('.modal.modal-in').length > 0 ||\n target.hasClass('modal-overlay')\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 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) {\n el = $(el);\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 });\n app.swipeoutOpenedEl = el;\n };\n app.swipeoutClose = function (el) {\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 el.find('.swipeout-content').transform('translate3d(' + 0 + 'px,0,0)').transitionEnd(function () {\n el.trigger('closed');\n buttons.transform('');\n app.allowSwipeout = true;\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) {\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 (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 ************ 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 ************ Smart Select ************\n ===============================================================================*/\n app.initSmartSelects = function (pageContainer) {\n var page = $(pageContainer);\n if (page.length === 0) return;\n \n var selects = page.find('.smart-select');\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('<div class=\"item-after\">' + valueText.join(', ') + '</div>');\n }\n else {\n itemAfter.text(valueText);\n }\n \n });\n \n };\n app.smartSelectOpen = function (smartSelect) {\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 if (!view) return;\n \n // Parameters\n var openIn = smartSelect.attr('data-open-in');\n if (!openIn) openIn = app.params.smartSelectInPopup ? 'popup' : 'page';\n \n var pageTitle = smartSelect.attr('data-page-title') || smartSelect.find('.item-title').text();\n var backText = smartSelect.attr('data-back-text') || app.params.smartSelectBackText;\n var closeText = smartSelect.attr('data-popup-close-text') || smartSelect.attr('data-back-text') || app.params.smartSelectPopupCloseText ;\n var backOnSelect = smartSelect.attr('data-back-onselect') ? (smartSelect.attr('data-back-onselect') === 'true' ? true : false) : app.params.smartSelectBackOnSelect;\n var formTheme = smartSelect.attr('data-form-theme') || app.params.smartSelectFormTheme;\n var navbarTheme = smartSelect.attr('data-navbar-theme') || app.params.smartSelectNavbarTheme;\n var virtualList = smartSelect.attr('data-virtual-list') === 'true';\n var virtualListItemHeight = smartSelect.attr('data-virtual-list-height');\n \n // Collect all options/values\n var select = smartSelect.find('select')[0];\n var $select = $(select);\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 option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionShowGroupLabel, previousGroup;\n for (var i = 0; i < select.length; i++) {\n option = $(select[i]);\n if (option[0].disabled) continue;\n optionImage = option.attr('data-option-image') || $select.attr('data-option-image');\n optionIcon = option.attr('data-option-icon') || $select.attr('data-option-icon');\n optionHasMedia = optionImage || optionIcon || inputType === 'checkbox';\n optionGroup = option.parent('optgroup')[0];\n optionGroupLabel = optionGroup && optionGroup.label;\n optionShowGroupLabel = false;\n if (optionGroup) {\n if (optionGroup !== previousGroup) {\n optionShowGroupLabel = true;\n previousGroup = optionGroup;\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 showGroupLabel: optionShowGroupLabel,\n image: optionImage,\n icon: optionIcon,\n disabled: option[0].disabled,\n inputType: inputType,\n id: id,\n hasMedia: optionHasMedia,\n checkbox: inputType === 'checkbox',\n inputName: inputName,\n test: this\n });\n }\n \n \n // Item template/HTML\n if (!app._compiledTemplates.smartSelectItem) {\n app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate || \n '{{#if showGroupLabel}}' +\n '<li class=\"item-divider\">{{groupLabel}}</li>' +\n '{{/if}}' +\n '<li>' +\n '<label class=\"label-{{inputType}} item-content\">' +\n '<input type=\"{{inputType}}\" name=\"{{inputName}}\" value=\"{{value}}\" {{#if selected}}checked{{/if}}>' +\n '{{#if hasMedia}}' +\n '<div class=\"item-media\">' +\n '{{#if checkbox}}<i class=\"icon icon-form-checkbox\"></i>{{/if}}' +\n '{{#if icon}}<i class=\"icon {{icon}}\"></i>{{/if}}' +\n '{{#if image}}<img src=\"{{image}}\">{{/if}}' +\n '</div>' +\n '{{/if}}' +\n '<div class=\"item-inner\">' +\n '<div class=\"item-title\">{{text}}</div>' +\n '</div>' +\n '</label>' +\n '</li>'\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 '<div class=\"navbar {{#if navbarTheme}}theme-{{navbarTheme}}{{/if}}\">' +\n '<div class=\"navbar-inner\">' +\n '{{leftTemplate}}' +\n '<div class=\"center sliding\">{{pageTitle}}</div>' +\n '</div>' +\n '</div>'\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' ? app.params.smartSelectPopupCloseTemplate.replace(/{{closeText}}/g, closeText) : app.params.smartSelectBackTemplate.replace(/{{backText}}/g, backText)\n });\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 = '<form class=\"searchbar\" data-search-list=\".smart-select-list-' + id + '\" data-search-in=\".item-title\">' +\n '<div class=\"searchbar-input\">' +\n '<input type=\"search\" placeholder=\"' + searchbarPlaceholder + '\">' +\n '<a href=\"#\" class=\"searchbar-clear\"></a>' +\n '</div>' +\n '<a href=\"#\" class=\"searchbar-cancel\">' + searchbarCancel + '</a>' +\n '</form>' +\n '<div class=\"searchbar-overlay\"></div>';\n \n var pageHTML =\n (navbarLayout === 'through' ? navbarHTML : '') +\n '<div class=\"pages\">' +\n ' <div data-page=\"' + pageName + '\" class=\"page smart-select-page ' + noNavbar + ' ' + noToolbar + '\">' +\n (navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n ' <div class=\"page-content\">' +\n (navbarLayout === 'static' ? navbarHTML : '') +\n ' <div class=\"list-block ' + (virtualList ? 'virtual-list' : '') + ' smart-select-list-' + id + ' ' + (formTheme ? 'theme-' + formTheme : '') + '\">' +\n ' <ul>' +\n (virtualList ? '' : inputsHTML) +\n ' </ul>' +\n ' </div>' +\n ' </div>' +\n ' </div>' +\n '</div>';\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: virtualListItemHeight || undefined,\n searchByItem: function (query, index, item) {\n if (item.text.toLowerCase().indexOf(query.trim()) >=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 $(document).off('pageInit', pageInit);\n handleInputs(page.container);\n }\n }\n \n // Load content\n if (openIn === 'popup') {\n popup = app.popup(\n '<div class=\"popup smart-select-popup smart-select-popup-' + inputName + '\">' +\n '<div class=\"view navbar-fixed\">' +\n pageHTML +\n '</div>' +\n '</div>'\n );\n app.initPage($(popup).find('.page'));\n handleInputs(popup);\n }\n else {\n $(document).on('pageInit', pageInit);\n view.router.load({content: pageHTML});\n }\n };\n "," /*===============================================================================\n ************ Virtual List ************\n ===============================================================================*/\n var VirtualList = function (listBlock, params) {\n var defaults = {\n cols: 1,\n height: 44,\n cache: true\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 <ul>\n vl.ul = vl.params.ul ? $(vl.params.ul) : vl.listBlock.children('ul');\n if (vl.ul.length === 0) {\n vl.listBlock.append('<ul></ul>');\n vl.ul = vl.listBlock.children('ul');\n }\n \n // DOM cached items\n vl.domCache = {};\n vl.displayDomCache = {};\n \n // Temporary DOM Element\n vl.tempDomElement = document.createElement('ul');\n \n // Last repain position\n vl.lastRepaintY = null;\n \n // Fragment\n vl.fragment = document.createDocumentFragment();\n \n // Filter\n vl.filterItems = function (indexes, resetScrollTop) {\n vl.filteredItems = [];\n var firstIndex = indexes[0];\n var lastIndex = indexes[indexes.length - 1];\n for (var i = 0; i < indexes.length; i++) {\n vl.filteredItems.push(vl.items[indexes[i]]);\n }\n if (typeof resetScrollTop === 'undefined') resetScrollTop = true;\n if (resetScrollTop) {\n vl.pageContent[0].scrollTop = 0;\n }\n vl.update();\n };\n vl.resetFilter = function () {\n vl.filteredItems = null;\n delete vl.filteredItems;\n vl.update();\n };\n \n var pageHeight, rowsPerScreen, rowsBefore, rowsAfter, rowsToRender, maxBufferHeight = 0, listHeight;\n var dynamicHeight = typeof vl.params.height === 'function';\n \n // Set list size\n vl.setListSize = function () {\n var items = vl.filteredItems || vl.items;\n pageHeight = vl.pageContent[0].offsetHeight;\n if (dynamicHeight) {\n listHeight = 0;\n vl.heights = [];\n for (var i = 0; i < items.length; i++) {\n var itemHeight = vl.params.height(items[i]);\n listHeight += itemHeight;\n vl.heights.push(itemHeight);\n }\n }\n else {\n listHeight = items.length * vl.params.height / vl.params.cols;\n rowsPerScreen = Math.ceil(pageHeight / vl.params.height);\n rowsBefore = vl.params.rowsBefore || rowsPerScreen * 2;\n rowsAfter = vl.params.rowsAfter || rowsPerScreen;\n rowsToRender = (rowsPerScreen + rowsBefore + rowsAfter);\n maxBufferHeight = rowsBefore / 2 * vl.params.height;\n }\n \n if (updatableScroll) {\n vl.ul.css({height: listHeight + 'px'});\n }\n };\n \n // Render items\n vl.render = function (force) {\n if (force) vl.lastRepaintY = null;\n // var scrollTop = vl.pageContent[0].scrollTop;\n var scrollTop = -(vl.listBlock[0].getBoundingClientRect().top + vl.pageContent[0].getBoundingClientRect().top);\n if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > maxBufferHeight || (!updatableScroll && (vl.pageContent[0].scrollTop + pageHeight >= vl.pageContent[0].scrollHeight))) {\n vl.lastRepaintY = scrollTop;\n }\n else {\n return;\n }\n \n var items = vl.filteredItems || vl.items, \n fromIndex, toIndex, heightBeforeFirstItem = 0, heightBeforeLastItem = 0;\n if (dynamicHeight) {\n var itemTop = 0, j, itemHeight; \n maxBufferHeight = pageHeight;\n for (j = 0; j < vl.heights.length; j++) {\n itemHeight = vl.heights[j];\n if (typeof fromIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop - pageHeight * 2) fromIndex = j;\n else heightBeforeFirstItem += itemHeight;\n }\n \n if (typeof toIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop + pageHeight * 2 || j === vl.heights.length - 1) toIndex = j + 1;\n heightBeforeLastItem += itemHeight;\n }\n itemTop += itemHeight;\n }\n toIndex = Math.min(toIndex, items.length);\n }\n else {\n fromIndex = (parseInt(scrollTop / vl.params.height) - rowsBefore) * vl.params.cols;\n if (fromIndex < 0) {\n fromIndex = 0;\n }\n toIndex = Math.min(fromIndex + rowsToRender * vl.params.cols, items.length);\n }\n \n var topPosition;\n vl.reachEnd = false;\n for (var i = fromIndex; i < toIndex; i++) {\n var item, index;\n // Define real item index\n index = vl.items.indexOf(items[i]);\n \n if (i === fromIndex) vl.currentFromIndex = index;\n if (i === toIndex - 1) vl.currentToIndex = index;\n if (index === vl.items.length - 1) vl.reachEnd = true;\n \n // Find items\n if (vl.domCache[index]) {\n item = vl.domCache[index];\n }\n else {\n if (vl.template) {\n vl.tempDomElement.innerHTML = vl.template(items[i], {index: index});\n }\n else if (vl.params.renderItem) {\n vl.tempDomElement.innerHTML = vl.params.renderItem(index, items[i]); \n }\n else {\n vl.tempDomElement.innerHTML = items[i];\n }\n item = vl.tempDomElement.childNodes[0];\n if (vl.params.cache) vl.domCache[index] = item;\n }\n item.f7VirtualListIndex = index;\n \n // Set item top position\n if (i === fromIndex) {\n if (dynamicHeight) {\n topPosition = heightBeforeFirstItem;\n }\n else {\n topPosition = (i * vl.params.height / vl.params.cols);\n }\n }\n item.style.top = topPosition + 'px';\n \n // Before item insert\n if (vl.params.onItemBeforeInsert) vl.params.onItemBeforeInsert(vl, item);\n \n // Append item to fragment\n vl.fragment.appendChild(item);\n \n \n }\n \n // Update list height with not updatable scroll\n if (!updatableScroll) {\n if (dynamicHeight) {\n vl.ul[0].style.height = heightBeforeLastItem + 'px';\n }\n else {\n vl.ul[0].style.height = i * vl.params.height / vl.params.cols + 'px';\n }\n }\n \n \n // Update list html\n if (vl.params.onBeforeClear) vl.params.onBeforeClear(vl, vl.fragment);\n vl.ul[0].innerHTML = '';\n \n if (vl.params.onItemsBeforeInsert) vl.params.onItemsBeforeInsert(vl, vl.fragment);\n vl.ul[0].appendChild(vl.fragment);\n if (vl.params.onItemsAfterInsert) vl.params.onFragmentAfterInsert(vl, vl.fragment);\n };\n \n // Handle scroll event\n vl.handleScroll = function (e) {\n vl.render();\n };\n // Handle resize event\n vl.handleResize = function (e) {\n vl.setListSize();\n vl.render(true);\n };\n \n vl.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n vl.pageContent[action]('scroll', vl.handleScroll);\n $(window)[action]('resize', vl.handleResize);\n };\n \n // Init Virtual List\n vl.init = function () {\n vl.attachEvents();\n vl.setListSize();\n vl.render();\n };\n \n // Append\n vl.appendItems = function (items) {\n for (var i = 0; i < items.length; i++) {\n vl.items.push(items[i]);\n }\n vl.update();\n };\n vl.appendItem = function (item) {\n vl.appendItems([item]);\n };\n // Replace\n vl.replaceAllItems = function (items) {\n vl.items = items;\n delete vl.filteredItems;\n vl.domCache = {};\n vl.update();\n };\n vl.replaceItem = function (index, item) {\n vl.items[index] = item;\n if (vl.params.cache) delete vl.domCache[index];\n vl.update();\n };\n // Prepend\n vl.prependItems = function (items) {\n for (var i = items.length - 1; i >= 0; i--) {\n vl.items.unshift(items[i]);\n }\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n vl.prependItem = function (item) {\n vl.prependItems([item]);\n };\n \n // Move\n vl.moveItem = function (oldIndex, newIndex) {\n if (oldIndex === newIndex) return;\n // remove item from array\n var item = vl.items.splice(oldIndex, 1)[0];\n if (newIndex >= vl.items.length) {\n // Add item to the end\n vl.items.push(item);\n newIndex = vl.items.length - 1;\n }\n else {\n // Add item to new index\n vl.items.splice(newIndex, 0, item);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n var leftIndex = oldIndex < newIndex ? oldIndex : newIndex;\n var rightIndex = oldIndex < newIndex ? newIndex : oldIndex;\n var indexShift = oldIndex < newIndex ? -1 : 1;\n if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex];\n if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex];\n if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Insert before\n vl.insertItemBefore = function (index, item) {\n if (index === 0) {\n vl.prependItem(item);\n return;\n }\n if (index >= vl.items.length) {\n vl.appendItem(item);\n return;\n }\n vl.items.splice(index, 0, item);\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex >= index) {\n newCache[cachedIndex + 1] = vl.domCache[cachedIndex];\n }\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Delete\n vl.deleteItems = function (indexes) {\n var prevIndex, indexShift = 0;\n for (var i = 0; i < indexes.length; i++) {\n var index = indexes[i];\n if (typeof prevIndex !== 'undefined') {\n if (index > prevIndex) {\n indexShift = -i;\n }\n }\n index = index + indexShift;\n prevIndex = indexes[i];\n // Delete item\n var deletedItem = vl.items.splice(index, 1)[0];\n \n // Delete from filtered\n if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) {\n vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex === index) {\n delete vl.domCache[index];\n }\n else if (parseInt(cached, 10) > index) {\n newCache[cachedIndex - 1] = vl.domCache[cached];\n }\n else {\n newCache[cachedIndex] = vl.domCache[cached]; \n }\n }\n vl.domCache = newCache;\n }\n }\n vl.update();\n };\n vl.deleteAllItems = function () {\n vl.items = [];\n delete vl.filteredItems;\n if (vl.params.cache) vl.domCache = {};\n vl.update();\n };\n vl.deleteItem = function (index) {\n vl.deleteItems([index]);\n };\n \n // Clear cache\n vl.clearCache = function () {\n vl.domCache = {};\n };\n \n // Update Virtual List\n vl.update = function () {\n vl.setListSize();\n vl.render(true);\n };\n \n // Destroy\n vl.destroy = function () {\n vl.attachEvents(true);\n delete vl.items;\n delete vl.domCache;\n };\n \n // Init Virtual List\n vl.init();\n \n // Store vl in container\n vl.listBlock[0].f7VirtualList = vl;\n return vl;\n };\n \n // App Method\n app.virtualList = function (listBlock, params) {\n return new VirtualList(listBlock, params);\n };\n \n app.reinitVirtualList = function (pageContainer) {\n var page = $(pageContainer);\n var vlists = page.find('.virtual-list');\n if (vlists.length === 0) return;\n for (var i = 0; i < vlists.length; i++) {\n var vlistInstance = vlistInstance[0].f7VirtualList;\n if (vlistInstance) {\n vlistInstance.update();\n }\n }\n };"," /*======================================================\n ************ Pull To Refresh ************\n ======================================================*/\n app.initPullToRefresh = function (pageContainer) {\n var eventsTarget = $(pageContainer);\n if (!eventsTarget.hasClass('pull-to-refresh-content')) {\n eventsTarget = eventsTarget.find('.pull-to-refresh-content');\n }\n if (!eventsTarget || eventsTarget.length === 0) return;\n \n var isTouched, isMoved, touchesStart = {}, isScrolling, touchesDiff, touchStartTime, container, refresh = false, useTranslate = false, startTranslate = 0, translate, scrollTop, wasScrolled, layer;\n var page = eventsTarget.hasClass('page') ? eventsTarget : eventsTarget.parents('.page');\n var hasNavbar = false;\n if (page.find('.navbar').length > 0 || page.parents('.navbar-fixed, .navbar-through').length > 0 || page.hasClass('navbar-fixed') || page.hasClass('navbar-through')) hasNavbar = true;\n if (page.hasClass('no-navbar')) hasNavbar = false;\n if (!hasNavbar) eventsTarget.addClass('pull-to-refresh-no-navbar');\n \n container = eventsTarget;\n \n function handleTouchStart(e) {\n if (isTouched) {\n if (app.device.os === 'android') {\n if ('targetTouches' in e && e.targetTouches.length > 1) return;\n }\n else return;\n }\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n wasScrolled = 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 /*jshint validthis:true */\n container = $(this);\n }\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 scrollTop = container[0].scrollTop;\n if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true; \n \n if (!isMoved) {\n /*jshint validthis:true */\n container.removeClass('transitioning');\n // layer.removeClass('transitioning');\n if (scrollTop > container[0].offsetHeight) {\n isTouched = false;\n return;\n }\n startTranslate = container.hasClass('refreshing') ? 44 : 0;\n if (container[0].scrollHeight === container[0].offsetHeight || app.device.os !== 'ios') {\n useTranslate = true;\n }\n else {\n useTranslate = false;\n }\n }\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n \n if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) {\n // iOS 8 fix\n if (app.device.os === 'ios' && parseInt(app.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true;\n \n if (useTranslate) {\n e.preventDefault();\n translate = (Math.pow(touchesDiff, 0.85) + startTranslate);\n container.transform('translate3d(0,' + translate + 'px,0)');\n }\n else {\n }\n if ((useTranslate && Math.pow(touchesDiff, 0.85) > 44) || (!useTranslate && touchesDiff >= 88)) {\n refresh = true;\n container.addClass('pull-up').removeClass('pull-down');\n }\n else {\n refresh = false;\n container.removeClass('pull-up').addClass('pull-down');\n }\n }\n else {\n \n container.removeClass('pull-up pull-down');\n refresh = false;\n return;\n }\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n if (translate) {\n container.addClass('transitioning');\n translate = 0;\n }\n container.transform('');\n if (refresh) {\n container.addClass('refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n }\n else {\n container.removeClass('pull-down');\n }\n isTouched = false;\n isMoved = false;\n }\n \n // Attach Events\n eventsTarget.on(app.touchEvents.start, handleTouchStart);\n eventsTarget.on(app.touchEvents.move, handleTouchMove);\n eventsTarget.on(app.touchEvents.end, handleTouchEnd);\n \n // Detach Events on page remove\n if (page.length === 0) return;\n function destroyPullToRefresh() {\n eventsTarget.off(app.touchEvents.start, handleTouchStart);\n eventsTarget.off(app.touchEvents.move, handleTouchMove);\n eventsTarget.off(app.touchEvents.end, handleTouchEnd);\n }\n eventsTarget[0].f7DestroyPullToRefresh = destroyPullToRefresh;\n function detachEvents() {\n destroyPullToRefresh();\n page.off('pageBeforeRemove', detachEvents);\n }\n page.on('pageBeforeRemove', detachEvents);\n \n };\n \n app.pullToRefreshDone = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content.refreshing');\n container.removeClass('refreshing').addClass('transitioning');\n container.transitionEnd(function () {\n container.removeClass('transitioning pull-up pull-down');\n });\n };\n app.pullToRefreshTrigger = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content');\n if (container.hasClass('refreshing')) return;\n container.addClass('transitioning refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n };\n \n app.destroyPullToRefresh = function (pageContainer) {\n pageContainer = $(pageContainer);\n var pullToRefreshContent = pageContainer.hasClass('pull-to-refresh-content') ? pageContainer : pageContainer.find('.pull-to-refresh-content');\n if (pullToRefreshContent.length === 0) return;\n if (pullToRefreshContent[0].f7DestroyPullToRefresh) pullToRefreshContent[0].f7DestroyPullToRefresh();\n };\n "," /* ===============================================================================\n ************ Infinite Scroll ************\n =============================================================================== */\n function handleInfiniteScroll() {\n /*jshint validthis:true */\n var inf = $(this);\n var scrollTop = inf[0].scrollTop;\n var scrollHeight = inf[0].scrollHeight;\n var height = inf[0].offsetHeight;\n var distance = inf[0].getAttribute('data-distance');\n var virtualListContainer = inf.find('.virtual-list');\n var virtualList;\n if (!distance) distance = 50;\n if (typeof distance === 'string' && distance.indexOf('%') >= 0) {\n distance = parseInt(distance, 10) / 100 * height;\n }\n if (distance > height) distance = height;\n if (scrollTop + height >= scrollHeight - distance) {\n if (virtualListContainer.length > 0) {\n virtualList = virtualListContainer[0].f7VirtualList;\n if (virtualList && !virtualList.reachEnd) return;\n }\n inf.trigger('infinite');\n }\n }\n app.attachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).on('scroll', handleInfiniteScroll);\n };\n app.detachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).off('scroll', handleInfiniteScroll);\n };\n \n app.initInfiniteScroll = function (pageContainer) {\n pageContainer = $(pageContainer);\n var infiniteContent = pageContainer.find('.infinite-scroll');\n if (infiniteContent.length === 0) return;\n app.attachInfiniteScroll(infiniteContent);\n function detachEvents() {\n app.detachInfiniteScroll(infiniteContent);\n pageContainer.off('pageBeforeRemove', detachEvents);\n }\n pageContainer.on('pageBeforeRemove', detachEvents);\n };"," /*=============================================================\n ************ Hide/show Toolbar/Navbar on scroll ************\n =============================================================*/\n app.initScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var hideNavbar = app.params.hideNavbarOnPageScroll || scrollContent.hasClass('hide-navbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll');\n var hideToolbar = app.params.hideToolbarOnPageScroll || scrollContent.hasClass('hide-toolbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll');\n var hideTabbar = app.params.hideTabbarOnPageScroll || scrollContent.hasClass('hide-tabbar-on-scroll');\n \n if (!(hideNavbar || hideToolbar || hideTabbar)) return;\n \n var viewContainer = scrollContent.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n \n var navbar = viewContainer.find('.navbar'), \n toolbar = viewContainer.find('.toolbar'), \n tabbar;\n if (hideTabbar) {\n tabbar = viewContainer.find('.tabbar');\n if (tabbar.length === 0) tabbar = viewContainer.parents('.' + app.params.viewsClass).find('.tabbar');\n }\n \n var hasNavbar = navbar.length > 0,\n hasToolbar = toolbar.length > 0,\n hasTabbar = tabbar && tabbar.length > 0;\n \n var previousScroll, currentScroll;\n previousScroll = currentScroll = scrollContent[0].scrollTop;\n \n var scrollHeight, offsetHeight, reachEnd, action, navbarHidden, toolbarHidden, tabbarHidden;\n \n var toolbarHeight = (hasToolbar && hideToolbar) ? toolbar[0].offsetHeight : 0;\n var tabbarHeight = (hasTabbar && hideTabbar) ? tabbar[0].offsetHeight : 0;\n var bottomBarHeight = tabbarHeight || toolbarHeight;\n \n function handleScroll(e) {\n if (pageContainer.hasClass('page-on-left')) return;\n currentScroll = scrollContent[0].scrollTop;\n scrollHeight = scrollContent[0].scrollHeight;\n offsetHeight = scrollContent[0].offsetHeight;\n reachEnd = app.params.showBarsOnPageScrollEnd && (currentScroll + offsetHeight >= scrollHeight - bottomBarHeight);\n navbarHidden = navbar.hasClass('navbar-hidden');\n toolbarHidden = toolbar.hasClass('toolbar-hidden');\n tabbarHidden = tabbar && tabbar.hasClass('toolbar-hidden');\n \n \n if (previousScroll > currentScroll || reachEnd) {\n action = 'show';\n }\n else {\n if (currentScroll > 44) {\n action = 'hide';\n }\n else {\n action = 'show';\n }\n }\n \n if (action === 'show') {\n if (hasNavbar && hideNavbar && navbarHidden) {\n app.showNavbar(navbar);\n pageContainer.removeClass('no-navbar-by-scroll'); \n navbarHidden = false;\n }\n if (hasToolbar && hideToolbar && toolbarHidden) {\n app.showToolbar(toolbar);\n pageContainer.removeClass('no-toolbar-by-scroll'); \n toolbarHidden = false;\n }\n if (hasTabbar && hideTabbar && tabbarHidden) {\n app.showToolbar(tabbar);\n pageContainer.removeClass('no-tabbar-by-scroll'); \n tabbarHidden = false;\n }\n }\n else {\n if (hasNavbar && hideNavbar && !navbarHidden) {\n app.hideNavbar(navbar);\n pageContainer.addClass('no-navbar-by-scroll'); \n navbarHidden = true;\n }\n if (hasToolbar && hideToolbar && !toolbarHidden) {\n app.hideToolbar(toolbar);\n pageContainer.addClass('no-toolbar-by-scroll'); \n toolbarHidden = true;\n }\n if (hasTabbar && hideTabbar && !tabbarHidden) {\n app.hideToolbar(tabbar);\n pageContainer.addClass('no-tabbar-by-scroll'); \n tabbarHidden = true;\n }\n }\n \n previousScroll = currentScroll;\n }\n scrollContent.on('scroll', handleScroll);\n scrollContent[0].f7ScrollToolbarsHandler = handleScroll;\n };\n app.destroyScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var handler = scrollContent[0].f7ScrollToolbarsHandler;\n if (!handler) return;\n scrollContent.off('scroll', scrollContent[0].f7ScrollToolbarsHandler);\n };"," /* ===============================================================================\n ************ Tabs ************\n =============================================================================== */\n app.showTab = function (tab, tabLink) {\n var newTab = $(tab);\n if (newTab.hasClass('active')) return false;\n if (newTab.length === 0) return false;\n var tabs = newTab.parent('.tabs');\n if (tabs.length === 0) return false;\n \n // Return swipeouts in hidden tabs\n app.allowSwipeout = true;\n \n // Animated tabs\n var isAnimatedTabs = tabs.parent().hasClass('tabs-animated-wrap');\n if (isAnimatedTabs) {\n tabs.transform('translate3d(' + -newTab.index() * 100 + '%,0,0)');\n }\n \n // Remove active class from old tabs\n var oldTab = tabs.children('.tab.active').removeClass('active');\n // Add active class to new tab\n newTab.addClass('active');\n // Trigger 'show' event on new tab\n newTab.trigger('show');\n \n // Update navbars in new tab\n if (!isAnimatedTabs && newTab.find('.navbar').length > 0) {\n // Find tab's view\n var viewContainer;\n if (newTab.hasClass(app.params.viewClass)) viewContainer = newTab[0];\n else viewContainer = newTab.parents('.' + app.params.viewClass)[0];\n app.sizeNavbars(viewContainer);\n }\n \n // Find related link for new tab\n if (tabLink) tabLink = $(tabLink);\n else {\n // Search by id\n if (typeof tab === 'string') tabLink = $('.tab-link[href=\"' + tab + '\"]');\n else tabLink = $('.tab-link[href=\"#' + newTab.attr('id') + '\"]');\n // Search by data-tab\n if (!tabLink || tabLink && tabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (newTab.is($(this).attr('data-tab'))) tabLink = $(this);\n });\n }\n }\n if (tabLink.length === 0) return;\n \n // Find related link for old tab\n var oldTabLink;\n if (oldTab && oldTab.length > 0) {\n // Search by id\n var oldTabId = oldTab.attr('id');\n if (oldTabId) oldTabLink = $('.tab-link[href=\"#' + oldTabId + '\"]');\n // Search by data-tab\n if (!oldTabLink || oldTabLink && oldTabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (oldTab.is($(this).attr('data-tab'))) oldTabLink = $(this);\n });\n }\n }\n \n // Update links' classes\n if (tabLink && tabLink.length > 0) tabLink.addClass('active');\n if (oldTabLink && oldTabLink.length > 0) oldTabLink.removeClass('active');\n \n return true;\n };"," /*===============================================================================\n ************ Accordion ************\n ===============================================================================*/\n app.accordionToggle = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('accordion-item-expanded')) app.accordionClose(item);\n else app.accordionOpen(item);\n };\n app.accordionOpen = function (item) {\n item = $(item);\n var list = item.parents('.accordion-list').eq(0);\n var content = item.children('.accordion-item-content');\n if (content.length === 0) content = item.find('.accordion-item-content');\n var expandedItem = list.length > 0 && item.parent().children('.accordion-item-expanded');\n if (expandedItem.length > 0) {\n app.accordionClose(expandedItem);\n }\n content.css('height', content[0].scrollHeight + 'px').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('open');\n item.addClass('accordion-item-expanded');\n };\n app.accordionClose = function (item) {\n item = $(item);\n var content = item.children('.accordion-item-content');\n if (content.length === 0) content = item.find('.accordion-item-content');\n item.removeClass('accordion-item-expanded');\n content.transition(0);\n content.css('height', content[0].scrollHeight + 'px');\n // Relayout\n var clientLeft = content[0].clientLeft;\n // Close\n content.transition('');\n content.css('height', '').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('close');\n };"," /*===============================================================================\n ************ Fast Clicks ************\n ************ Inspired by https://github.com/ftlabs/fastclick ************\n ===============================================================================*/\n app.initFastClicks = function () {\n if (app.params.activeState) {\n $('html').addClass('watch-active-state');\n }\n \n var touchStartX, touchStartY, touchStartTime, targetElement, trackClick, activeSelection, scrollParent, lastClickTime, isMoved;\n var activableElement, activeTimeout, needsFastClick;\n \n function findActivableElement(e) {\n var target = $(e.target);\n var parents = target.parents(app.params.activeStateElements);\n \n return (parents.length > 0) ? parents : target;\n }\n function isInsideScrollableView() {\n var pageContent = activableElement.parents('.page-content, .panel');\n \n if (pageContent.length === 0) {\n return false;\n }\n \n // This event handler covers the \"tap to stop scrolling\".\n if (pageContent.prop('scrollHandlerSet') !== 'yes') {\n pageContent.on('scroll', function() {\n clearTimeout(activeTimeout);\n });\n pageContent.prop('scrollHandlerSet', 'yes');\n }\n \n return true;\n }\n function addActive() {\n activableElement.addClass('active-state');\n }\n function removeActive(el) {\n activableElement.removeClass('active-state');\n }\n \n function androidNeedsBlur(el) {\n var noBlur = ('button checkbox file image radio submit input textarea').split(' ');\n if (document.activeElement && el !== document.activeElement && document.activeElement !== document.body) {\n if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) {\n return false;\n }\n else {\n return true;\n }\n }\n else {\n return false;\n }\n }\n function targetNeedsFastClick(el) {\n var $el = $(el);\n if (el.nodeName.toLowerCase() === 'input' && el.type === 'file') return false;\n if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false;\n return true;\n }\n function targetNeedsFocus(el) {\n if (document.activeElement === el) {\n return false;\n }\n var tag = el.nodeName.toLowerCase();\n var skipInputs = ('button checkbox file image radio submit').split(' ');\n if (el.disabled || el.readOnly) return false;\n if (tag === 'textarea') return true;\n if (tag === 'select') {\n if (app.device.os === 'android') return false;\n else return true;\n }\n if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true;\n }\n function targetNeedsPrevent(el) {\n el = $(el);\n if (el.is('label') || el.parents('label').length > 0) {\n if (app.device.os === 'android') {\n var osv = app.device.osVersion.split('.');\n if (osv[0] * 1 > 4 || (osv[0] * 1 === 4 && osv[1] * 1 >= 4)) {\n return false;\n }\n else return true;\n }\n else return false;\n }\n return true;\n }\n \n // Mouse Handlers\n function handleMouseDown (e) {\n findActivableElement(e).addClass('active-state');\n if ('which' in e && e.which === 3) {\n setTimeout(function () {\n $('.active-state').removeClass('active-state');\n }, 0);\n }\n }\n function handleMouseMove (e) {\n $('.active-state').removeClass('active-state');\n }\n function handleMouseUp (e) {\n $('.active-state').removeClass('active-state');\n }\n \n // Touch Handlers\n function handleTouchStart(e) {\n isMoved = false;\n if (e.targetTouches.length > 1) {\n return true;\n }\n needsFastClick = targetNeedsFastClick(e.target);\n \n if (!needsFastClick) {\n trackClick = false;\n return true;\n }\n if (app.device.os === 'ios') {\n var selection = window.getSelection();\n if (selection.rangeCount && selection.focusNode !== document.body && (!selection.isCollapsed || document.activeElement === selection.focusNode)) {\n activeSelection = true;\n return true;\n }\n else {\n activeSelection = false;\n }\n }\n if (app.device.os === 'android') {\n if (androidNeedsBlur(e.target)) {\n document.activeElement.blur();\n }\n }\n \n trackClick = true;\n targetElement = e.target;\n touchStartTime = (new Date()).getTime();\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n \n // Detect scroll parent\n if (app.device.os === 'ios') {\n scrollParent = undefined;\n $(targetElement).parents().each(function () {\n var parent = this;\n if (parent.scrollHeight > parent.offsetHeight && !scrollParent) {\n scrollParent = parent;\n scrollParent.f7ScrollTop = scrollParent.scrollTop;\n }\n });\n }\n if ((e.timeStamp - lastClickTime) < 200) {\n e.preventDefault();\n }\n if (app.params.activeState) {\n activableElement = findActivableElement(e);\n // If it's inside a scrollable view, we don't trigger active-state yet,\n // because it can be a scroll instead. Based on the link:\n // http://labnote.beedesk.com/click-scroll-and-pseudo-active-on-mobile-webk\n if (!isInsideScrollableView(e)) {\n addActive();\n } else {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n }\n function handleTouchMove(e) {\n if (!trackClick) return;\n var _isMoved = false;\n var distance = app.params.fastClicksDistanceThreshold;\n if (distance) {\n var pageX = e.targetTouches[0].pageX;\n var pageY = e.targetTouches[0].pageY;\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n _isMoved = true;\n }\n }\n else {\n _isMoved = true;\n }\n if (_isMoved) {\n trackClick = false;\n targetElement = null;\n isMoved = true;\n }\n \n if (app.params.activeState) {\n clearTimeout(activeTimeout);\n removeActive();\n }\n }\n function handleTouchEnd(e) {\n clearTimeout(activeTimeout);\n \n if (!trackClick) {\n if (!activeSelection && needsFastClick) e.preventDefault();\n return true;\n }\n \n if (document.activeElement === e.target) {\n return true;\n }\n \n if (!activeSelection) {\n e.preventDefault();\n }\n \n if ((e.timeStamp - lastClickTime) < 200) {\n return true;\n }\n \n lastClickTime = e.timeStamp;\n \n trackClick = false;\n \n if (app.device.os === 'ios' && scrollParent) {\n if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) {\n return false;\n }\n }\n \n // Add active-state here because, in a very fast tap, the timeout didn't\n // have the chance to execute. Removing active-state in a timeout gives \n // the chance to the animation execute.\n if (app.params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n \n // Trigger focus when required\n if (targetNeedsFocus(targetElement)) {\n targetElement.focus();\n }\n \n e.preventDefault();\n var touch = e.changedTouches[0];\n var evt = document.createEvent('MouseEvents');\n var eventType = 'click';\n if (app.device.os === 'android' && targetElement.nodeName.toLowerCase() === 'select') {\n eventType = 'mousedown';\n }\n evt.initMouseEvent(eventType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n evt.forwardedTouchEvent = true;\n targetElement.dispatchEvent(evt);\n \n return false;\n }\n function handleTouchCancel(e) {\n trackClick = false;\n targetElement = null;\n }\n \n function handleClick(e) {\n var allowClick = false;\n \n if (trackClick) {\n targetElement = null;\n trackClick = false;\n return true;\n }\n \n if (e.target.type === 'submit' && e.detail === 0) {\n return true;\n }\n \n if (!targetElement) {\n allowClick = true;\n }\n if (document.activeElement === targetElement) {\n allowClick = true;\n }\n if (e.forwardedTouchEvent) {\n allowClick = true;\n }\n if (!e.cancelable) {\n allowClick = true;\n }\n \n if (!allowClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n if (targetElement) {\n if (targetNeedsPrevent(targetElement) || isMoved) {\n e.preventDefault();\n }\n }\n else {\n e.preventDefault();\n }\n targetElement = null;\n }\n \n return allowClick;\n }\n if (app.support.touch) {\n document.addEventListener('click', handleClick, true);\n \n document.addEventListener('touchstart', handleTouchStart);\n document.addEventListener('touchmove', handleTouchMove);\n document.addEventListener('touchend', handleTouchEnd);\n document.addEventListener('touchcancel', handleTouchCancel);\n }\n else {\n if (app.params.activeState) {\n document.addEventListener('mousedown', handleMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n }\n \n };\n "," /*===============================================================================\n ************ Handle clicks and make them fast (on tap); ************\n ===============================================================================*/\n app.initClickEvents = function () {\n function handleClicks(e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var url = clicked.attr('href');\n var isLink = clicked[0].nodeName.toLowerCase() === 'a';\n \n // Str to boolean for data attributes\n function toBoolean(str) {\n if (str === 'false') return false;\n if (str === 'true') return true;\n return undefined;\n }\n // Check if link is external \n if (isLink) {\n if (clicked.is(app.params.externalLinks)) return;\n }\n \n // Smart Select\n if (clicked.hasClass('smart-select')) {\n if (app.smartSelectOpen) app.smartSelectOpen(clicked);\n }\n \n // Open Panel\n if (clicked.hasClass('open-panel')) {\n if ($('.panel').length === 1) {\n if ($('.panel').hasClass('panel-left')) app.openPanel('left');\n else app.openPanel('right');\n }\n else {\n if (clicked.attr('data-panel') === 'right') app.openPanel('right');\n else app.openPanel('left');\n }\n }\n // Close Panel\n if (clicked.hasClass('close-panel')) {\n app.closePanel();\n }\n \n if (clicked.hasClass('panel-overlay') && app.params.panelsCloseByOutside) {\n app.closePanel();\n }\n // Popover\n if (clicked.hasClass('open-popover')) {\n var popover;\n if (clicked.attr('data-popover')) {\n popover = clicked.attr('data-popover');\n }\n else popover = '.popover';\n app.popover(popover, clicked);\n }\n if (clicked.hasClass('close-popover')) {\n app.closeModal('.popover.modal-in');\n }\n // Popup\n var popup;\n if (clicked.hasClass('open-popup')) {\n if (clicked.attr('data-popup')) {\n popup = clicked.attr('data-popup');\n }\n else popup = '.popup';\n app.popup(popup);\n }\n if (clicked.hasClass('close-popup')) {\n if (clicked.attr('data-popup')) {\n popup = clicked.attr('data-popup');\n }\n else popup = '.popup.modal-in';\n app.closeModal(popup);\n }\n // Login Screen\n var loginScreen;\n if (clicked.hasClass('open-login-screen')) {\n if (clicked.attr('data-login-screen')) {\n loginScreen = clicked.attr('data-login-screen');\n }\n else loginScreen = '.login-screen';\n app.loginScreen(loginScreen);\n }\n if (clicked.hasClass('close-login-screen')) {\n app.closeModal('.login-screen.modal-in');\n }\n // Close Modal\n if (clicked.hasClass('modal-overlay')) {\n if ($('.modal.modal-in').length > 0 && app.params.modalCloseByOutside)\n app.closeModal('.modal.modal-in');\n if ($('.actions-modal.modal-in').length > 0 && app.params.actionsCloseByOutside)\n app.closeModal('.actions-modal.modal-in');\n \n if ($('.popover.modal-in').length > 0) app.closeModal('.popover.modal-in');\n }\n if (clicked.hasClass('popup-overlay')) {\n if ($('.popup.modal-in').length > 0 && app.params.popupCloseByOutside)\n app.closeModal('.popup.modal-in');\n }\n \n // Tabs\n var isTabLink;\n if (clicked.hasClass('tab-link')) {\n isTabLink = true;\n app.showTab(clicked.attr('data-tab') || clicked.attr('href'), clicked);\n }\n // Swipeout Delete\n if (clicked.hasClass('swipeout-delete')) {\n if (clicked.attr('data-confirm')) {\n var text = clicked.attr('data-confirm');\n var title = clicked.attr('data-confirm-title');\n if (title) {\n app.confirm(text, title, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n });\n }\n else {\n app.confirm(text, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n });\n }\n }\n else {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }\n \n }\n // Sortable\n if (clicked.hasClass('toggle-sortable')) {\n app.sortableToggle(clicked.data('sortable'));\n }\n if (clicked.hasClass('open-sortable')) {\n app.sortableOpen(clicked.data('sortable'));\n }\n if (clicked.hasClass('close-sortable')) {\n app.sortableClose(clicked.data('sortable'));\n }\n // Accordion\n if (clicked.hasClass('accordion-item-toggle') || (clicked.hasClass('item-link') && clicked.parent().hasClass('accordion-item'))) {\n var accordionItem = clicked.parent('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('li');\n app.accordionToggle(accordionItem);\n }\n \n // Load Page\n if (app.params.ajaxLinks && !clicked.is(app.params.ajaxLinks) || !isLink || !app.params.router) {\n return;\n }\n if (isLink) {\n e.preventDefault();\n }\n \n var validUrl = url && url.length > 0 && url !== '#' && !isTabLink;\n var template = clicked.attr('data-template');\n if (validUrl || clicked.hasClass('back') || template) {\n var view;\n if (clicked.attr('data-view')) {\n view = $(clicked.attr('data-view'))[0].f7View;\n }\n else {\n view = clicked.parents('.' + app.params.viewClass)[0] && clicked.parents('.' + app.params.viewClass)[0].f7View;\n if (view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;\n else if (view.params.linksView instanceof View) view = view.params.linksView;\n }\n }\n if (!view) {\n if (app.mainView) view = app.mainView;\n }\n if (!view) return;\n \n var pageName;\n if (!template) {\n if (url.indexOf('#') === 0 && url !== '#') {\n if (view.params.domCache) {\n pageName = url.split('#')[1];\n url = undefined;\n }\n else return;\n }\n if (url === '#' && !clicked.hasClass('back')) return;\n }\n else {\n url = undefined;\n }\n \n var animatePages;\n if (clicked.attr('data-animatePages')) {\n animatePages = toBoolean(clicked.attr('data-animatePages'));\n }\n else {\n if (clicked.hasClass('with-animation')) animatePages = true;\n if (clicked.hasClass('no-animation')) animatePages = false;\n }\n \n var options = {\n animatePages: animatePages,\n ignoreCache: toBoolean(clicked.attr('data-ignoreCache')),\n force: toBoolean(clicked.attr('data-force')),\n reload: toBoolean(clicked.attr('data-reload')),\n reloadPrevious: toBoolean(clicked.attr('data-reloadPrevious')),\n pageName: pageName,\n url: url\n };\n \n if (app.params.template7Pages) {\n options.contextName = clicked.attr('data-contextName');\n var context = clicked.attr('data-context');\n if (context) {\n options.context = JSON.parse(context);\n }\n }\n if (template && template in t7.templates) {\n options.template = t7.templates[template];\n }\n \n if (clicked.hasClass('back')) view.router.back(options);\n else view.router.load(options);\n }\n }\n $(document).on('click', 'a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle', handleClicks);\n };\n "," /*======================================================\n ************ App Resize Actions ************\n ======================================================*/\n // Prevent iPad horizontal body scrolling when soft keyboard is opened\n function _fixIpadBodyScrolLeft() {\n if (app.device.ipad) {\n document.body.scrollLeft = 0;\n setTimeout(function () {\n document.body.scrollLeft = 0;\n }, 0);\n }\n }\n app.initResize = function () {\n $(window).on('resize', app.resize);\n $(window).on('orientationchange', app.orientationchange);\n };\n app.resize = function () {\n if (app.sizeNavbars) app.sizeNavbars();\n _fixIpadBodyScrolLeft();\n \n };\n app.orientationchange = function () {\n if (app.device && app.device.minimalUi) {\n if (window.orientation === 90 || window.orientation === -90) document.body.scrollTop = 0;\n }\n _fixIpadBodyScrolLeft();\n };\n "," /*===============================================================================\n ************ Store and parse forms data ************\n ===============================================================================*/\n app.formsData = {};\n app.formStoreData = function (formId, formJSON) {\n // Store form data in app.formsData\n app.formsData[formId] = formJSON;\n \n // Store form data in local storage also\n app.ls['f7form-' + formId] = JSON.stringify(formJSON);\n };\n app.formDeleteData = function (formId) {\n // Delete form data from app.formsData\n if (app.formsData[formId]) {\n app.formsData[formId] = '';\n delete app.formsData[formId];\n }\n \n // Delete form data from local storage also\n if (app.ls['f7form-' + formId]) {\n app.ls['f7form-' + formId] = '';\n app.ls.removeItem('f7form-' + formId);\n }\n };\n app.formGetData = function (formId) {\n // First of all check in local storage\n if (app.ls['f7form-' + formId]) {\n return JSON.parse(app.ls['f7form-' + formId]);\n }\n // Try to get it from formsData obj\n else if (app.formsData[formId]) return app.formsData[formId];\n };\n app.formToJSON = function (form) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Form data\n var formData = {};\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.attr('multiple')) {\n skipNames.push(name);\n formData[name] = [];\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (this.selected) formData[name].push(this.value);\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n formData[name] = [];\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name].push(this.value);\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name] = this.value;\n });\n break;\n default :\n formData[name] = input.val();\n break;\n }\n }\n \n });\n \n return formData;\n };\n app.formFromJSON = function (form, formData) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n \n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (!formData[name]) return;\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.attr('multiple')) {\n skipNames.push(name);\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.selected = true;\n else this.selected = false;\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.checked = true;\n else this.checked = false;\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name] === this.value) this.checked = true;\n else this.checked = false;\n });\n break;\n default :\n input.val(formData[name]);\n break;\n }\n }\n \n });\n };\n app.initFormsStorage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n \n var forms = pageContainer.find('form.store-data');\n if (forms.length === 0) return;\n \n // Parse forms data and fill form if there is such data\n forms.each(function () {\n var id = this.getAttribute('id');\n if (!id) return;\n var formData = app.formGetData(id);\n if (formData) app.formFromJSON(this, formData);\n });\n // Update forms data on inputs change\n function storeForm() {\n /*jshint validthis:true */\n var form = $(this);\n var formId = form[0].id;\n if (!formId) return;\n var formJSON = app.formToJSON(form);\n if (!formJSON) return;\n app.formStoreData(formId, formJSON);\n form.trigger('store', {data: formJSON});\n }\n forms.on('change submit', storeForm);\n \n // Detach Listeners\n function pageBeforeRemove() {\n forms.off('change submit', storeForm);\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n };\n \n // Ajax submit on forms\n $(document).on('submit change', 'form.ajax-submit, form.ajax-submit-onchange', function (e) {\n var form = $(this);\n if (e.type === 'change' && !form.hasClass('ajax-submit-onchange')) return;\n if (e.type === 'submit') e.preventDefault();\n \n var method = form.attr('method') || 'GET';\n var contentType = form.attr('enctype');\n \n var url = form.attr('action');\n if (!url) return;\n \n var data;\n if (method === 'POST') data = new FormData(form[0]);\n else data = $.serializeObject(app.formToJSON(form[0]));\n \n var xhr = $.ajax({\n method: method,\n url: url,\n contentType: contentType,\n data: data,\n success: function (data) {\n form.trigger('submitted', {data: data, xhr: xhr});\n }\n });\n });\n \n "," /*======================================================\n ************ Handle Browser's History ************\n ======================================================*/\n app.pushStateQueue = [];\n app.pushStateClearQueue = function () {\n if (app.pushStateQueue.length === 0) return;\n var queue = app.pushStateQueue.pop();\n var animatePages;\n if (app.params.pushStateNoAnimation === true) animatePages = false;\n if (queue.action === 'back') {\n app.router.back(queue.view, {animatePages: animatePages});\n }\n if (queue.action === 'loadPage') {\n app.router.load(queue.view, {url: queue.stateUrl, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadContent') {\n app.router.load(queue.view, {content: queue.stateContent, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadPageName') {\n app.router.load(queue.view, {pageName: queue.statePageName, animatePages: animatePages, pushState: false});\n }\n };\n \n app.initPushState = function () {\n var blockPopstate = true;\n $(window).on('load', function () {\n setTimeout(function () {\n blockPopstate = false;\n }, 0);\n });\n function handlePopState(e) {\n if (blockPopstate) return;\n var mainView = app.mainView;\n if (!mainView) return;\n var state = e.state;\n if (!state) {\n state = {\n viewIndex: app.views.indexOf(mainView),\n url : mainView.history[0]\n };\n }\n if (state.viewIndex < 0) return;\n var view = app.views[state.viewIndex];\n var stateUrl = state && state.url || undefined;\n var stateContent = state && state.content || undefined;\n var statePageName = state && state.pageName || undefined;\n var animatePages;\n \n if (app.params.pushStateNoAnimation === true) animatePages = false;\n \n if (stateUrl !== view.url) {\n if (view.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (view.allowPageChange) {\n app.router.back(view, {url:undefined, animatePages: animatePages, pushState: false, preloadOnly:false});\n }\n else {\n app.pushStateQueue.push({\n action: 'back',\n view: view\n });\n }\n }\n else if (stateContent) {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {content:stateContent, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadContent',\n stateContent: stateContent,\n view: view\n });\n }\n \n }\n else if (statePageName) {\n // Load Page by page name with Dom Cache\n if (view.allowPageChange) {\n app.router.load(view, {pageName:statePageName, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPageName',\n statePageName: statePageName,\n view: view\n });\n }\n }\n else {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {url:stateUrl, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPage',\n stateUrl: stateUrl,\n view: view\n });\n }\n }\n }\n }\n $(window).on('popstate', handlePopState);\n };\n "," /*======================================================\n ************ Slider ************\n ======================================================*/\n var Slider = function (container, params) {\n var defaults = {\n initialSlide: 0,\n spaceBetween: 0,\n speed: 300,\n loop: false,\n slidesPerView: 1,\n onlyExternal: false,\n direction: 'horizontal',\n paginationHide: true,\n slideClass: 'slider-slide',\n slideActiveClass: 'slider-slide-active',\n slideNextClass: 'slider-slide-next',\n slidePrevClass: 'slider-slide-prev',\n wrapperClass: 'slider-wrapper',\n bulletClass: 'slider-pagination-bullet',\n bulletActiveClass: 'slider-pagination-active',\n preventClicks: true,\n preventClicksPropagation: true,\n autoplay: false,\n autoplayDisableOnInteraction: true,\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 var s = this;\n s.params = params;\n s.container = $(container);\n if (s.container.length === 0) return;\n s.container[0].f7Slider = s;\n \n if (s.params.direction === 'vertical') {\n s.container.addClass('slider-container-vertical');\n }\n else {\n s.container.addClass('slider-container-horizontal');\n }\n \n s.wrapper = s.container.children('.' + s.params.wrapperClass);\n \n if (s.params.pagination) {\n s.paginationContainer = $(s.params.pagination);\n }\n \n s.activeSlideIndex = s.previousSlideIndex = s.params.initialSlide || 0;\n \n var isH = s.params.direction === 'horizontal';\n \n var inverter = isH ? (app.rtl ? -1 : 1) : 1;\n \n s.updateSlides = function () {\n s.slides = s.wrapper.children('.' + s.params.slideClass);\n \n if (s.params.spaceBetween !== 0) {\n var marginProp = app.rtl ? 'marginLeft' : 'marginRight';\n if (isH) {\n s.slides.css(marginProp, s.params.spaceBetween + 'px');\n }\n else s.slides.css({marginBottom: s.params.spaceBetween + 'px'});\n }\n if (s.params.slidesPerView > 1) {\n var sizeValue = '(100% - ' + (s.params.slidesPerView - 1) * params.spaceBetween + 'px)/' + s.params.slidesPerView;\n if (isH) {\n s.slides.css('width', '-webkit-calc(' + sizeValue + ')');\n s.slides.css('width', '-moz-calc(' + sizeValue + ')');\n s.slides.css('width', 'calc(' + sizeValue + ')');\n }\n else {\n s.slides.css('height', '-webkit-calc(' + sizeValue + ')');\n s.slides.css('height', '-moz-calc(' + sizeValue + ')');\n s.slides.css('height', 'calc(' + sizeValue + ')');\n }\n }\n // First/last\n s.isFirst = s.isBeginning = s.activeSlideIndex === 0;\n s.isLast = s.isEnd = s.activeSlideIndex === s.slides.length - s.params.slidesPerView;\n };\n \n s.updatePagination = function () {\n if (s.paginationContainer && s.paginationContainer.length > 0) {\n var bulletsHTML = '';\n var bulletsLength = s.slides.length - s.params.slidesPerView + 1;\n if (s.params.loop) {\n bulletsLength = s.slides.length - s.loopedSlides * 2;\n }\n for (var i = 0; i < bulletsLength; i++) {\n bulletsHTML += '<span class=\"' + s.params.bulletClass + '\"></span>';\n }\n s.paginationContainer.html(bulletsHTML);\n s.bullets = s.paginationContainer.find('.' + s.params.bulletClass);\n }\n };\n \n s.updateSize = function () {\n s.width = s.container[0].offsetWidth;\n s.height = s.container[0].offsetHeight;\n s.size = isH ? s.width : s.height;\n };\n \n s.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n // Slide between photos\n s.container[action](app.touchEvents.start, s.onTouchStart);\n s.container[action](app.touchEvents.move, s.onTouchMove);\n s.container[action](app.touchEvents.end, s.onTouchEnd);\n $(window)[action]('resize', s.onResize);\n \n // Next, Prev, Index\n if (s.params.nextButton) $(s.params.nextButton)[action]('click', s.onClickNext);\n if (s.params.prevButton) $(s.params.prevButton)[action]('click', s.onClickPrev);\n if (s.params.indexButton) $(s.params.indexButton)[action]('click', s.onClickIndex);\n \n // Prevent Links\n if (s.params.preventClicks || s.params.preventClicksPropagation) s.container[action]('click', s.onClick, true);\n };\n s.detachEvents = function () {\n s.attachEvents(true);\n };\n \n s.onResize = function () {\n s.updateSize();\n s.slideTo(s.activeSlideIndex, 0, false);\n };\n \n var isTouched, isMoved, touchesStart = {}, touchesCurrent = {}, touchStartTime, isScrolling, currentTranslate; \n var lastClickTime = Date.now(), clickTimeout;\n s.animating = false;\n s.allowClick = true;\n \n s.onClick = function (e) {\n if (s.params.preventClicks && !s.allowClick) {\n e.preventDefault();\n if (s.params.preventClicksPropagation) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n };\n \n function isFormElement(el) {\n var nn = el.nodeName.toLowerCase();\n if (nn === 'input' || nn === 'textarea' || nn === 'select') return true;\n return false;\n }\n s.touchedTarget = null;\n var hasFocused, hasBlured;\n s.onTouchStart = function (e) {\n if (s.params.onlyExternal) return;\n s.touchedTarget = e.target;\n isTouched = true;\n isMoved = false;\n isScrolling = undefined;\n touchesStart.x = touchesCurrent.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = touchesCurrent.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = Date.now();\n s.allowClick = true;\n s.updateSize();\n if (s.params.onTouchStart) s.params.onTouchStart(s, e);\n hasFocused = hasBlured = false;\n if (e.type === 'mousedown') {\n if (!isFormElement(e.target)) e.preventDefault();\n }\n \n };\n s.onTouchMove = function (e) {\n if (s.params.onTouchMove) s.params.onTouchMove(s, e);\n s.allowClick = false;\n if (e.targetTouches && e.targetTouches.length > 1) return;\n \n touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchesCurrent.y - touchesStart.y) > Math.abs(touchesCurrent.x - touchesStart.x));\n }\n if ((isH && isScrolling) || (!isH && !isScrolling)) {\n if (s.params.onOppositeTouchMove) s.params.onOppositeTouchMove(s, e);\n }\n if (!isTouched) return;\n if ((isH && isScrolling) || (!isH && !isScrolling)) {\n isTouched = false;\n return;\n }\n if (s.params.onSliderMove) s.params.onSliderMove(s, e);\n \n e.preventDefault();\n e.stopPropagation();\n \n if (!isMoved) {\n if (params.loop) {\n s.fixLoop();\n }\n currentTranslate = $.getTranslate(s.wrapper[0], isH ? 'x' : 'y') * inverter;\n s.wrapper.transition(0);\n if (s.animating) s.onTransitionEnd();\n if (params.autoplay && autoplay) {\n if (s.params.autoplayDisableOnInteraction) s.stopAutoplay();\n else {\n if (autoplayTimeout) clearTimeout(autoplayTimeout);\n }\n }\n }\n isMoved = true;\n var diff = isH ? (touchesCurrent.x - touchesStart.x) * inverter : touchesCurrent.y - touchesStart.y;\n \n if ((diff > 0 && s.activeSlideIndex === 0)) diff = Math.pow(diff, 0.85);\n else if (diff < 0 && s.activeSlideIndex === s.slides.length - s.params.slidesPerView) {\n diff = -Math.pow(-diff, 0.85);\n }\n else if (diff < 0 && s.activeSlideIndex === 0 && s.slides.length < s.params.slidesPerView) {\n diff = -Math.pow(-diff, 0.85);\n }\n \n var translateX = isH ? (diff + currentTranslate) * inverter : 0, translateY = isH ? 0 : diff + currentTranslate;\n \n s.wrapper.transform('translate3d(' + translateX + 'px, ' + translateY + 'px,0)');\n };\n s.onTouchEnd = function (e) {\n if (s.params.onTouchEnd) s.params.onTouchEnd(s, e);\n var touchEndTime = Date.now();\n var timeDiff = touchEndTime - touchStartTime;\n if (isFormElement(s.touchedTarget)) hasFocused = true;\n if (document.activeElement && document.activeElement !== s.touchedTarget && isFormElement(document.activeElement)) {\n document.activeElement.blur();\n hasBlured = true;\n }\n if (s.allowClick) {\n if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n clickTimeout = setTimeout(function () {\n if (!s) return;\n if (s.params.paginationHide && s.paginationContainer && !hasBlured && !hasFocused) {\n s.paginationContainer.toggleClass('slider-pagination-hidden');\n }\n if (s.params.onClick) s.params.onClick(s, e);\n }, 300);\n \n }\n if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n if (s.params.onDoubleTap) {\n s.params.onDoubleTap(s, e);\n }\n }\n if (s.params.onTap) s.params.onTap(s, e);\n }\n \n lastClickTime = Date.now();\n \n if (!isTouched || !isMoved) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n var touchesDiff = isH ? (touchesCurrent.x - touchesStart.x) * inverter : touchesCurrent.y - touchesStart.y;\n \n //Release links clicks\n if (Math.abs(touchesDiff) < 5 && (timeDiff) < 300 && s.allowClick === false) {\n s.allowClick = true;\n }\n setTimeout(function () {\n if (!s) return;\n s.allowClick = true;\n }, 100);\n \n var continueAutoplay = s.params.autoplay && autoplay && !s.params.autoplayDisableOnInteraction;\n \n if (touchesDiff === 0) {\n if (continueAutoplay) {\n s.startAutoplay();\n }\n return;\n }\n var skipSlides = 1;\n var slideSize = s.size / s.params.slidesPerView;\n if (s.params.slidesPerView > 1) {\n skipSlides = Math.abs((Math.abs(touchesDiff) + slideSize / 2) / slideSize);\n }\n if (continueAutoplay) {\n s.wrapper.transitionEnd(function () {\n s.startAutoplay();\n });\n }\n \n if (timeDiff > 300) {\n // Long touches\n if (touchesDiff <= -slideSize / 2) {\n s.slideTo(s.activeSlideIndex + Math.floor(skipSlides));\n }\n else if (touchesDiff > slideSize / 2) {\n s.slideTo(s.activeSlideIndex - Math.floor(skipSlides));\n }\n else {\n s.slideReset();\n }\n }\n else {\n if (Math.abs(touchesDiff) < 10) {\n s.slideReset();\n }\n else {\n if (touchesDiff < 0) {\n s.slideTo(s.activeSlideIndex + Math.round(skipSlides));\n }\n else {\n s.slideTo(s.activeSlideIndex - Math.round(skipSlides));\n }\n }\n \n }\n };\n \n s.slideTo = function (index, speed, runCallbacks) {\n if (typeof index === 'undefined') index = 0;\n if (index > s.slides.length - s.params.slidesPerView) index = s.slides.length - s.params.slidesPerView;\n if (index < 0) index = 0;\n \n var translate = - (s.size + s.params.spaceBetween) * index / s.params.slidesPerView;\n \n if (typeof speed === 'undefined') speed = s.params.speed;\n s.previousSlideIndex = s.activeSlideIndex;\n s.activeSlideIndex = Math.round(index);\n s.isFirst = s.isBeginning = s.activeSlideIndex === 0;\n s.isLast = s.isEnd = s.activeSlideIndex === s.slides.length - s.params.slidesPerView;\n s.onTransitionStart();\n var translateX = isH ? translate * inverter : 0, translateY = isH ? 0 : translate;\n if (speed === 0) {\n s.wrapper\n .transition(0)\n .transform('translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n if (runCallbacks !== false) s.onTransitionEnd();\n }\n else {\n s.animating = true;\n s.wrapper\n .transition(speed)\n .transform('translate3d(' + translateX + 'px,' + translateY + 'px,0)')\n .transitionEnd(function () {\n if (runCallbacks !== false) s.onTransitionEnd();\n });\n }\n };\n s.updateClasses = function () {\n s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass);\n var activeSlide = s.slides.eq(s.activeSlideIndex);\n activeSlide.addClass(s.params.slideActiveClass);\n activeSlide.next().addClass(s.params.slideNextClass);\n activeSlide.prev().addClass(s.params.slidePrevClass);\n \n if (s.bullets && s.bullets.length > 0) {\n s.bullets.removeClass(s.params.bulletActiveClass);\n var activeBulletIndex = s.activeSlideIndex;\n if (s.params.loop) {\n activeBulletIndex = activeBulletIndex - s.loopedSlides;\n if (activeBulletIndex < 0) activeBulletIndex = s.bullets.length + activeBulletIndex;\n if (activeBulletIndex >= s.bullets.length) activeBulletIndex = activeBulletIndex - s.bullets.length;\n }\n \n s.bullets.eq(activeBulletIndex).addClass(s.params.bulletActiveClass);\n }\n };\n s.onTransitionStart = function () {\n s.updateClasses();\n if (s.activeSlideIndex !== s.previousSlideIndex) {\n if (s.params.onSlideChangeStart) s.params.onSlideChangeStart(s);\n }\n if (s.params.onTransitionStart) s.params.onTransitionStart(s);\n };\n s.onTransitionEnd = function () {\n s.animating = false;\n s.wrapper.transition(0);\n if (s.activeSlideIndex !== s.previousSlideIndex) {\n if (s.params.onSlideChangeEnd) s.params.onSlideChangeEnd(s);\n }\n if (s.params.onTransitionEnd) s.params.onTransitionEnd(s);\n };\n s.slideNext = function () {\n if (s.params.loop) {\n if (s.animating) return;\n s.fixLoop();\n setTimeout(function () {\n s.slideTo(s.activeSlideIndex + 1);\n }, 0);\n }\n else s.slideTo(s.activeSlideIndex + 1);\n };\n s.slidePrev = function () {\n if (s.params.loop) {\n if (s.animating) return;\n s.fixLoop();\n setTimeout(function () {\n s.slideTo(s.activeSlideIndex - 1);\n }, 0);\n }\n else s.slideTo(s.activeSlideIndex - 1);\n };\n s.slideReset = function () {\n s.slideTo(s.activeSlideIndex);\n };\n \n // Clicks\n s.onClickNext = function (e) {\n e.preventDefault();\n s.slideNext();\n };\n s.onClickPrev = function (e) {\n e.preventDefault();\n s.slidePrev();\n };\n s.onClickIndex = function (e) {\n e.preventDefault();\n s.slideTo($(this).index());\n };\n \n // Autoplay\n var autoplayTimeout;\n var autoplay;\n s.startAutoplay = function () {\n if (!s.params.autoplay) return;\n autoplay = true;\n if (autoplayTimeout) clearTimeout(autoplayTimeout);\n autoplayTimeout = setTimeout(function () {\n s.wrapper.transitionEnd(function () {\n s.startAutoplay();\n });\n if (s.params.loop) {\n s.slideNext();\n }\n else {\n var index = s.activeSlideIndex + 1;\n if (index > s.slides.length - s.params.slidesPerView) index = 0;\n s.slideTo(index);\n }\n }, s.params.autoplay);\n };\n s.stopAutoplay = function () {\n autoplay = false;\n if (autoplayTimeout) clearTimeout(autoplayTimeout);\n };\n s.resetAutoplay = function () {\n s.stopAutoplay();\n s.startAutoplay();\n };\n \n // Create looped slides\n s.createLoop = function () {\n // Remove duplicated slides\n s.wrapper.children('.' + s.params.slideClass+'.slider-slide-duplicate').remove();\n \n var slides = s.wrapper.children('.' + s.params.slideClass);\n s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10);\n if (s.loopedSlides > slides.length) {\n s.loopedSlides = slides.length;\n return;\n }\n var prependSlides = [], appendSlides = [], i;\n slides.each(function (index, el) {\n var slide = $(this);\n if (index < s.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el);\n slide.attr('data-slider-slide-index', index);\n });\n for (i = 0; i < appendSlides.length; i++) {\n s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass('slider-slide-duplicate'));\n }\n for (i = prependSlides.length - 1; i >= 0; i--) {\n s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass('slider-slide-duplicate'));\n }\n };\n s.fixLoop = function () {\n var newIndex;\n //Fix For Negative Oversliding\n if (s.activeSlideIndex < s.loopedSlides) {\n newIndex = s.slides.length - s.loopedSlides * 3 + s.activeSlideIndex;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false);\n }\n //Fix For Positive Oversliding\n else if (s.activeSlideIndex > s.slides.length - s.params.slidesPerView * 2) {\n newIndex = -s.slides.length + s.activeSlideIndex + s.loopedSlides;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false);\n }\n };\n \n // init\n s.init = function () {\n if (s.params.loop) s.createLoop();\n s.updateSlides();\n s.updatePagination();\n s.updateSize();\n if (s.params.loop) {\n s.slideTo(s.params.initialSlide + s.loopedSlides, 0, false);\n }\n else if (s.params.initialSlide > 0) s.slideTo(s.params.initialSlide, 0, false);\n else s.updateClasses();\n s.attachEvents();\n if (s.params.autoplay) s.startAutoplay();\n if (typeof s.params.onInit === 'function') {\n \t s.params.onInit();\n }\n };\n s.update = function () {\n if (s.params.loop) s.createLoop();\n s.updateSlides();\n s.updatePagination();\n s.updateSize();\n s.updateClasses();\n };\n \n // Destroy\n s.destroy = function () {\n s.detachEvents();\n if (s.params.onDestroy) s.params.onDestroy();\n s = undefined;\n };\n \n s.init();\n \n return s;\n };\n app.slider = function (container, params) {\n return new Slider(container, params);\n };\n app.initSlider = function (pageContainer) {\n var page = $(pageContainer);\n var sliders = page.find('.slider-init');\n if (sliders.length === 0) return;\n function destroySliderOnRemove(slider) {\n function destroySlider() {\n slider.destroy();\n page.off('pageBeforeRemove', destroySlider);\n }\n page.on('pageBeforeRemove', destroySlider);\n }\n for (var i = 0; i < sliders.length; i++) {\n var slider = sliders.eq(i);\n var params;\n if (slider.data('slider')) {\n params = JSON.parse(slider.data('slider'));\n }\n else {\n params = {\n initialSlide: parseInt(slider.data('initialSlide'), 10) || undefined,\n spaceBetween: parseInt(slider.data('spaceBetween'), 10) || undefined,\n speed: parseInt(slider.data('speed'), 10) || undefined,\n slidesPerView: parseInt(slider.data('slidesPerView'), 10) || undefined,\n direction: slider.data('direction'),\n pagination: slider.data('pagination'),\n paginationHide: slider.data('paginationHide') && (slider.data('paginationHide') === 'true' ? true : false),\n loop: slider.data('loop') && (slider.data('loop') === 'true' ? true : false),\n onlyExternal: slider.data('onlyExternal') && (slider.data('onlyExternal') === 'true' ? true : false),\n slideClass: slider.data('slideClass'),\n slideActiveClass: slider.data('slideActiveClass'),\n slideNextClass: slider.data('slideNextClass'),\n slidePrevClass: slider.data('slidePrevClass'),\n wrapperClass: slider.data('wrapperClass'),\n bulletClass: slider.data('bulletClass'),\n bulletActiveClass: slider.data('bulletActiveClass'),\n nextButton: slider.data('nextButton'),\n prevButton: slider.data('prevButton'),\n indexButton: slider.data('indexButton'),\n autoplay: slider.data('autoplay')\n };\n }\n var _slider = app.slider(slider[0], params);\n destroySliderOnRemove(_slider);\n }\n };\n app.reinitSlider = function (pageContainer) {\n var page = $(pageContainer);\n var sliders = page.find('.slider-init');\n if (sliders.length === 0) return;\n for (var i = 0; i < sliders.length; i++) {\n var sliderInstance = sliders[0].f7Slider;\n if (sliderInstance) {\n sliderInstance.onResize();\n }\n }\n };\n "," /*======================================================\n ************ Photo Browser ************\n ======================================================*/\n var PhotoBrowser = function (params) {\n var pb = this, i;\n \n var defaults = {\n photos : [],\n initialSlide: 0,\n spaceBetween: 20,\n speed: 300,\n zoom: true,\n maxZoom: 3,\n minZoom: 1,\n exposition: true,\n expositionHideCaptions: false,\n type: 'standalone',\n navbar: true,\n toolbar: true,\n theme: 'light',\n swipeToClose: true,\n backLinkText: 'Close',\n ofText: 'of',\n loop: false,\n lazyLoading: false,\n lazyLoadingInPrevNext: false,\n lazyLoadingOnTransitionStart: false\n };\n \n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n pb.params = params;\n \n var iconColor = pb.params.theme === 'dark' ? 'color-white' : '';\n \n var navbarTemplate = pb.params.navbarTemplate ||\n '<div class=\"navbar\">' +\n '<div class=\"navbar-inner\">' +\n '<div class=\"left sliding\"><a href=\"#\" class=\"link ' + (pb.params.type === 'page' && 'back') + ' close-popup photo-browser-close-link\" data-popup=\".photo-browser-popup\"><i class=\"icon icon-back ' + iconColor + '\"></i><span>' + pb.params.backLinkText + '</span></a></div>' +\n '<div class=\"center sliding\"><span class=\"photo-browser-current\"></span> <span class=\"photo-browser-of\">' + pb.params.ofText + '</span> <span class=\"photo-browser-total\"></span></div>' +\n '<div class=\"right\"></div>' +\n '</div>' +\n '</div>';\n var prevIconClassName = app.rtl ? 'next' : 'prev';\n var nextIconClassName = app.rtl ? 'prev' : 'next';\n var toolbarTemplate = pb.params.toolbarTemplate ||\n '<div class=\"toolbar tabbar\">' +\n '<div class=\"toolbar-inner\">' +\n '<a href=\"#\" class=\"link photo-browser-prev\"><i class=\"icon icon-' + prevIconClassName + ' ' + iconColor + '\"></i></a>' +\n '<a href=\"#\" class=\"link photo-browser-next\"><i class=\"icon icon-' + nextIconClassName + ' ' + iconColor + '\"></i></a>' +\n '</div>' +\n '</div>';\n \n var template = pb.params.template ||\n '<div class=\"photo-browser photo-browser-' + pb.params.theme + '\">' +\n '<div class=\"view navbar-fixed toolbar-fixed\">' +\n '{{navbar}}' +\n '<div data-page=\"photo-browser-slides\" class=\"page no-toolbar {{noNavbar}} toolbar-fixed navbar-fixed\">' +\n '{{toolbar}}' +\n '{{captions}}' +\n '<div class=\"photo-browser-slider-container slider-container\">' +\n '<div class=\"photo-browser-slider-wrapper slider-wrapper\">' +\n '{{photos}}' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>' +\n '</div>';\n \n var photoTemplate = !pb.params.lazyLoading ? \n (pb.params.photoTemplate || '<div class=\"photo-browser-slide slider-slide\"><span class=\"photo-browser-zoom-container\"><img src=\"{{url}}\"></span></div>') : \n (pb.params.photoLazyTemplate || '<div class=\"photo-browser-slide photo-browser-slide-lazy slider-slide\"><div class=\"preloader' + (pb.params.theme === 'dark' ? ' preloader-white' : '') + '\"></div><span class=\"photo-browser-zoom-container\"><img data-src=\"{{url}}\"></span></div>');\n \n var captionsTheme = pb.params.captionsTheme || pb.params.theme;\n var captionsTemplate = pb.params.captionsTemplate || '<div class=\"photo-browser-captions photo-browser-captions-' + captionsTheme + '\">{{captions}}</div>';\n var captionTemplate = pb.params.captionTemplate || '<div class=\"photo-browser-caption\" data-caption-index=\"{{captionIndex}}\">{{caption}}</div>';\n \n var objectTemplate = pb.params.objectTemplate || '<div class=\"photo-browser-slide photo-browser-object-slide slider-slide\">{{html}}</div>';\n var photosHtml = '';\n var captionsHtml = '';\n for (i = 0; i < pb.params.photos.length; i ++) {\n var photo = pb.params.photos[i];\n var thisTemplate = '';\n \n //check if photo is a string or string-like object, for backwards compatibility \n if (typeof(photo) === 'string' || photo instanceof String) {\n \n //check if \"photo\" is html object\n if (photo.indexOf('<') >= 0 || photo.indexOf('>') >= 0) {\n thisTemplate = objectTemplate.replace(/{{html}}/g, photo);\n } else {\n thisTemplate = photoTemplate.replace(/{{url}}/g, photo);\n }\n \n //photo is a string, thus has no caption, so remove the caption template placeholder\n //otherwise check if photo is an object with a url property\n } else if (typeof(photo) === 'object') {\n \n //check if \"photo\" is html object\n if (photo.hasOwnProperty('html') && photo.html.length > 0) {\n thisTemplate = objectTemplate.replace(/{{html}}/g, photo.html);\n } else if (photo.hasOwnProperty('url') && photo.url.length > 0) {\n thisTemplate = photoTemplate.replace(/{{url}}/g, photo.url);\n }\n \n //check if photo has a caption\n if (photo.hasOwnProperty('caption') && photo.caption.length > 0) {\n captionsHtml += captionTemplate.replace(/{{caption}}/g, photo.caption).replace(/{{captionIndex}}/g, i);\n } else {\n thisTemplate = thisTemplate.replace(/{{caption}}/g, '');\n }\n }\n \n photosHtml += thisTemplate;\n \n }\n \n var htmlTemplate = template\n .replace('{{navbar}}', (pb.params.navbar ? navbarTemplate : ''))\n .replace('{{noNavbar}}', (pb.params.navbar ? '' : 'no-navbar'))\n .replace('{{photos}}', photosHtml)\n .replace('{{captions}}', captionsTemplate.replace(/{{captions}}/g, captionsHtml))\n .replace('{{toolbar}}', (pb.params.toolbar ? toolbarTemplate : ''));\n \n pb.activeSlideIndex = pb.params.initialSlide;\n pb.openIndex = pb.activeSlideIndex;\n pb.opened = false;\n \n pb.open = function (index) {\n if (typeof index === 'undefined') index = pb.activeSlideIndex;\n index = parseInt(index, 10);\n if (pb.opened && pb.slider) {\n pb.slider.slideTo(index);\n return;\n }\n pb.opened = true;\n pb.openIndex = index;\n pb.initialLazyLoaded = false;\n if (pb.params.type === 'standalone') {\n $('body').append(htmlTemplate);\n }\n if (pb.params.type === 'popup') {\n pb.popup = app.popup('<div class=\"popup photo-browser-popup\">' + htmlTemplate + '</div>');\n $(pb.popup).on('closed', pb.onPopupClose);\n }\n if (pb.params.type === 'page') {\n $(document).on('pageBeforeInit', pb.onPageBeforeInit);\n $(document).on('pageBeforeRemove', pb.onPageBeforeRemove);\n if (!pb.params.view) pb.params.view = app.mainView;\n pb.params.view.loadContent(htmlTemplate);\n return;\n }\n pb.layout(pb.openIndex);\n if (pb.params.onOpen) {\n pb.params.onOpen(pb);\n }\n \n };\n pb.close = function () {\n pb.opened = false;\n if (!pb.sliderContainer || pb.sliderContainer.length === 0) {\n return;\n }\n if (pb.params.onClose) {\n pb.params.onClose(pb);\n }\n // Detach events\n pb.attachEvents(true);\n // Delete from DOM\n if (pb.params.type === 'standalone') {\n pb.container.removeClass('photo-browser-in').addClass('photo-browser-out').animationEnd(function () {\n pb.container.remove();\n });\n }\n // Destroy slider\n pb.slider.destroy();\n // Delete references\n pb.slider = pb.sliderContainer = pb.sliderWrapper = pb.slides = gestureSlide = gestureImg = gestureImgWrap = undefined;\n };\n \n pb.onPopupClose = function (e) {\n pb.close();\n $(pb.popup).off('pageBeforeInit', pb.onPopupClose);\n };\n pb.onPageBeforeInit = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.layout(pb.openIndex);\n }\n $(document).off('pageBeforeInit', pb.onPageBeforeInit);\n };\n pb.onPageBeforeRemove = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.close();\n }\n $(document).off('pageBeforeRemove', pb.onPageBeforeRemove);\n };\n \n pb.loadImageInSlide = function (slider, index) {\n if (!slider || typeof index === 'undefined') return;\n if (slider.slides.length === 0) return;\n \n var slide = slider.slides.eq(index);\n if (!slide.hasClass('photo-browser-slide-lazy')) return;\n \n var img = slide.find('img');\n if (img.length === 0) return;\n \n var image = new Image();\n var src = img.attr('data-src');\n \n image.onload = function () {\n img.attr('src', src);\n img.removeAttr('data-src');\n slide.removeClass('photo-browser-slide-lazy').find('.preloader').remove();\n if (pb.params.onImageLoaded) {\n pb.params.onImageLoaded(pb, slide[0], img[0]);\n }\n };\n image.src = src;\n \n if (pb.params.onImageLoad) {\n pb.params.onImageLoad(pb, slide[0], img[0]);\n }\n };\n \n pb.lazyLoading = function (slider, activeIndex) {\n pb.loadImageInSlide(slider, activeIndex);\n if (pb.params.lazyLoadingInPrevNext) {\n var nextSlide = slider.wrapper.find('.slider-slide-next.photo-browser-slide-lazy');\n if (nextSlide.length > 0) pb.loadImageInSlide(slider, nextSlide.index());\n \n var prevSlide = slider.wrapper.find('.slider-slide-prev.photo-browser-slide-lazy');\n if (prevSlide.length > 0) pb.loadImageInSlide(slider, prevSlide.index());\n }\n };\n \n pb.onSliderTransitionStart = function (slider) {\n pb.activeSlideIndex = slider.activeSlideIndex;\n \n var current = slider.activeSlideIndex + 1;\n var total = slider.slides.length;\n if (pb.params.loop) {\n total = total - 2;\n current = current - slider.loopedSlides;\n if (current < 1) current = total + current;\n if (current > total) current = current - total;\n }\n pb.container.find('.photo-browser-current').text(current);\n pb.container.find('.photo-browser-total').text(total);\n \n $('.photo-browser-prev, .photo-browser-next').removeClass('photo-browser-link-inactive');\n \n if (slider.isFirst && !pb.params.loop) {\n $('.photo-browser-prev').addClass('photo-browser-link-inactive');\n }\n if (slider.isLast && !pb.params.loop) {\n $('.photo-browser-next').addClass('photo-browser-link-inactive');\n }\n \n // Update captions\n if (pb.captions.length > 0) {\n pb.captionsContainer.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active');\n var captionIndex = pb.params.loop ? slider.slides.eq(slider.activeSlideIndex).attr('data-slider-slide-index') : pb.activeSlideIndex;\n pb.captionsContainer.find('[data-caption-index=\"' + captionIndex + '\"]').addClass('photo-browser-caption-active');\n }\n \n // Lazy loading\n if (pb.params.lazyLoading){\n if (pb.params.lazyLoadingOnTransitionStart || (!pb.params.lazyLoadingOnTransitionStart && !pb.initialLazyLoaded)) {\n pb.initialLazyLoaded = true;\n pb.lazyLoading(slider, pb.activeSlideIndex);\n }\n }\n \n // Stop Video\n var previousSlideVideo = slider.slides.eq(slider.previousSlideIndex).find('video');\n if (previousSlideVideo.length > 0) {\n if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause();\n }\n // Callback\n if (pb.params.onSlideChangeStart) pb.params.onSlideChangeStart(slider);\n };\n pb.onSliderTransitionEnd = function (slider) {\n if (pb.params.lazyLoading && !pb.params.lazyLoadingOnTransitionStart) {\n pb.lazyLoading(slider, pb.activeSlideIndex);\n }\n // Reset zoom\n if (pb.params.zoom && gestureSlide && slider.previousSlideIndex !== slider.activeSlideIndex) {\n gestureImg.transform('translate3d(0,0,0) scale(1)');\n gestureImgWrap.transform('translate3d(0,0,0)');\n gestureSlide = gestureImg = gestureImgWrap = undefined;\n scale = currentScale = 1;\n }\n if (pb.params.onSlideChangeEnd) pb.params.onSlideChangeEnd(slider);\n };\n \n pb.layout = function (index) {\n if (pb.params.type === 'page') {\n pb.container = $('.photo-browser-slider-container').parents('.view');\n }\n else {\n pb.container = $('.photo-browser');\n }\n if (pb.params.type === 'standalone') {\n pb.container.addClass('photo-browser-in');\n app.sizeNavbars(pb.container);\n }\n pb.sliderContainer = pb.container.find('.photo-browser-slider-container');\n pb.sliderWrapper = pb.container.find('.photo-browser-slider-wrapper');\n pb.slides = pb.container.find('.photo-browser-slide');\n pb.captionsContainer = pb.container.find('.photo-browser-captions');\n pb.captions = pb.container.find('.photo-browser-caption');\n \n var sliderSettings = {\n nextButton: pb.params.nextButton || '.photo-browser-next',\n prevButton: pb.params.prevButton || '.photo-browser-prev',\n indexButton: pb.params.indexButton,\n initialSlide: index,\n spaceBetween: pb.params.spaceBetween,\n speed: pb.params.speed,\n loop: pb.params.loop,\n onTap: function (slider, e) {\n if (pb.params.onTap) pb.params.onTap(slider, e);\n },\n onClick: function (slider, e) {\n if (pb.params.exposition) pb.toggleExposition();\n if (pb.params.onClick) pb.params.onClick(slider, e);\n },\n onDoubleTap: function (slider, e) {\n pb.toggleZoom($(e.target).parents('.photo-browser-slide'));\n if (pb.params.onDoubleTap) pb.params.onDoubleTap(slider, e);\n },\n onTransitionStart: function (slider) {\n pb.onSliderTransitionStart(slider);\n },\n onTransitionEnd: function (slider) {\n pb.onSliderTransitionEnd(slider); \n }\n };\n \n if (pb.params.swipeToClose && pb.params.type !== 'page') {\n sliderSettings.onTouchStart = pb.swipeCloseTouchStart;\n sliderSettings.onOppositeTouchMove = pb.swipeCloseTouchMove;\n sliderSettings.onTouchEnd = pb.swipeCloseTouchEnd;\n }\n \n pb.slider = app.slider(pb.sliderContainer, sliderSettings);\n if (index === 0) {\n pb.onSliderTransitionStart(pb.slider);\n }\n pb.attachEvents();\n };\n pb.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n // Slide between photos\n \n if (pb.params.zoom) {\n var target = pb.params.loop ? pb.slider.slides : pb.slides;\n // Scale image\n target[action]('gesturestart', pb.onSlideGestureStart);\n target[action]('gesturechange', pb.onSlideGestureChange);\n target[action]('gestureend', pb.onSlideGestureEnd);\n \n // Move image\n target[action](app.touchEvents.start, pb.onSlideTouchStart);\n target[action](app.touchEvents.move, pb.onSlideTouchMove);\n target[action](app.touchEvents.end, pb.onSlideTouchEnd);\n }\n pb.container.find('.photo-browser-close-link')[action]('click', pb.close);\n };\n \n var isTouched, isMoved, touchesStart = {}, touchesCurrent = {}, touchStartTime, isScrolling, animating = false, currentTranslate;\n var allowClick = true;\n \n // Expose\n pb.exposed = false;\n pb.toggleExposition = function () {\n if (pb.container) pb.container.toggleClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.toggleClass('photo-browser-captions-exposed');\n pb.exposed = !pb.exposed;\n };\n pb.enableExposition = function () {\n if (pb.container) pb.container.addClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.addClass('photo-browser-captions-exposed');\n pb.exposed = true;\n };\n pb.disableExposition = function () {\n if (pb.container) pb.container.removeClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.removeClass('photo-browser-captions-exposed');\n pb.exposed = false;\n };\n \n // Gestures\n var gestureSlide, gestureImg, gestureImgWrap, scale = 1, currentScale = 1, isScaling = false;\n pb.onSlideGestureStart = function (e) {\n if (!gestureSlide) {\n gestureSlide = $(this);\n gestureImg = gestureSlide.find('img, svg, canvas');\n gestureImgWrap = gestureImg.parent('.photo-browser-zoom-container');\n if (gestureImgWrap.length === 0) {\n gestureImg = undefined;\n return;\n }\n }\n gestureImg.transition(0);\n isScaling = true;\n };\n pb.onSlideGestureChange = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n scale = e.scale * currentScale;\n if (scale > pb.params.maxZoom) {\n scale = pb.params.maxZoom - 1 + Math.pow((scale - pb.params.maxZoom + 1), 0.5);\n }\n if (scale < pb.params.minZoom) {\n scale = pb.params.minZoom + 1 - Math.pow((pb.params.minZoom - scale + 1), 0.5);\n }\n gestureImg.transform('translate3d(0,0,0) scale(' + scale + ')');\n };\n pb.onSlideGestureEnd = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n scale = Math.max(Math.min(scale, pb.params.maxZoom), pb.params.minZoom);\n gestureImg.transition(pb.params.speed).transform('translate3d(0,0,0) scale(' + scale + ')');\n currentScale = scale;\n isScaling = false;\n if (scale === 1) gestureSlide = undefined;\n };\n pb.toggleZoom = function () {\n if (!gestureSlide) {\n gestureSlide = pb.slider.slides.eq(pb.slider.activeSlideIndex);\n gestureImg = gestureSlide.find('img, svg, canvas');\n gestureImgWrap = gestureImg.parent('.photo-browser-zoom-container');\n }\n if (!gestureImg || gestureImg.length === 0) return;\n gestureImgWrap.transition(300).transform('translate3d(0,0,0)');\n if (scale && scale !== 1) {\n scale = currentScale = 1;\n gestureImg.transition(300).transform('translate3d(0,0,0) scale(1)');\n gestureSlide = undefined;\n }\n else {\n scale = currentScale = pb.params.maxZoom;\n gestureImg.transition(300).transform('translate3d(0,0,0) scale(' + scale + ')');\n }\n };\n \n var imageIsTouched, imageIsMoved, imageCurrentX, imageCurrentY, imageMinX, imageMinY, imageMaxX, imageMaxY, imageWidth, imageHeight, imageTouchesStart = {}, imageTouchesCurrent = {}, imageStartX, imageStartY, velocityPrevPositionX, velocityPrevTime, velocityX, velocityPrevPositionY, velocityY;\n \n pb.onSlideTouchStart = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n if (imageIsTouched) return;\n if (app.device.os === 'android') e.preventDefault();\n imageIsTouched = true;\n imageTouchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n imageTouchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n };\n pb.onSlideTouchMove = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n pb.slider.allowClick = false;\n if (!imageIsTouched || !gestureSlide) return;\n \n if (!imageIsMoved) {\n imageWidth = gestureImg[0].offsetWidth;\n imageHeight = gestureImg[0].offsetHeight;\n imageStartX = $.getTranslate(gestureImgWrap[0], 'x') || 0;\n imageStartY = $.getTranslate(gestureImgWrap[0], 'y') || 0;\n gestureImgWrap.transition(0);\n }\n // Define if we need image drag\n var scaledWidth = imageWidth * scale;\n var scaledHeight = imageHeight * scale;\n \n if (scaledWidth < pb.slider.width && scaledHeight < pb.slider.height) return;\n \n imageMinX = Math.min((pb.slider.width / 2 - scaledWidth / 2), 0);\n imageMaxX = -imageMinX;\n imageMinY = Math.min((pb.slider.height / 2 - scaledHeight / 2), 0);\n imageMaxY = -imageMinY;\n \n imageTouchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n imageTouchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (!imageIsMoved && !isScaling) {\n if (\n (Math.floor(imageMinX) === Math.floor(imageStartX) && imageTouchesCurrent.x < imageTouchesStart.x) ||\n (Math.floor(imageMaxX) === Math.floor(imageStartX) && imageTouchesCurrent.x > imageTouchesStart.x)\n ) {\n imageIsTouched = false;\n return;\n }\n }\n e.stopPropagation();\n imageIsMoved = true;\n imageCurrentX = imageTouchesCurrent.x - imageTouchesStart.x + imageStartX;\n imageCurrentY = imageTouchesCurrent.y - imageTouchesStart.y + imageStartY;\n \n if (imageCurrentX < imageMinX) {\n imageCurrentX = imageMinX + 1 - Math.pow((imageMinX - imageCurrentX + 1), 0.8);\n }\n if (imageCurrentX > imageMaxX) {\n imageCurrentX = imageMaxX - 1 + Math.pow((imageCurrentX - imageMaxX + 1), 0.8);\n }\n \n if (imageCurrentY < imageMinY) {\n imageCurrentY = imageMinY + 1 - Math.pow((imageMinY - imageCurrentY + 1), 0.8);\n }\n if (imageCurrentY > imageMaxY) {\n imageCurrentY = imageMaxY - 1 + Math.pow((imageCurrentY - imageMaxY + 1), 0.8);\n }\n \n //Velocity\n if (!velocityPrevPositionX) velocityPrevPositionX = imageTouchesCurrent.x;\n if (!velocityPrevPositionY) velocityPrevPositionY = imageTouchesCurrent.y;\n if (!velocityPrevTime) velocityPrevTime = Date.now();\n velocityX = (imageTouchesCurrent.x - velocityPrevPositionX) / (Date.now() - velocityPrevTime) / 2;\n velocityY = (imageTouchesCurrent.y - velocityPrevPositionY) / (Date.now() - velocityPrevTime) / 2;\n if (Math.abs(imageTouchesCurrent.x - velocityPrevPositionX) < 2) velocityX = 0;\n if (Math.abs(imageTouchesCurrent.y - velocityPrevPositionY) < 2) velocityY = 0;\n velocityPrevPositionX = imageTouchesCurrent.x;\n velocityPrevPositionY = imageTouchesCurrent.y;\n velocityPrevTime = Date.now();\n \n gestureImgWrap.transform('translate3d(' + imageCurrentX + 'px, ' + imageCurrentY + 'px,0)');\n };\n pb.onSlideTouchEnd = function (e) {\n if (!gestureImg || gestureImg.length === 0) return;\n if (!imageIsTouched || !imageIsMoved) {\n imageIsTouched = false;\n imageIsMoved = false;\n return;\n }\n imageIsTouched = false;\n imageIsMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocityX * momentumDurationX;\n var newPositionX = imageCurrentX + momentumDistanceX;\n var momentumDistanceY = velocityY * momentumDurationY;\n var newPositionY = imageCurrentY + momentumDistanceY;\n \n //Fix duration\n if (velocityX !== 0) momentumDurationX = Math.abs((newPositionX - imageCurrentX) / velocityX);\n if (velocityY !== 0) momentumDurationY = Math.abs((newPositionY - imageCurrentY) / velocityY);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n \n imageCurrentX = newPositionX;\n imageCurrentY = newPositionY;\n \n // Define if we need image drag\n var scaledWidth = imageWidth * scale;\n var scaledHeight = imageHeight * scale;\n imageMinX = Math.min((pb.slider.width / 2 - scaledWidth / 2), 0);\n imageMaxX = -imageMinX;\n imageMinY = Math.min((pb.slider.height / 2 - scaledHeight / 2), 0);\n imageMaxY = -imageMinY;\n imageCurrentX = Math.max(Math.min(imageCurrentX, imageMaxX), imageMinX);\n imageCurrentY = Math.max(Math.min(imageCurrentY, imageMaxY), imageMinY);\n \n gestureImgWrap.transition(momentumDuration).transform('translate3d(' + imageCurrentX + 'px, ' + imageCurrentY + 'px,0)');\n };\n \n // Swipe Up To Close\n var swipeToCloseIsTouched = false;\n var allowSwipeToClose = true;\n var swipeToCloseDiff, swipeToCloseStart, swipeToCloseCurrent, swipeToCloseStarted = false, swipeToCloseActiveSlide, swipeToCloseTimeStart;\n pb.swipeCloseTouchStart = function (slider, e) {\n if (!allowSwipeToClose) return;\n swipeToCloseIsTouched = true;\n };\n pb.swipeCloseTouchMove = function (slider, e) {\n if (!swipeToCloseIsTouched) return;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = true;\n swipeToCloseStart = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseActiveSlide = pb.slider.slides.eq(pb.slider.activeSlideIndex);\n swipeToCloseTimeStart = (new Date()).getTime();\n }\n e.preventDefault();\n swipeToCloseCurrent = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseDiff = swipeToCloseStart - swipeToCloseCurrent;\n var opacity = 1 - Math.abs(swipeToCloseDiff) / 300;\n swipeToCloseActiveSlide.transform('translate3d(0,' + (-swipeToCloseDiff) + 'px,0)');\n pb.slider.container.css('opacity', opacity).transition(0);\n };\n pb.swipeCloseTouchEnd = function (slider, e) {\n swipeToCloseIsTouched = false;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = false;\n return;\n }\n swipeToCloseStarted = false;\n allowSwipeToClose = false;\n var diff = Math.abs(swipeToCloseDiff);\n var timeDiff = (new Date()).getTime() - swipeToCloseTimeStart;\n if ((timeDiff < 300 && diff > 20) || (timeDiff >= 300 && diff > 100)) {\n setTimeout(function () {\n if (pb.params.type === 'standalone') {\n pb.close();\n }\n if (pb.params.type === 'popup') {\n app.closeModal(pb.popup);\n }\n if (pb.params.onSwipeToClose) {\n pb.params.onSwipeToClose(pb);\n }\n allowSwipeToClose = true;\n }, 0);\n return;\n }\n if (diff !== 0) {\n swipeToCloseActiveSlide.addClass('transitioning').transitionEnd(function () {\n allowSwipeToClose = true;\n swipeToCloseActiveSlide.removeClass('transitioning');\n });\n }\n else {\n allowSwipeToClose = true;\n }\n pb.slider.container.css('opacity', '').transition('');\n swipeToCloseActiveSlide.transform('');\n };\n \n return pb;\n };\n \n app.photoBrowser = function (params) {\n return new PhotoBrowser(params);\n };\n "," /*======================================================\n ************ Notifications ************\n ======================================================*/\n var _tempNotificationElement;\n app.addNotification = function (params) {\n if (!params) return;\n \n if (typeof params.media === 'undefined') params.media = app.params.notificationMedia;\n if (typeof params.title === 'undefined') params.title = app.params.notificationTitle;\n if (typeof params.subtitle === 'undefined') params.subtitle = app.params.notificationSubtitle;\n if (typeof params.closeIcon === 'undefined') params.closeIcon = app.params.notificationCloseIcon;\n if (typeof params.hold === 'undefined') params.hold = app.params.notificationHold;\n if (typeof params.closeOnClick === 'undefined') params.closeOnClick = app.params.notificationCloseOnClick;\n \n if (!_tempNotificationElement) _tempNotificationElement = document.createElement('div');\n \n var container = $('.notifications');\n if (container.length === 0) {\n $('body').append('<div class=\"notifications list-block media-list\"><ul></ul></div>');\n container = $('.notifications');\n }\n var list = container.children('ul');\n \n var itemHTML;\n if (params.custom) {\n itemHTML = '<li>' + params.custom + '</li>';\n }\n else {\n itemHTML = '<li class=\"notification-item notification-hidden\"><div class=\"item-content\">' +\n (params.media ?\n '<div class=\"item-media\">' +\n params.media +\n '</div>' : '') +\n '<div class=\"item-inner\">' +\n '<div class=\"item-title-row\">' +\n (params.title ? '<div class=\"item-title\">' + params.title + '</div>' : '') +\n (params.closeIcon ? '<div class=\"item-after\"><a href=\"#\" class=\"close-notification\"><span></span></a></div>' : '') +\n '</div>' +\n (params.subtitle ? '<div class=\"item-subtitle\">' + params.subtitle + '</div>' : '') +\n (params.message ? '<div class=\"item-text\">' + params.message + '</div>' : '') +\n '</div>' +\n '</div></li>';\n }\n _tempNotificationElement.innerHTML = itemHTML;\n \n var item = $(_tempNotificationElement).children();\n \n item.on('click', function (e) {\n var close = false;\n if ($(e.target).is('.close-notification') || $(e.target).parents('.close-notification').length > 0) {\n close = true;\n }\n else {\n if (params.onClick) params.onClick(e, item[0]);\n if (params.closeOnClick) close = true;\n }\n if (close) app.closeNotification(item[0]);\n });\n if (params.onClose) {\n item.data('f7NotificationOnClose', function () {\n params.onClose(item[0]);\n });\n }\n if (params.additionalClass) {\n item.addClass(params.additionalClass);\n }\n if (params.hold) {\n setTimeout(function () {\n if (item.length > 0) app.closeNotification(item[0]);\n }, params.hold);\n }\n \n list.prepend(item[0]);\n container.show();\n \n var itemHeight = item.outerHeight();\n item.css('marginTop', -itemHeight + 'px');\n item.transition(0);\n \n var clientLeft = item[0].clientLeft;\n item.transition('');\n item.css('marginTop', '0px');\n \n container.transform('translate3d(0, 0,0)');\n item.removeClass('notification-hidden');\n \n return item[0];\n };\n app.closeNotification = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('notification-item-removing')) return;\n var container = $('.notifications');\n \n var itemHeight = item.outerHeight();\n item.css('height', itemHeight + 'px').transition(0);\n var clientLeft = item[0].clientLeft;\n \n item.css('height', '0px').transition('').addClass('notification-item-removing');\n if (item.data('f7NotificationOnClose')) item.data('f7NotificationOnClose')();\n \n if (container.find('.notification-item:not(.notification-item-removing)').length === 0) {\n container.transform('');\n }\n \n item.addClass('notification-hidden').transitionEnd(function () {\n item.remove();\n if (container.find('.notification-item').length === 0) {\n container.hide();\n }\n });\n };"," /*===========================\n Compile Template7 Templates On App Init\n ===========================*/\n app.initTemplate7Templates = function () {\n if (!window.Template7) return;\n Template7.templates = Template7.templates || app.params.templates || {};\n Template7.data = Template7.data || app.params.template7Data || {};\n Template7.cache = Template7.cache || {};\n \n app.templates = Template7.templates;\n app.template7Data = Template7.data;\n app.template7Cache = Template7.cache;\n \n // Precompile templates on app init\n if (!app.params.precompileTemplates) return;\n $('script[type=\"text/template7\"]').each(function () {\n var id = $(this).attr('id');\n if (!id) return;\n Template7.templates[id] = Template7.compile($(this).html());\n });\n };\n "," /*=======================================\n ************ Plugins API ************\n =======================================*/\n var _plugins = [];\n app.initPlugins = function () {\n // Initialize plugins\n for (var plugin in app.plugins) {\n var p = app.plugins[plugin](app, app.params[plugin]);\n if (p) _plugins.push(p);\n }\n };\n // Plugin Hooks\n app.pluginHook = function (hook) {\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].hooks && hook in _plugins[i].hooks) {\n _plugins[i].hooks[hook](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n };\n // Prevented by plugin\n app.pluginPrevent = function (action) {\n var prevent = false;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].prevents && action in _plugins[i].prevents) {\n if (_plugins[i].prevents[action](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])) prevent = true;\n }\n }\n return prevent;\n };\n // Preprocess content by plugin\n app.pluginProcess = function (action, data) {\n var processed = data;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].preprocess && process in _plugins[i].preprocess) {\n processed = _plugins[i].preprocess[process](data, arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);\n }\n }\n return processed;\n };\n \n "," /*======================================================\n ************ App Init ************\n ======================================================*/\n app.init = function () {\n // Init Plugins\n if (app.initPlugins) app.initPlugins();\n \n // Init Device\n if (app.getDeviceInfo) app.getDeviceInfo();\n \n // Init Click events\n if (app.initFastClicks && app.params.fastClicks) app.initFastClicks();\n if (app.initClickEvents) app.initClickEvents();\n \n // Init each page callbacks\n $('.page:not(.cached)').each(function () {\n var pageContainer = $(this);\n var viewContainer = pageContainer.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n var view = viewContainer[0].f7View || false;\n var url = view && view.url ? view.url : false;\n if (viewContainer) {\n viewContainer.attr('data-page', pageContainer.attr('data-page') || undefined);\n }\n app.pageInitCallback(view, {pageContainer: this, url: url, position: 'center'});\n });\n \n // Init resize events\n if (app.initResize) app.initResize();\n \n // Init push state\n if (app.initPushState && app.params.pushState) app.initPushState();\n \n // Init Live Swipeouts events\n if (app.initSwipeout && app.params.swipeout) app.initSwipeout();\n \n // Init Live Sortable events\n if (app.initSortable && app.params.sortable) app.initSortable();\n \n // Init Live Swipe Panels\n if (app.initSwipePanels && (app.params.swipePanel || app.params.swipePanelOnlyClose)) app.initSwipePanels();\n \n // App Init callback\n if (app.params.onAppInit) app.params.onAppInit();\n \n // Compile Template7 templates on app load\n if (app.initTemplate7Templates) app.initTemplate7Templates();\n \n // Plugin app init hook\n app.pluginHook('appInit');\n };\n if (app.params.init) app.init();\n "," //Return instance \n return app;\n };\n "," /*===========================\n Dom7 Library\n ===========================*/\n var Dom7 = (function () {\n var Dom7 = function (arr) {\n var _this = this, i = 0;\n // Create array-like object\n for (i = 0; i < arr.length; i++) {\n _this[i] = arr[i];\n }\n _this.length = arr.length;\n // Return collection with methods\n return this;\n };\n var $ = function (selector, context) {\n var arr = [], i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els, tempParent, html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n tempParent = document.createElement(toCreate);\n tempParent.innerHTML = selector;\n for (i = 0; i < tempParent.childNodes.length; i++) {\n arr.push(tempParent.childNodes[i]);\n }\n }\n else {\n if (!context && selector[0] === '#' && !selector.match(/[ .<>:~]/)) {\n // Pure ID selector\n els = [document.getElementById(selector.split('#')[1])];\n }\n else {\n // Other selectors\n els = (context || document).querySelectorAll(selector);\n }\n for (i = 0; i < els.length; i++) {\n if (els[i]) arr.push(els[i]);\n }\n }\n }\n // Node/element\n else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n }\n //Array of elements or instance of Dom\n else if (selector.length > 0 && selector[0].nodeType) {\n for (i = 0; i < selector.length; i++) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n };"," Dom7.prototype = {\n // Classes and attriutes\n addClass: function (className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n this[j].classList.add(classes[i]);\n }\n }\n return this;\n },\n removeClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n this[j].classList.remove(classes[i]);\n }\n }\n return this;\n },\n hasClass: function (className) {\n if (!this[0]) return false;\n else return this[0].classList.contains(className);\n },\n toggleClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n this[j].classList.toggle(classes[i]);\n }\n }\n return this;\n },\n attr: function (attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n else return undefined;\n }\n else {\n // Set attrs\n for (var i = 0; i < this.length; i++) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n }\n else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n },\n removeAttr: function (attr) {\n for (var i = 0; i < this.length; i++) {\n this[i].removeAttribute(attr);\n }\n },\n prop: function (props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n else return undefined;\n }\n else {\n // Set props\n for (var i = 0; i < this.length; i++) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n }\n else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n },\n data: function (key, value) {\n if (typeof value === 'undefined') {\n // Get value\n if (this[0]) {\n var dataKey = this[0].getAttribute('data-' + key);\n if (dataKey) return dataKey;\n else if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) return this[0].dom7ElementDataStorage[key];\n else return undefined;\n }\n else return undefined;\n }\n else {\n // Set value\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n },\n val: function (value) {\n if (typeof value === 'undefined') {\n if (this[0]) return this[0].value;\n else return null;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].value = value;\n }\n return this;\n }\n },\n // Transforms\n transform : function (transform) {\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;\n }\n return this;\n },\n transition: function (duration) {\n if (typeof duration !== 'string') {\n duration = duration + 'ms';\n }\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;\n }\n return this;\n },\n //Events\n on: function (eventName, targetSelector, listener, capture) {\n function handleLiveEvent(e) {\n var target = e.target;\n if ($(target).is(targetSelector)) listener.call(target, e);\n else {\n var parents = $(target).parents();\n for (var k = 0; k < parents.length; k++) {\n if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e);\n }\n }\n }\n var events = eventName.split(' ');\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n for (j = 0; j < events.length; j++) {\n this[i].addEventListener(events[j], listener, capture);\n }\n }\n else {\n //Live events\n for (j = 0; j < events.length; j++) {\n if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = [];\n this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent});\n this[i].addEventListener(events[j], handleLiveEvent, capture);\n }\n }\n }\n \n return this;\n },\n off: function (eventName, targetSelector, listener, capture) {\n var events = eventName.split(' ');\n for (var i = 0; i < events.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n this[j].removeEventListener(events[i], listener, capture);\n }\n else {\n // Live event\n if (this[j].dom7LiveListeners) {\n for (var k = 0; k < this[j].dom7LiveListeners.length; k++) {\n if (this[j].dom7LiveListeners[k].listener === listener) {\n this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture);\n }\n }\n }\n }\n }\n }\n return this;\n },\n once: function (eventName, targetSelector, listener, capture) {\n var dom = this;\n if (typeof targetSelector === 'function') {\n targetSelector = false;\n listener = arguments[1];\n capture = arguments[2];\n }\n function proxy(e) {\n listener(e);\n dom.off(eventName, targetSelector, proxy, capture);\n }\n dom.on(eventName, targetSelector, proxy, capture);\n },\n trigger: function (eventName, eventData) {\n for (var i = 0; i < this.length; i++) {\n var evt;\n try {\n evt = new CustomEvent(eventName, {detail: eventData, bubbles: true, cancelable: true});\n }\n catch (e) {\n evt = document.createEvent('Event');\n evt.initEvent(eventName, true, true);\n evt.detail = eventData;\n }\n this[i].dispatchEvent(evt);\n }\n return this;\n },\n transitionEnd: function (callback) {\n var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'],\n i, j, dom = this;\n function fireCallBack(e) {\n /*jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n animationEnd: function (callback) {\n var events = ['webkitAnimationEnd', 'OAnimationEnd', 'MSAnimationEnd', 'animationend'],\n i, j, dom = this;\n function fireCallBack(e) {\n callback(e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n // Sizing/Styles\n width: function () {\n if (this[0] === window) {\n return window.innerWidth;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n else {\n return null;\n }\n }\n },\n outerWidth: function (includeMargins) {\n if (this.length > 0) {\n if (includeMargins)\n return this[0].offsetWidth + parseFloat(this.css('margin-right')) + parseFloat(this.css('margin-left'));\n else\n return this[0].offsetWidth;\n }\n else return null;\n },\n height: function () {\n if (this[0] === window) {\n return window.innerHeight;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n else {\n return null;\n }\n }\n },\n outerHeight: function (includeMargins) {\n if (this.length > 0) {\n if (includeMargins)\n return this[0].offsetHeight + parseFloat(this.css('margin-top')) + parseFloat(this.css('margin-bottom'));\n else\n return this[0].offsetHeight;\n }\n else return null;\n },\n offset: function () {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = window.pageYOffset || el.scrollTop;\n var scrollLeft = window.pageXOffset || el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n else {\n return null;\n }\n },\n hide: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'none';\n }\n return this;\n },\n show: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'block';\n }\n return this;\n },\n css: function (props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n }\n else {\n for (i = 0; i < this.length; i++) {\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i++) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n },\n \n //Dom manipulation\n each: function (callback) {\n for (var i = 0; i < this.length; i++) {\n callback.call(this[i], i, this[i]);\n }\n return this;\n },\n html: function (html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].innerHTML = html;\n }\n return this;\n }\n },\n text: function (text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n else return null;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[0].textContent = text;\n }\n }\n },\n is: function (selector) {\n if (!this[0]) return false;\n var compareWith, i;\n if (typeof selector === 'string') {\n var el = this[0];\n if (el === document) return selector === document;\n if (el === window) return selector === window;\n \n if (el.matches) return el.matches(selector);\n else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector);\n else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n else {\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n }\n else if (selector === document) return this[0] === document;\n else if (selector === window) return this[0] === window;\n else {\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n return false;\n }\n \n },\n indexOf: function (el) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] === el) return i;\n }\n },\n index: function () {\n if (this[0]) {\n var child = this[0];\n var i = 0;\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i++;\n }\n return i;\n }\n else return undefined;\n },\n eq: function (index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n else return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n },\n append: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].appendChild(newChild[j]);\n }\n }\n else {\n this[i].appendChild(newChild);\n }\n }\n return this;\n },\n prepend: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j--) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n // this[i].insertAdjacentHTML('afterbegin', newChild);\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n }\n else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n },\n insertBefore: function (selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n }\n else if (before.length > 1) {\n for (var j = 0; j < before.length; j++) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n },\n insertAfter: function (selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n }\n else if (after.length > 1) {\n for (var j = 0; j < after.length; j++) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n },\n next: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n nextAll: function (selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.nextElementSibling) {\n var next = el.nextElementSibling;\n if (selector && $(next).is(selector)) nextEls.push(next);\n else nextEls.push(next);\n el = next;\n }\n return new Dom7(nextEls);\n },\n prev: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n prevAll: function (selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling;\n if (selector && $(prev).is(selector)) prevEls.push(prev);\n else prevEls.push(prev);\n el = prev;\n }\n return new Dom7(prevEls);\n },\n parent: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n }\n else {\n parents.push(this[i].parentNode);\n }\n }\n return $($.unique(parents));\n },\n parents: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n var parent = this[i].parentNode;\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n }\n else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $($.unique(parents));\n },\n find : function (selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i++) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j++) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n },\n children: function (selector) {\n var children = [];\n for (var i = 0; i < this.length; i++) {\n var childNodes = this[i].childNodes;\n \n for (var j = 0; j < childNodes.length; j++) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n }\n else {\n if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]);\n }\n }\n }\n return new Dom7($.unique(children));\n },\n remove: function () {\n for (var i = 0; i < this.length; i++) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n return this;\n },\n detach: function () {\n return this.remove();\n }\n };\n \n // Shortcuts\n (function () {\n var shortcuts = ('click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll').split(' ');\n var notTrigger = ('resize scroll').split(' ');\n function createMethod(name) {\n Dom7.prototype[name] = function (handler) {\n var i;\n if (typeof handler === 'undefined') {\n for (i = 0; i < this.length; i++) {\n if (notTrigger.indexOf(name) < 0) this[i][name]();\n }\n return this;\n }\n else {\n return this.on(name, handler);\n }\n };\n }\n for (var i = 0; i < shortcuts.length; i++) {\n createMethod(shortcuts[i]);\n }\n })();\n "," // Ajax\n var _jsonpRequests = 0;\n $.ajax = function (options) {\n var defaults = {\n method: 'GET',\n data: false,\n async: true,\n cache: true,\n user: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n processData: true,\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0 // 0s JSONp timeout\n };\n \n //For jQuery guys\n if (options.type) options.method = options.type;\n \n // Merge options and defaults\n for (var prop in defaults) {\n if (!(prop in options)) options[prop] = defaults[prop];\n }\n \n // Default URL\n if (!options.url) {\n options.url = window.location.toString();\n }\n // UC method\n var _method = options.method.toUpperCase();\n // Data to modify GET URL\n if ((_method === 'GET' || _method === 'HEAD') && options.data) {\n var stringData;\n if (typeof options.data === 'string') {\n // Should be key=value string\n if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1];\n else stringData = options.data;\n }\n else {\n // Should be key=value object\n stringData = $.serializeObject(options.data);\n }\n if (options.url.indexOf('?') >= 0) options.url += '&' + stringData;\n else options.url += '?' + stringData;\n }\n // JSONP\n if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) {\n \n var callbackName = 'f7jsonp_' + Date.now() + (_jsonpRequests++);\n var requestURL, abortTimeout;\n var callbackSplit = options.url.split('callback=');\n if (callbackSplit[1].indexOf('&') >= 0) {\n var addVars = callbackSplit[1].split('&').filter(function (el) { return el.indexOf('=') > 0; }).join('&');\n requestURL = callbackSplit[0] + 'callback=' + callbackName + (addVars.length > 0 ? '&' + addVars : '');\n }\n else {\n requestURL = callbackSplit[0] + 'callback=' + callbackName;\n }\n \n // Create script\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = function() {\n clearTimeout(abortTimeout);\n if (options.error) options.error();\n };\n script.src = requestURL;\n \n // Handler\n window[callbackName] = function (data) {\n clearTimeout(abortTimeout);\n if (options.success) options.success(data);\n script.parentNode.removeChild(script);\n script = null;\n delete window[callbackName];\n };\n document.querySelector('head').appendChild(script);\n \n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n script.parentNode.removeChild(script);\n script = null;\n if (options.error) options.error();\n }, options.timeout);\n }\n \n return;\n }\n \n // Cache for GET/HEAD requests\n if (_method === 'GET' || _method === 'HEAD') {\n if (options.cache === false) options.url += ('_nocache=' + Date.now());\n }\n \n // Create XHR\n var xhr = new XMLHttpRequest();\n \n // Open XHR\n xhr.open(_method, options.url, options.async, options.user, options.password);\n \n // Create POST Data\n var postData = null;\n \n if ((_method === 'POST' || _method === 'PUT') && options.data) {\n if (options.processData) {\n var postDataInstances = [ArrayBuffer, Blob, Document, FormData];\n // Post Data\n if (postDataInstances.indexOf(options.data.constructor) >= 0) {\n postData = options.data;\n }\n else {\n // POST Headers\n var boundary = '---------------------------' + Date.now().toString(16);\n \n if (options.contentType === 'multipart\\/form-data') {\n xhr.setRequestHeader('Content-Type', 'multipart\\/form-data; boundary=' + boundary);\n }\n else {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n postData = '';\n var _data = $.serializeObject(options.data);\n if (options.contentType === 'multipart\\/form-data') {\n boundary = '---------------------------' + Date.now().toString(16);\n _data = _data.split('&');\n var _newData = [];\n for (var i = 0; i < _data.length; i++) {\n _newData.push('Content-Disposition: form-data; name=\"' + _data[i].split('=')[0] + '\"\\r\\n\\r\\n' + _data[i].split('=')[1] + '\\r\\n');\n }\n postData = '--' + boundary + '\\r\\n' + _newData.join('--' + boundary + '\\r\\n') + '--' + boundary + '--\\r\\n';\n }\n else {\n postData = options.contentType === 'application/x-www-form-urlencoded' ? _data : _data.replace(/&/g, '\\r\\n');\n }\n }\n }\n else {\n postData = options.data;\n }\n \n }\n \n // Additional headers\n if (options.headers) {\n for (var header in options.headers) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n \n // Check for crossDomain\n if (typeof options.crossDomain === 'undefined') {\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^\\/]+)/.test(options.url) && RegExp.$2 !== window.location.host;\n }\n \n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n \n if (options.xhrFields) {\n for (var field in options.xhrFields) {\n xhr[field] = options.xhrFields[field];\n }\n }\n \n // Handle XHR\n xhr.onload = function (e) {\n if (xhr.status === 200 || xhr.status === 0) {\n $(document).trigger('ajaxSuccess', {xhr: xhr});\n if (options.success) {\n var responseData = xhr.responseText;\n \n if (options.dataType === 'json') responseData = JSON.parse(responseData);\n options.success(responseData, xhr.status, xhr);\n }\n }\n if (options.statusCode) {\n if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr);\n }\n if (options.complete) {\n options.complete(xhr);\n }\n $(document).trigger('ajaxComplete', {xhr: xhr});\n };\n \n xhr.onerror = function (e) {\n $(document).trigger('ajaxError', {xhr: xhr});\n if (options.error) options.error(xhr);\n };\n \n // Ajax start callback\n if (options.start) options.start(xhr);\n \n // Send XHR\n $(document).trigger('ajaxStart', {xhr: xhr});\n xhr.send(postData);\n \n // Return XHR object\n return xhr;\n };\n // Shrotcuts\n (function () {\n var methods = ('get post getJSON').split(' ');\n function createMethod(method) {\n $[method] = function (url, data, success) {\n return $.ajax({\n url: url,\n method: method === 'post' ? 'POST' : 'GET',\n data: typeof data === 'function' ? undefined : data,\n success: typeof data === 'function' ? data : success,\n dataType: method === 'getJSON' ? 'json' : undefined\n });\n };\n }\n for (var i = 0; i < methods.length; i++) {\n createMethod(methods[i]);\n }\n })();"," // DOM Library Utilites\n $.parseUrlQuery = function (url) {\n var query = {}, i, params, param;\n if (url.indexOf('?') >= 0) url = url.split('?')[1];\n else return query;\n params = url.split('&');\n for (i = 0; i < params.length; i++) {\n param = params[i].split('=');\n query[param[0]] = param[1];\n }\n return query;\n };\n $.isArray = function (arr) {\n if (Object.prototype.toString.apply(arr) === '[object Array]') return true;\n else return false;\n };\n $.unique = function (arr) {\n var unique = [];\n for (var i = 0; i < arr.length; i++) {\n if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]);\n }\n return unique;\n };\n $.trim = function (str) {\n return str.trim();\n };\n $.serializeObject = function (obj) {\n if (typeof obj === 'string') return obj;\n var resultArray = [];\n var separator = '&';\n for (var prop in obj) {\n if ($.isArray(obj[prop])) {\n var toPush = [];\n for (var i = 0; i < obj[prop].length; i ++) {\n toPush.push(prop + '=' + obj[prop][i]);\n }\n resultArray.push(toPush.join(separator));\n }\n else {\n // Should be string\n resultArray.push(prop + '=' + obj[prop]);\n }\n }\n \n return resultArray.join(separator);\n };\n \n $.getTranslate = function (el, axis) {\n var matrix, curTransform, curStyle, transformMatrix;\n \n // automatic axis detection\n if (typeof axis === 'undefined') {\n axis = 'x';\n }\n \n curStyle = window.getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new WebKitCSSMatrix(curStyle.webkitTransform === 'none' ? '' : curStyle.webkitTransform);\n }\n else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n \n if (axis === 'x') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m41;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[12]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m42;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[13]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[5]);\n }\n \n return curTransform || 0;\n };\n \n $.requestAnimationFrame = function (callback) {\n if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);\n else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);\n else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback);\n else {\n return window.setTimeout(callback, 1000 / 60);\n }\n };\n $.supportTouch = !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\n \n // Link to prototype\n $.fn = Dom7.prototype;\n \n // Plugins\n $.fn.scrollTo = function (left, top, duration) {\n return this.each(function () {\n var el = this;\n var currentTop, currentLeft, maxTop, maxLeft, newTop, newLeft, scrollTop, scrollLeft;\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) return;\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n function render(time) {\n if (time === undefined) {\n time = new Date().getTime();\n }\n if (startTime === null) {\n startTime = time;\n }\n var doneLeft, doneTop, done;\n if (animateTop) scrollTop = currentTop + ((time - startTime) / duration * (newTop - currentTop));\n if (animateLeft) scrollLeft = currentLeft + ((time - startTime) / duration * (newLeft - currentLeft));\n \n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n \n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n \n if (done) return;\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n $.requestAnimationFrame(render);\n }\n $.requestAnimationFrame(render);\n });\n };\n $.fn.scrollTop = function (top, duration) {\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n else return null;\n }\n return dom.scrollTo(undefined, top, duration);\n };\n $.fn.scrollLeft = function (left, duration) {\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n else return null;\n }\n return dom.scrollTo(left, undefined, duration);\n };"," return $;\n })();\n \n // Export Dom7 to Framework7\n Framework7.$ = Dom7;\n \n // Export to local scope\n var $ = Dom7;\n \n // Export to Window\n window.Dom7 = Dom7;\n "," /*===========================\n Features Support Detection\n ===========================*/\n Framework7.prototype.support = (function () {\n var support = {\n touch: !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch)\n };\n \n // Export object\n return support;\n })();\n "," /*===========================\n Device/OS Detection\n ===========================*/\n Framework7.prototype.device = (function () {\n var device = {};\n var ua = navigator.userAgent;\n var $ = Dom7;\n \n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n \n device.ios = device.android = device.iphone = device.ipad = false;\n \n // Android\n if (android) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.iphone = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n \n // Webview\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\n \n // Minimal UI\n if (device.os && device.os === 'ios') {\n var osVersionArr = device.osVersion.split('.');\n device.minimalUi = !device.webView &&\n (ipod || iphone) &&\n (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) &&\n $('meta[name=\"viewport\"]').length > 0 && $('meta[name=\"viewport\"]').attr('content').indexOf('minimal-ui') >= 0;\n }\n \n // Check for status bar and fullscreen app mode\n var windowWidth = $(window).width();\n var windowHeight = $(window).height();\n device.statusBar = false;\n if (device.webView && (windowWidth * windowHeight === screen.width * screen.height)) {\n device.statusBar = true;\n }\n else {\n device.statusBar = false;\n }\n \n // Classes\n var classNames = [];\n \n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n if (device.pixelRatio >= 2) {\n classNames.push('retina');\n }\n \n // OS classes\n if (device.os) {\n classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\\./g, '-'));\n if (device.os === 'ios') {\n var major = parseInt(device.osVersion.split('.')[0], 10);\n for (var i = major - 1; i >= 6; i--) {\n classNames.push('ios-gt-' + i);\n }\n }\n \n }\n // Status bar classes\n if (device.statusBar) {\n classNames.push('with-statusbar-overlay');\n }\n else {\n $('html').removeClass('with-statusbar-overlay');\n }\n \n // Add html classes\n if (classNames.length > 0) $('html').addClass(classNames.join(' '));\n \n // Export object\n return device;\n })();\n "," /*===========================\n Plugins prototype\n ===========================*/\n Framework7.prototype.plugins = {};\n ","})();\n","/*===========================\nTemplate7 Template engine\n===========================*/\nwindow.Template7 = (function () {\n 'use strict';\n function isArray(arr) {\n return Object.prototype.toString.apply(arr) === '[object Array]';\n }\n function isObject(obj) {\n return obj instanceof Object;\n }\n function isFunction(func) {\n return typeof func === 'function';\n }\n var cache = {};\n function helperToSlices(string) {\n var helperParts = string.replace(/[{}#}]/g, '').split(' ');\n var slices = [];\n var shiftIndex, i, j;\n for (i = 0; i < helperParts.length; i++) {\n var part = helperParts[i];\n if (i === 0) slices.push(part);\n else {\n if (part.indexOf('\"') === 0) {\n // Plain String\n if (part.match(/\"/g).length === 2) {\n // One word string\n slices.push(part);\n }\n else {\n // Find closed Index\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n part += ' ' + helperParts[j];\n if (helperParts[j].indexOf('\"') >= 0) {\n shiftIndex = j;\n slices.push(part);\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n }\n else {\n if (part.indexOf('=') > 0) {\n // Hash\n var hashParts = part.split('=');\n var hashName = hashParts[0];\n var hashContent = hashParts[1];\n if (hashContent.match(/\"/g).length !== 2) {\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n hashContent += ' ' + helperParts[j];\n if (helperParts[j].indexOf('\"') >= 0) {\n shiftIndex = j;\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n var hash = [hashName, hashContent.replace(/\"/g,'')];\n slices.push(hash);\n }\n else {\n // Plain variable\n slices.push(part);\n }\n }\n }\n }\n return slices;\n }\n function stringToBlocks(string) {\n var blocks = [], i, j, k;\n if (!string) return [];\n var _blocks = string.split(/({{[^{^}]*}})/);\n for (i = 0; i < _blocks.length; i++) {\n var block = _blocks[i];\n if (block === '') continue;\n if (block.indexOf('{{') < 0) {\n blocks.push({\n type: 'plain',\n content: block\n });\n }\n else {\n if (block.indexOf('{/') >= 0) {\n continue;\n }\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\n // Simple variable\n blocks.push({\n type: 'variable',\n contextName: block.replace(/[{}]/g, '')\n });\n continue;\n }\n // Helpers\n var helperSlices = helperToSlices(block);\n var helperName = helperSlices[0];\n var helperContext = [];\n var helperHash = {};\n for (j = 1; j < helperSlices.length; j++) {\n var slice = helperSlices[j];\n if (isArray(slice)) {\n // Hash\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\n }\n else {\n helperContext.push(slice);\n }\n }\n \n if (block.indexOf('{#') >= 0) {\n // Condition/Helper\n var helperStartIndex = i;\n var helperContent = '';\n var elseContent = '';\n var toSkip = 0;\n var shiftIndex;\n var foundClosed = false, foundElse = false, foundClosedElse = false, depth = 0;\n for (j = i + 1; j < _blocks.length; j++) {\n if (_blocks[j].indexOf('{{#') >= 0) {\n depth ++;\n }\n if (_blocks[j].indexOf('{{/') >= 0) {\n depth --;\n }\n if (_blocks[j].indexOf('{{#' + helperName) >= 0) {\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n toSkip ++;\n }\n else if (_blocks[j].indexOf('{{/' + helperName) >= 0) {\n if (toSkip > 0) {\n toSkip--;\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n else {\n shiftIndex = j;\n foundClosed = true;\n break;\n }\n }\n else if (_blocks[j].indexOf('else') >= 0 && depth === 0) {\n foundElse = true;\n }\n else {\n if (!foundElse) helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n\n }\n if (foundClosed) {\n if (shiftIndex) i = shiftIndex;\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n content: helperContent,\n inverseContent: elseContent,\n hash: helperHash\n });\n }\n }\n else if (block.indexOf(' ') > 0) {\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n hash: helperHash\n });\n }\n }\n }\n return blocks;\n }\n var Template7 = function (template) {\n var t = this;\n t.template = template;\n \n function getCompileFn(block, depth) {\n if (block.content) return compile(block.content, depth);\n else return function () {return ''; };\n }\n function getCompileInverse(block, depth) {\n if (block.inverseContent) return compile(block.inverseContent, depth);\n else return function () {return ''; };\n }\n function getCompileVar(name, ctx) {\n var parents, variable, context;\n if (name.indexOf('@global') >= 0) {\n variable = '(Template7.global && Template7.global.' + (name.split('@global.')[1]) + ')';\n }\n else if (name.indexOf('@') >= 0) {\n variable = '(data && data.' + name.replace('@', '') + ')';\n }\n else {\n if (name.indexOf('.') > 0) {\n if (name.indexOf('this') === 0) variable = name.replace('this', ctx);\n else variable = ctx + '.' + name;\n }\n else if (name.indexOf('../') === 0) {\n var levelUp = name.split('../').length - 1;\n var newName = name.split('../')[name.split('../').length - 1];\n var newDepth = ctx.split('_')[1] - levelUp;\n variable = 'ctx_' + (newDepth >= 1 ? newDepth : 1) + '.' + newName;\n }\n else {\n variable = name === 'this' ? ctx : ctx + '.' + name;\n }\n }\n return variable;\n }\n function getCompiledArguments(contextArray, ctx) {\n var arr = [];\n for (var i = 0; i < contextArray.length; i++) {\n if (contextArray[i].indexOf('\"') === 0) arr.push(contextArray[i]);\n else {\n arr.push(getCompileVar(contextArray[i], ctx));\n }\n }\n return arr.join(', ');\n }\n function compile(template, depth) {\n depth = depth || 1;\n template = template || t.template;\n if (typeof template !== 'string') {\n throw new Error('Template7: Template must be a string');\n }\n var blocks = stringToBlocks(template);\n \n if (blocks.length === 0) {\n return function () { return ''; };\n }\n var ctx = 'ctx_' + depth;\n var resultString = '(function (' + ctx + ', data) {\\n';\n if (depth === 1) {\n resultString += 'function isArray(arr){return Object.prototype.toString.apply(arr) === \\'[object Array]\\';}\\n';\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\") {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\n }\n resultString += 'var r = \\'\\';\\n';\n var i, j, context;\n for (i = 0; i < blocks.length; i++) {\n var block = blocks[i];\n // Plain block\n if (block.type === 'plain') {\n resultString += 'r +=\\'' + (block.content).replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\'') + '\\';';\n continue;\n }\n var variable, compiledArguments;\n // Variable block\n if (block.type === 'variable') {\n variable = getCompileVar(block.contextName, ctx);\n resultString += 'r += c(' + variable + ', ' + ctx + ');';\n }\n // Helpers block\n if (block.type === 'helper') {\n if (block.helperName in t.helpers) {\n compiledArguments = getCompiledArguments(block.contextName, ctx);\n resultString += 'r += (Template7.helpers.' + block.helperName + ').call(' + ctx + ', ' + (compiledArguments && (compiledArguments + ',')) +'{hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + '});';\n }\n else {\n if (block.contextName.length > 0) {\n throw new Error('Template7: Missing helper: \"' + block.helperName + '\"');\n }\n else {\n variable = getCompileVar(block.helperName, ctx);\n resultString += 'if (' + variable + ') {';\n resultString += 'if (isArray(' + variable + ')) {';\n resultString += 'r += (Template7.helpers.each).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + '});';\n resultString += '}else {';\n resultString += 'r += (Template7.helpers.with).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + '});';\n resultString += '}}';\n }\n }\n }\n }\n resultString += '\\nreturn r;})';\n return eval.call(window, resultString);\n }\n t.compile = function (template) {\n if (!t.compiled) {\n t.compiled = compile(template);\n }\n return t.compiled;\n };\n };\n Template7.prototype = {\n options: {},\n helpers: {\n 'if': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'unless': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (!context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'each': function (context, options) {\n var ret = '', i = 0;\n if (isFunction(context)) { context = context.call(this); }\n if (isArray(context)) {\n if (options.hash.reverse) {\n context = context.reverse();\n }\n for (i = 0; i < context.length; i++) {\n ret += options.fn(context[i], {first: i === 0, last: i === context.length - 1, index: i});\n }\n if (options.hash.reverse) {\n context = context.reverse();\n }\n }\n else {\n for (var key in context) {\n i++;\n ret += options.fn(context[key], {key: key});\n }\n }\n if (i > 0) return ret;\n else return options.inverse(this);\n },\n 'with': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return options.fn(context);\n },\n 'join': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return context.join(options.hash.delimiter || options.hash.delimeter);\n }\n }\n };\n var t7 = function (template, data) {\n if (arguments.length === 2) {\n var instance = new Template7(template);\n var rendered = instance.compile()(data);\n instance = null;\n return (rendered);\n }\n else return new Template7(template);\n };\n t7.registerHelper = function (name, fn) {\n Template7.prototype.helpers[name] = fn;\n };\n t7.unregisterHelper = function (name) {\n Template7.prototype.helpers[name] = undefined; \n delete Template7.prototype.helpers[name];\n };\n \n t7.compile = function (template, options) {\n var instance = new Template7(template, options);\n return instance.compile();\n };\n \n t7.options = Template7.prototype.options;\n t7.helpers = Template7.prototype.helpers;\n return t7;\n})();"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Framework7 0.9.7
2
+ * Framework7 0.10.0
3
3
  * Full Featured HTML Framework For Building iOS 7 Apps
4
4
  *
5
5
  * http://www.idangero.us/framework7
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * Licensed under MIT
12
12
  *
13
- * Released on: November 2, 2014
13
+ * Released on: December 8, 2014
14
14
  */
15
15
  html,
16
16
  body {
@@ -2164,6 +2164,16 @@ html:not(.watch-active-state) .button.button-fill:active,
2164
2164
  .button.button-fill.active-state {
2165
2165
  opacity: 0.8;
2166
2166
  }
2167
+ .button i.icon:first-child {
2168
+ margin-right: 10px;
2169
+ }
2170
+ .button i.icon:last-child {
2171
+ margin-left: 10px;
2172
+ }
2173
+ .button i.icon:first-child:last-child {
2174
+ margin-left: 0;
2175
+ margin-right: 0;
2176
+ }
2167
2177
  .buttons-row {
2168
2178
  -ms-flex-item-align: center;
2169
2179
  -webkit-align-self: center;
@@ -2410,9 +2420,14 @@ html:not(.watch-active-state) .list-block .accordion-item-toggle:active > .item-
2410
2420
  -ms-transform: translate3d(0, 0, 0);
2411
2421
  transform: translate3d(0, 0, 0);
2412
2422
  }
2413
- .accordion-item-expanded .accordion-item-content {
2423
+ .accordion-item-expanded > .accordion-item-content {
2414
2424
  height: auto;
2415
2425
  }
2426
+ html.android-4 .accordion-item-content {
2427
+ -webkit-transform: none;
2428
+ -ms-transform: none;
2429
+ transform: none;
2430
+ }
2416
2431
  /* === Modals === */
2417
2432
  .modal-overlay,
2418
2433
  .preloader-indicator-overlay,
@@ -2508,6 +2523,10 @@ html.ios .popup-overlay.modal-overlay-visible {
2508
2523
  -webkit-justify-content: center;
2509
2524
  justify-content: center;
2510
2525
  }
2526
+ .modal-buttons.modal-buttons-vertical {
2527
+ display: block;
2528
+ height: auto;
2529
+ }
2511
2530
  .modal-button {
2512
2531
  width: 100%;
2513
2532
  padding: 0 5px;
@@ -2547,6 +2566,15 @@ html:not(.watch-active-state) .modal-button:active,
2547
2566
  .modal-button.active-state {
2548
2567
  background: #d4d4d4;
2549
2568
  }
2569
+ .modal-buttons-vertical .modal-button {
2570
+ border-right: none;
2571
+ border-bottom: 1px solid #b5b5b5;
2572
+ border-radius: 0;
2573
+ }
2574
+ .modal-buttons-vertical .modal-button:last-child {
2575
+ border-radius: 0 0 7px 7px;
2576
+ border-bottom: none;
2577
+ }
2550
2578
  .modal-no-buttons .modal-inner {
2551
2579
  border-radius: 7px;
2552
2580
  border-bottom: none;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framework7rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pulkit Kathuria
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-02 00:00:00.000000000 Z
11
+ date: 2014-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -294,8 +294,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
294
294
  version: '0'
295
295
  requirements: []
296
296
  rubyforge_project:
297
- rubygems_version: 2.0.3
297
+ rubygems_version: 2.4.1
298
298
  signing_key:
299
299
  specification_version: 4
300
300
  summary: https://github.com/kevincobain2000/framework7rails
301
301
  test_files: []
302
+ has_rdoc: