$(document).ready(function(){InitTwitter();InitSidebar_Twitch()});$(function(){StardockHub.InitWebsockets();setTimeout(function(){StardockHub.updateNotificationMenu},4e3)});var StardockHub={notificationMessageCount:0,notificationSubscriptionCount:0,notificationCartCount:0,isFastSpringInitialized:!1,isRunning:!1,isOn:!0,isLoggedOn:!1,hubConnection:{},InitWebsockets:function(){StardockHub.isFastSpringInitialized=typeof fastspring!="undefined";setTimeout(function(){StardockHub.hubConnection=$.connection("/sockets");sdHubProxy=$.connection.stardockWebsiteSharedHub;sdHubProxy.client.cart_Changed=function(n){StardockHub.onCart_Changed(n,!0)};sdHubProxy.client.stopClient=function(){StardockHub.hubConnection.stop()};StardockHub.isLoggedOn=StardockHub.IsSignedIn();StardockHub.isLoggedOn==!0&&(StardockHub.isLoggedOn=!0,sdHubProxy.client.subscriptionUnreadCount_Changed=function(n){StardockHub.onSubscriptionUnreadCount_Changed(n,!0)},sdHubProxy.client.privateMessageUnreadCount_Changed=function(n){StardockHub.onPrivateMessageUnreadCount_Changed(n,!0)});StardockHub.StartHubConnection(!0);$.connection.hub.disconnected(function(){StardockHub.isRunning=!1;StardockHub.isOn&&setTimeout(function(){StardockHub.StartHubConnection(!1)},6e4)})},1)},IsSignedIn:function(){return $("#account-trigger").hasClass("loggedin")||$(".account-trigger").hasClass("loggedin")||$("#listatus").hasClass("loggedin")?!0:!1},StartHubConnection:function(n,t){var i;i=arguments[2];$.connection.hub.start().done(function(){StardockHub.isOn=!0;StardockHub.CompleteInitialization(n);typeof t=="function"&&t(i);i})},StopHubConnection:function(){(StardockHub.isOn=!1,StardockHub.isRunning)&&$.connection.hub.stop()},ReduceConnections:function(){StardockHub.isLoggedOn||setTimeout(function(){StardockHub.StopHubConnection()},4e3)},CompleteInitialization:function(n){StardockHub.isRunning=!0;n&&(StardockHub.isLoggedOn&&(StardockHub.UpdateSubscriptionCount(),StardockHub.UpdateMessageCount()),StardockHub.isFastSpringInitialized&&fsInitializeCarts())},AddToCart:function(n){if(!StardockHub.isRunning){StardockHub.StartHubConnection(!1,StardockHub.AddToCart,n);return}sdHubProxy.server.addToCart(n).done(function(){})},GetCart:function(n){if(!StardockHub.isRunning){StardockHub.StartHubConnection(!1,StardockHub.GetCart,n);return}sdHubProxy.server.getCart().done(function(t){n(t)})},UpdateCart:function(n){if(!StardockHub.isRunning){StardockHub.StartHubConnection(!1,StardockHub.UpdateCart,n);return}sdHubProxy.server.updateCart(n).done(function(){})},UpdateSubscriptionCount:function(){if(!StardockHub.isRunning){StardockHub.StartHubConnection(!1,StardockHub.UpdateSubscriptionCount);return}sdHubProxy.server.getSubscriptionCount().done(function(n){StardockHub.onSubscriptionUnreadCount_Changed(n,!1)})},UpdateMessageCount:function(){if(!StardockHub.isRunning){StardockHub.StartHubConnection(!1,StardockHub.UpdateMessageCount);return}sdHubProxy.server.getPrivateMessageCount().done(function(n){StardockHub.onPrivateMessageUnreadCount_Changed(n,!1)})},onCart_Changed:function(n){StardockHub.isFastSpringInitialized&&fsMergeCarts(global_fastSpringData,n)},onSubscriptionUnreadCount_Changed:function(n,t){var i=$("#subscription_count");n>0?(i.text(n),i.addClass("show"),t&&(i.addClass("new"),setTimeout(function(){i.removeClass("new")},1500))):(i.text(""),i.removeClass("show"));n>0?$(".subscriptioncount").html("(<b>"+n+"<\/b>)"):$(".subscriptioncount").html("");StardockHub.notificationSubscriptionCount=n;StardockHub.updateNotificationMenu()},onPrivateMessageUnreadCount_Changed:function(n,t){var i=$("#message_count");n>0?(i.text(n),i.addClass("show"),t&&(i.addClass("new"),setTimeout(function(){i.removeClass("new")},1500))):(i.text(""),i.removeClass("show"));n>0?$(".messagecount").html("(<b>"+n+"<\/b>)"):$(".messagecount").html("");StardockHub.notificationMessageCount=n;StardockHub.updateNotificationMenu()},updateNotificationMenu:function(){StardockHub.notificationCartCount=$("#cart-trigger").children("span").hasClass("show")?1:0;StardockHub.hasNotifications()?$("#notification-form").hasClass("show")||$("#notification-form").addClass("show"):$("#notification-form").hasClass("show")||$("#notification-form").removeClass("show")},hasNotifications:function(){return StardockHub.notificationMessageCount>0||StardockHub.notificationSubscriptionCount>0||StardockHub.notificationCartCount>0?!0:!1}}