var klassTimeout; var NavView = View.extend({ el: "#nav", events: { "click .logo": "intro", "click .store": "store", "click .hub": "hub", "click .story": "story", "click .archive": "archive", "click .login": "login", "click .logout": "logout", "click .account": "account", "click .faq": "faq", "click .search": "search", "click .main": "back", "click .account_back": "back", "click .profile": "profile", "click .payment": "payment", "click .shipping": "shipping", "click .settings": "settings", "click .orders": "orders", "click .return_link_us": "return_link_us", "click .return_link_ca": "return_link_ca", "click .destroy_account": "destroy_account", "click .faq_back": "back", "click .privacy": "privacy", "click .account_terms": "account_terms", "click .returns": "returns", "click .terms": "terms", "click .care": "care", "click .covid": "covid", "click .fb": "fb", "click .insta": "insta", "click .tw": "tw", "click .yt": "yt", "click .close": "close", }, initialize: function(){ }, show: function(klass){ $("body").addClass("nav") app.curtain.show("dark") doneShowingNav = false setTimeout(function(){ doneShowingNav = true }, 800) if (klass) { klassTimeout = setTimeout(function(){ this.addClass(klass) }.bind(this), 500) } }, hide: function(){ if (!doneShowingNav) { clearTimeout(klassTimeout) } $("body").removeClass("nav") app.curtain.hide("dark") }, intro: function(){ this.hide() app.router.go("intro") }, store: function(){ this.hide() app.router.go("store") }, hub: function(){ this.hide() app.router.go("hub") }, story: function(){ this.hide() app.router.go("story") }, archive: function(){ this.hide() app.router.go("archive") }, login: function(){ this.hide() auth.last_view = app.view app.router.go("account/login") }, logout: function(){ this.hide() auth.last_view = app.view app.router.go("account/logout") }, account: function(){ this.el.className = "account" }, back: function(){ this.el.className = "" }, profile: function(){ this.hide() app.router.go("account/profile") }, payment: function(){ this.hide() app.router.go("account/payment") }, shipping: function(){ this.hide() app.router.go("account/shipping") }, orders: function(){ this.hide() app.router.go("account/orders") }, settings: function(){ this.hide() app.router.go("account/settings") }, return_link_us: function(){ window.open("https://www.stoneisland.com/us/ProductExchange/SearchOrder/Index?utm_source=AppMobile&utm_medium=referral&utm_campaign=ReturnForm", '_system') }, return_link_ca: function(){ window.open("https://www.stoneisland.com/ca/ProductExchange/SearchOrder/Index?utm_source=AppMobile&utm_medium=referral&utm_campaign=ReturnForm", '_system') }, destroy_account: function(){ this.hide() app.router.go("account/destroy_account") }, faq: function(){ this.el.className = "faq" }, privacy: function(){ this.hide() app.router.go("page/privacy") }, account_terms: function(){ this.hide() app.router.go("page/account_terms") }, returns: function(){ this.hide() app.router.go("page/returns") }, terms: function(){ this.hide() app.router.go("page/terms") }, care: function(e){ e.preventDefault() window.open("https://www.stoneisland.com/customercare?utm_source=AppMobile&utm_medium=referral&utm_campaign=CustomerCare", '_system') }, covid: function(e){ e.preventDefault() window.open("https://www.stoneisland.com/system/selfservice.controller?CONFIGURATION=1701&PARTITION_ID=1&CMD=BROWSE_TOPIC&LANGUAGE=en&COUNTRY=us&USERTYPE=1&TOPIC_ID=149680", '_system') }, search: function(){ this.hide() app.router.go("search") }, fb: function(){ window.open("https://www.facebook.com/StoneIsland", '_system') }, insta: function(){ window.open("https://instagram.com/stoneisland_official", '_system') }, tw: function(){ window.open("https://twitter.com/stoneisland", '_system') }, yt: function(){ window.open("https://www.youtube.com/user/StoneIslandOfficial", '_system') }, close: function(){ this.hide() }, })