var app = (function(){ var app = {} app.init = function(){ console.log("init") sdk.init({ env: "production" }) app.bind() app.build() app.iscroll_options = { mouseWheel: true, scrollbars: true, } if (window.cordova) { document.addEventListener('deviceready', app.ready, false) } else { app.ready() } } app.bind = function(){ document.addEventListener('touchmove', function(e){ e.preventDefault() }) FastClick.attach(document.body) } app.build = function(){ app.blog = new BlogView () app.archive = new ArchiveView () app.hub = new HubView () app.story = new StoryView () app.cart = new CartView () app.intro = new IntroView () app.header = new HeaderView () app.footer = new FooterView () app.curtain = new CurtainView () app.nav = new NavView () app.account = new AccountView () app.login = new LoginView () app.logout = new LogoutView () app.signup = new SignupView () app.profile = new ProfileView () app.payment = new PaymentView () app.shipping = new ShippingView () app.settings = new SettingsView () app.orders = new OrdersView () app.terms = new PageView ({ page: "terms" }) app.privacy = new PageView ({ page: "privacy" }) app.returns = new PageView ({ page: "returns" }) app.care = new PageView ({ page: "care" }) app.collection = new CollectionView () app.product = new ProductView () app.closed = new ClosedStoreView () app.search = new SearchView () app.selector = new Selector () } app.ready = function(){ console.log(">> READY") if (window.cordova) { document.addEventListener('pause', app.paused, false) document.addEventListener('resume', app.resumed, false) document.addEventListener('online', app.online, false) document.addEventListener('offline', app.offline, false) cordova.plugins.Keyboard.disableScroll(true) geo.fetch() } app.view = null app.router = new SiteRouter () // if (sdk.env == "test") { // app.router.launch() // } // else { // } if (navigator.onLine) { app.account.connect( app.router.launch.bind(app.router) ) } else { console.log(">> LAUNCHED WHILE OFFLINE") app.closed.showElement() app.closed.setMessage("PLEASE GO ONLINE TO BROWSE THE STONE ISLAND STORE", "") app.state.launched_while_offline = true app.finished_launching() } push.init() } app.finished_launching = function(){ console.log(">> FINISHED LAUNCHING") if (window.cordova) { navigator.splashscreen.hide() } $("body").removeClass("loading") } var refresh_time = +Date.now() app.paused = function(){} app.resumed = function(){ geo.fetch() var now = +Date.now() if (now - refresh_time > 60 * 60 * 1000) { refresh_time = now app.blog.refresh() } } app.online = function(){ console.log(">> ONLINE") if (app.state.launched_while_offline) { app.state.launched_while_offline = false app.router.go("intro") } } app.offline = function(){ console.log(">> OFFLINE") } return app })() app.init()