var Nav=(function(){var self=this;self.is_ie=JQ.browser.msie;self.is_ie8=JQ.browser.msie&&JQ.browser.version.substring(0,1)=="8";self.user={};var loc=window.location.href,krConditional=(loc.indexOf("nikebasketball")==-1)?"ko_KR":null,hkConditional=(loc.indexOf("nikebasketball")==-1)?"zh_HK":null;self.defaults={unsupported_cufon_locales:[hkConditional,"zh_TW","zh_CN","ja_JP",krConditional],commerce_countries:["US","UK","AU","BE","CZ","DK","DE","ES","FI","FR","GR","HU","IE","IT","LU","NL","NO","AT","PL","PT","SI","SE","CH"],locale:"en_US",font:{regular:"Victory Neue Bold",light:"Victory Neue Light",hover_color:"#357BEC"},default_profile_image:"/nikeos/site/profile_v1.0b/global/images/profile_image/default_image_MED.jpg",tracking:{prop17:"nav",prop18:"nav"},base_url:"http://www.nike.com/"};self.init=function(config){self.config=JQ.extend(self.config,self.defaults,config,true);self.config.base_secure_url=self.config.base_url.replace("http://","https://");self.config.nsl_base_url=document.location.protocol.match("https")?self.config.base_secure_url+"/nsl/services/":self.config.base_url+"/nsl/services/";self.config.supports_cufon=JQ.inArray(self.config.locale,self.config.unsupported_cufon_locales)==-1?true:false;self.init_dropdowns();self.init_chiclet();self.init_search();self.check_logged_in_status();self.set_state();self.remove_commerce_dependant_links();self.init_cufon();self.init_click_tracking();JQ("#nav-module").removeClass("nojs")};self.init_search=function(){JQ("#search_button").click(function(e){e.preventDefault();JQ("#search_field").toggle();JQ("#search_container").toggleClass("active");JQ("#nav_search_input").focus()});JQ("#close_search_button").click(function(e){e.preventDefault();JQ("#search_field").toggle();JQ("#search_container").toggleClass("active")});JQ("#start_search_button").click(function(e){e.preventDefault();JQ("#nav_search form").submit()})};self.init_dropdowns=function(){JQ(".primary_label").click(function(e){if(!JQ(this).hasClass("open_on_click")){e.preventDefault();JQ(this).toggleClass("active");if(is_ie8){JQ(this).siblings("div.dropdown_container").slideToggle()}else{JQ(this).siblings("div.dropdown_container").slideToggle();self.refresh_cufon("#main_nav a.secondary_link")}}});JQ(".secondary_label").bind("mouseenter",function(){JQ(this).addClass("active").children("div.tertiary_dropdown_container").show()}).bind("mouseleave",function(){JQ(this).removeClass("active").children("div.tertiary_dropdown_container").hide();self.refresh_cufon("#main_nav a.secondary_link")});JQ(".dropdown_container").hide()};self.init_chiclet=function(){var initHeight,secondaryHeight;JQ("#chiclet").bind("mouseenter",function(){initHeight=initHeight||JQ("ul:first","#chiclet").height()+30;JQ("#chiclet_flyout").stop();JQ("#chiclet_flyout").animate({width:"179px",height:initHeight+"px"});JQ("#nav_more_link").show()}).bind("mouseleave",function(){JQ("#chiclet_flyout").stop();JQ("#chiclet_flyout").animate({width:"5px",height:"51px"})});JQ("#nav_more_link").click(function(){secondaryHeight=JQ("ul.secondary","#chiclet").height()+30;secondaryHeight=(secondaryHeight>initHeight)?secondaryHeight:initHeight;JQ("#chiclet_flyout").animate({width:"348px",height:secondaryHeight+"px"});JQ(this).fadeOut()})};self.init_cufon=function(){if(!self.config.supports_cufon){return}Cufon("#main_nav a",{fontFamily:self.config.font.regular,hover:{color:self.config.font.hover_color}});Cufon("#chiclet_flyout a",{fontFamily:self.config.font.light,hover:{color:self.config.font.hover_color}});Cufon.replace("#main_nav span.text",{fontFamily:self.config.font.regular})};self.refresh_cufon=function(selector){if(!self.config.supports_cufon){return}Cufon(selector,{fontFamily:self.config.font.regular,hover:{color:self.config.font.hover_color}});Cufon.replace(selector,{fontFamily:self.config.font.regular})};self.set_state=function(){if(window.location.protocol+"//"+window.location.hostname+window.location.pathname!=self.config.homepage_url){var primary_link=false;JQ("#main_nav .primary_label a:first-child").each(function(){if(self.is_nav_match(this)){JQ(this).parents(".primary_label").addClass("selected").siblings(".dropdown_container").show().find(".landing_link").addClass("selected");primary_link=true;return false}});if(!primary_link){JQ("#main_nav ul.secondary_dropdown li a").each(function(){if(self.is_nav_match(this)){JQ(this).parent().addClass("selected").parents(".dropdown_container").siblings(".primary_label").addClass("selected");if(JQ(this).parent().parent().hasClass("tertiary_dropdown")){JQ(this).parents(".secondary_label").addClass("selected")}}});JQ("#main_nav li.primary_label_link a").each(function(){if(self.is_nav_match(this)){JQ(this).parents(".primary_label_link").addClass("selected");return false}});JQ("#main_nav li.primary_label_link a").each(function(){if(self.is_nav_match(this)){JQ(this).parents(".primary_label_link").addClass("selected");return false}})}JQ("#main_nav .primary_label.selected").siblings(".dropdown_container").show()}};self.is_nav_match=function(nav_item){var this_item=JQ(nav_item);var this_page=window.location.pathname+window.location.search;var this_page_regex=RegExp.escape(this_page);var this_link=this_item.attr("href");var this_url_regex=this_item.attr("data-url-regex");var is_link_match_page_regex=this_link.match(this_page_regex);var is_page_match_url_regex=this_url_regex?this_page.match(new RegExp(this_url_regex)):false;return is_link_match_page_regex||is_page_match_url_regex};self.remove_commerce_dependant_links=function(){var country=JQ.cookie("NIKE_COMMERCE_COUNTRY");if(country){var commerce=JQ.inArray(country,self.config.commerce_countries)==-1?false:true;if(commerce){JQ("#main_nav .non_commerce_dependant").remove()}else{JQ("#main_nav .commerce_dependant").remove()}}};self.check_logged_in_status=function(){JQ.ajax({url:self.config.nsl_base_url+"user/isloggedin?format=json&app="+self.config.nsl_app_id,dataType:"jsonp",cache:true,success:function(response){if(typeof(response.serviceResponse.header.success)!="undefined"){if(response.serviceResponse.header.success=="true"){JQ("#nav_profile_loading").show();self.show_profile_button()}else{self.show_login_button()}}else{console.warn("invalid response from NSL user/isloggedin service")}}})};self.show_profile_button=function(){JQ.ajax({url:self.config.nsl_base_url+"user/get?format=json&app="+self.config.nsl_app_id,dataType:"jsonp",cache:true,success:function(response){if(typeof(response.serviceResponse.header.success)!="undefined"){if(response.serviceResponse.header.success=="true"){self.user.username=response.serviceResponse.body.User.screenName;if(response.serviceResponse.body.User.imageUrl){self.user.thumbnail_url=(response.serviceResponse.body.User.imageUrl=="")?self.config.default_profile_image:response.serviceResponse.body.User.imageUrl.replace("_LRG.","_MED.")}else{self.user.thumbnail_url=self.config.default_profile_image}JQ("#nav_profile_image").css("background-image","url("+self.user.thumbnail_url+")");JQ("#nav_profile_screenname").html(self.user.username);JQ("#nav_logged_in").show();JQ("#nav_profile_image_overlay").bind("mouseenter",function(){JQ(this).addClass("active")}).bind("mouseleave",function(){JQ(this).removeClass("active")});self.refresh_cufon("#nav_profile_screenname");self.refresh_cufon("#nav_profile_flyout a");self.show_notification_count();JQ("#nav_profile_logout").click(function(){self.logout()})}else{JQ("#nav_logged_out").show()}JQ("#nav_profile_loading").hide()}else{}}})};self.show_notification_count=function(){JQ.ajax({url:self.config.nsl_base_url+"notification/list?format=json&app="+self.config.nsl_app_id,dataType:"jsonp",cache:true,success:function(response){if(typeof(response.serviceResponse.header.success)!="undefined"){if(response.serviceResponse.header.success=="true"){var count=response.serviceResponse.body.PaginatedCollection.totalResults;if(count>0){JQ("#nav_profile_notifications").html(count);self.refresh_cufon("#nav_profile_notifications");JQ("#nav_profile_notifications").show()}}}}})};self.show_login_button=function(){var selector="#nav_logged_out a";JQ("#nav_profile_loading, #nav_logged_in").hide();self.refresh_cufon(selector);var continue_URL=encodeURIComponent(document.location.href);JQ(selector).attr("href",self.config.profile_base_url+"?page=signin&continueURL="+continue_URL);JQ("#nav_logged_out").show()};self.init_click_tracking=function(){JQ("#nav-module a").each(function(){var tracking_page_name=JQ(this).attr("data-tracking_page_name");if(tracking_page_name){JQ(this).click(function(){self.track_page(tracking_page_name)})}});JQ("#nav_search form").submit(function(){self.track_click("nav>search")})};self.track_page=function(page_name){if(typeof(window.tracking)!="undefined"){self.config.tracking.pageName=page_name;tracking.track(self.config.tracking)}};self.track_click=function(page_name){if(typeof(window.tracking)!="undefined"){self.config.tracking.events="event2";self.config.tracking.pageName=page_name;tracking.track(self.config.tracking)}};self.logout=function(){JQ("#nav_logged_in").hide();JQ("#nav_profile_loading").show();JQ.ajax({url:self.config.nsl_base_url+"user/logout?format=json&app="+self.config.nsl_app_id,dataType:"jsonp",success:function(response){if(typeof(response.serviceResponse.header.success)!="undefined"){if(response.serviceResponse.header.success=="true"){self.show_login_button()}}}})};return{init:self.init,logout:self.logout,refresh_cufon:self.refresh_cufon,track_page:self.track_page}})();RegExp.escape=function(text){return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")};
