var AlphaMapFilter=function(){this.imgPath="";this.alphaImgPath="";this.canvas=null;this.x=0;this.y=0;this.centerImage=!0;this.fillCanvas=!1;this.replaceIfExists=!1;this.onFinished=function(){};this.imgEl;this.alphaImgEl;this.imagesLoaded=$.Deferred()},DestinyTooltip,GrimoireCard,Leaderboard,ProgressBar,ScrollElementBackground,SimpleDialogKO,SimpleDialogKOGrimoire;AlphaMapFilter.prototype.init=function(){var n=this;if($(this.canvas).data("AlphaMapFilter")&&!this.replaceIfExists){this.onFinished(this.canvas);return}this.context=this.canvas.getContext("2d");$.when(n.imagesLoaded).then(function(){n.createAlphaMask()});this.loadImages()};AlphaMapFilter.prototype.loadImages=function(){var n=this,t=$.Deferred(),i=$.Deferred(),r,u;if($.when(t,i).then(function(){n.imagesLoaded.resolve()}),n.imgPath!==n.alphaImgPath){r=$("<img/>").attr("src",n.imgPath);r.on("load",function(){n.imgEl=$(this)[0];t.resolve()});u=$("<img/>").attr("src",n.alphaImgPath);u.on("load",function(){n.alphaImgEl=$(this)[0];i.resolve()})}else $("<img/>").attr("src",n.imgPath+"?"+(new Date).getTime()).on("load",function(){n.imgEl=n.alphaImgEl=$(this)[0];t.resolve();i.resolve()})};AlphaMapFilter.prototype.createAlphaMask=function(){var n,t,f,e,i;this.centerImage&&(this.x=(this.canvas.width-this.imgEl.width)/2,this.y=(this.canvas.height-this.imgEl.height)/2);n=this.imgEl.width;t=this.imgEl.height;this.fillCanvas&&(n=this.canvas.width,t=this.canvas.height,this.x=0,this.y=0);this.context.drawImage(this.alphaImgEl,this.x,this.y,n,t);f=this.context.getImageData(this.x,this.y,n,t);e=f.data;this.context.drawImage(this.imgEl,this.x,this.y,n,t);var r=this.context.getImageData(this.x,this.y,n,t),u=r.data,o=u.length;for(i=0;i<o;i+=4)u[i+3]=e[i];r.data=u;this.context.clearRect(0,0,this.canvas.width,this.canvas.height);this.context.putImageData(r,this.x,this.y);$(this.canvas).data("AlphaMapFilter",!0);this.onFinished(this.canvas)};DestinyTooltip=function(n){this.$tooltip=n;this.$parent=n.parent();this.$wrapper=$(window);this.$fixedWrapper=$(window);this.isStatic=n.hasClass("static");this.navHeight=$(".Nav_Top").height();this.wrapperPos={width:0,height:0,top:0,left:0};this.tooltipQuadrant=[0,0];this.tooltipWidth=336;this.tooltipVerticalOffset=50;this.tooltipVerticalOffsetAdditional=0;this.tooltipHorizontalOffset=50;this.tooltipHorizontalOffsetAdditional=0;this.useMouseMove=!0;this.autoPositionVertical=!0;this.autoPositionHorizontal=!0;this.tooltipIsFixed=!1;this.wrapperIsFixed=!1;this.alignWithSide=!1;this.containInsideWindow=!0;this.displayAsModalWhenMobile=!0;this.isDragging=!1;this.allowInteractionWhileDragging=!1};DestinyTooltip.prototype.init=function(){this.addListeners()};DestinyTooltip.prototype.addListeners=function(){var n=this,t={mouseenter:function(t){if(!n.isDragging||n.allowInteractionWhileDragging)n.onMouseEnter(t)},mouseleave:function(){n.onMouseLeave()}};this.useMouseMove&&(t.mousemove=function(t){if(!n.isDragging||n.allowInteractionWhileDragging)n.onMouseMove(t)});this.$parent.on(t)};DestinyTooltip.prototype.onMouseEnter=function(n){var t=this.$tooltip;t.addClass("active");this.determineQuadrant();this.useMouseMove||this.positionTooltip(n)};DestinyTooltip.prototype.determineQuadrant=function(){var o=this.$tooltip,i=this.$parent,t=this.$wrapper,n=this.wrapperPos;if(!this.isStatic){n.width=t.width();n.height=t.height();t.offset()!==undefined&&(n.top=t.offset().top,n.left=t.offset().left);var r=i.offset(),s=i.width(),h=i.height(),u={top:r.top+h/2,left:r.left+s/2},c=this.wrapperIsFixed?0:$(window).scrollTop(),l=n.width/2+n.left,a=n.height/2+n.top,f=u.left>l?-1:1,e=u.top-c>a?-1:1;this.tooltipQuadrant[0]=f;this.tooltipQuadrant[1]=e;o.attr({"data-quadrantX":f,"data-quadrantY":e})}};DestinyTooltip.prototype.onMouseLeave=function(){var n=this.$tooltip;n.removeClass("active")};DestinyTooltip.prototype.onMouseMove=function(n){this.isStatic||(this.determineQuadrant(),this.positionTooltip(n))};DestinyTooltip.prototype.positionTooltip=function(n){var i=this,r;if(this.displayAsModalWhenMobile&&Bnet.Reactive.mobile.test()){this.positionTooltipMobile();return}var u=this.$tooltip,h=this.$parent,a=this.tooltipQuadrant[0],v=this.tooltipQuadrant[1],c=n.pageX-h.offset().left,l=n.pageY-h.offset().top;this.tooltipIsFixed&&(c=n.pageX,l=n.pageY-$(window).scrollTop());var y=c-u.width()-i.tooltipHorizontalOffset,p=c+i.tooltipHorizontalOffset,w=l-u.height()+i.tooltipVerticalOffset,b=l-i.tooltipVerticalOffset,k=a>0?p:y,d=v>0?b:w,g=this.autoPositionHorizontal?k:this.tooltipHorizontalOffset,nt=this.autoPositionVertical?d:this.tooltipVerticalOffset,t={left:g+i.tooltipHorizontalOffsetAdditional,top:nt+i.tooltipVerticalOffsetAdditional};if(this.alignWithSide&&(a<0?(t.left="auto",t.right=0):(t.right="auto",t.left=0)),this.containInsideWindow){var f=u.height(),e=$(window).scrollTop(),o=$(window).height(),s=0;this.tooltipIsFixed?t.top+f>o?t.top=o-f:t.top<0&&(t.top=0):(r=h.offset().top+t.top,r<e+this.navHeight?(s=e+this.navHeight-r,t.top+=s):r+f>e+o&&(s=e+o-(r+f),t.top+=s))}u.css(t)};DestinyTooltip.prototype.positionTooltipMobile=function(){},function(){var n=function(n){this.ackName=n;this.ackId=0;this.tryShowMessage(n)&&(this.showMessage(),this.broadcast())},r,t,i;n.prototype.tryShowMessage=function(n){if(!n)return!1;var t=viewModels.acks();return n in t&&t[n].needsAck?(this.ackId=t[n].ackId,!0):!1};n.prototype.showMessage=function(){var n=this};n.prototype.broadcast=function(){$(document).trigger("nux",{ackName:this.ackName,ackId:this.ackId})};n.prototype.ackNux=function(n){Utility.ackItem(this.ackId,function(){typeof n=="function"&&n()},function(){})};r=function(t){n.call(this,t)};r.prototype=Object.create(n.prototype);r.prototype.showMessage=function(){var t=this,n=$.extend({},viewModels.defaultNuxTemplateData);n.className="triumphs-nux";n.title=Localizer.Userpages.triumphsnuxtitle;n.description=Localizer.Userpages.triumphsnuxdescription;n.customHtmlTemplateName="TriumphsNux";n.action=Localizer.Userpages.triumphsnuxtakemethere;n.closeOnClickOutside=!0;n.onClose=function(){t.ackNux()};n.onAction=function(){t.ackNux(function(){window.location="/"+Localizer.CurrentCultureName+"/Profile/Triumphs"})};viewModels.currentNuxTemplateData(n);viewModels.currentNuxTemplateName("DefaultNuxTemplate")};t=function(t){n.call(this,t)};t.prototype=Object.create(n.prototype);t.prototype.tryShowMessage=function(){return $("body").is(".Triumphs")&&$(".triumphs-set.active .triumph-item.complete").length===0&&$(".triumph-ended").length>0};t.prototype.showMessage=function(){var t=this,n=$.extend({},viewModels.defaultNuxTemplateData);n.className="triumphs-nux";n.title=Localizer.Userpages.triumphsnuxtitle;n.description=Localizer.Userpages.triumphsyeartwodescription;n.allowDismiss=!1;n.customHtmlTemplateName="TriumphsNux";n.closeOnClickOutside=!0;viewModels.currentNuxTemplateData(n);viewModels.currentNuxTemplateName("DefaultNuxTemplate")};i=function(t){n.call(this,t)};i.prototype=Object.create(n.prototype);i.prototype.showMessage=function(){};jQuery(function(){$(window).load(function(){var n=new t("triumphsyeartwo"),r=new i("gearManager")})})}();GrimoireCard=function(n){this.$el=n;this.$el.unbind(".grimoireCard");this.init()};GrimoireCard.prototype.init=function(){this.loadImage();this.showDials();this.flipAction();this.unflipAction();this.tabAction();this.scroll()};GrimoireCard.prototype.scroll=function(){var t=this,n=this.$el.find(".cardContentItem");n.length&&(t.determineBottomScroll(n),n.customScroll({afterScroll:function(n){t.determineBottomScroll(n)}}))};GrimoireCard.prototype.showDials=function(){this.$el.find(".rankDial").each(function(){var t=$(this).parents(".rank"),i=t.hasClass("complete"),r=t.hasClass("notStarted"),n="rgba(0,0,0,0)";i&&(n="#ffce1f");r||i||(n="#479ce4");$(this).knob({width:77,height:77,displayInput:!1,bgColor:"rgba(0,0,0,0.2)",fgColor:n,draw:function(){this.i.addClass("active")}})})};GrimoireCard.prototype.loadImage=function(){var n=this.$el[0],t=$(n).data("background");if(!$("<img/>").attr("src",t).prop("complete")&&t!==undefined){$(".cardFront",n).destinyLoader({startOnInit:!0,delayBeforeAppear:150,size:30,zIndex:6});$("<img/>").attr("src",t).on("load",function(){$(".cardFront",n).destinyLoader("stop")})}};GrimoireCard.prototype.flipAction=function(){var n=this;n.$el.on("click.grimoireCard",function(n){($(n.target).hasClass("isOwned")||$(n.target).parents(".isOwned").length)&&($(n.target).hasClass("unflip")||$(n.target).parents(".unflip").length||$(this).addClass("flipped"))})};GrimoireCard.prototype.unflipAction=function(){var n=this;n.$el.find(".unflip").on("click.grimoireCard",function(){n.$el.removeClass("flipped")})};GrimoireCard.prototype.tabAction=function(){var n=this;n.$el.find(".cardContentTab").on("click",function(){var t=$(this).index();$(this).addClass("current").siblings().removeClass("current");n.$el.find(".cardContentItem").eq(t).addClass("current").siblings().removeClass("current")})};GrimoireCard.prototype.determineBottomScroll=function(n){n[0].scrollHeight<=n.outerHeight()+n.scrollTop()?n.parents(".cardContent").addClass("scrollAtBottom"):n.parents(".cardContent").removeClass("scrollAtBottom")};Leaderboard=function(){this.onComplete=function(){};typeof ONPAGE_MEMBERSHIP_INFO!="undefined"?(this.membershipType=ONPAGE_MEMBERSHIP_INFO.destinyMembershipType,this.membershipId=ONPAGE_MEMBERSHIP_INFO.destinyMembershipId,this.characterId=ONPAGE_MEMBERSHIP_INFO.characterId):(this.membershipType=Globals.BungieMembershipType.None,this.membershipId=0,this.characterId=0);this.gameModes=[];this.observablePrefix="leaderboards_";this.leaderboardData=null};Leaderboard.prototype.init=function(){this.getLeaderboardData()};Leaderboard.prototype.getLeaderboardData=function(){var n=this;bungieNetPlatform.destinyService.GetLeaderboardsForCharacter(this.membershipType,this.membershipId,this.characterId,this.gameModes,function(t){n.onSuccess(t);n.onComplete()},function(t){n.onFailure(t)})};Leaderboard.prototype.onSuccess=function(n){for(var f=this.gameModes.length,r,i,u,t=0;t<f;t++)r=this.gameModes[t],i=this.convertEnumToResponseString(r),i in n&&(u=this.prepareData(n[i]),this.leaderboardData=u)};Leaderboard.prototype.onFailure=function(){};Leaderboard.prototype.prepareData=function(n){var i=[],t,r;for(t in n)n.hasOwnProperty(t)&&(r=n[t],i.push(r));return i};Leaderboard.prototype.convertEnumToResponseString=function(n){var t=Globals.DestinyActivityModeType[n];if(typeof t!="undefined")return t.substring(0,1).toLowerCase()+t.substring(1);Bnet.log(n)};ProgressBar=function(n){this.el=n;this.barFill=n.find(".barFill");this.fillWidth=this.barFill.data("width");this.fillOnInit=!0;this.fillDelay=0};ProgressBar.prototype.init=function(){this.fillOnInit&&this.fill()};ProgressBar.prototype.fill=function(){var n=this;setTimeout(function(){n.barFill.css({width:n.fillWidth})},this.fillDelay)};ProgressBar.prototype.unfill=function(){this.barFill.css("width",0)};ScrollElementBackground=function(n){this.$el=n;this.scrollMax=$("body").height()-$(window).height();this.offsetRange=200;this.immitateFixed=!1;this._offsetMax=this.offsetRange/2;this._offsetMin=this.offsetRange/-2};ScrollElementBackground.prototype.onScroll=function(){var t=window.scrollY||document.documentElement.scrollTop,f=t/this.scrollMax,i=this._offsetMax-this.offsetRange*f,n=0,r,u;this.immitateFixed?n=t+i-this._offsetMax:(r=Math.min(this._offsetMax,i),u=Math.max(this._offsetMin,r),n=u);this.$el.css({top:n})};SimpleDialogKO=function(n){SimpleDialog.call(this,n)};SimpleDialogKO.prototype=Object.create(SimpleDialog.prototype);SimpleDialogKO.prototype.Init=function(){if(typeof this.$el.data("simpleDialog")!="undefined"){this.$el.data("simpleDialog").Open();return}this.createElements();this.parseSizes();this.addListeners();this.Update();this.autoOpen&&this.Open();this.storeData()};SimpleDialogKO.prototype.createElements=function(){var n=this,i,t;n.$el.attr("class")!==""&&(i=n.$el.attr("class").replace(/\s/gi,"SimpleDialog ")+"SimpleDialog");t=n.$el.attr("id");this.newId=t;this.$container=this.$el;this.$dialog=this.$el.find(".simpleDialog");this.$contents=this.$el.find(".simpleDialogContent")};SimpleDialogKO.prototype.Open=function(){SimpleDialog.prototype.Open.call(this);var n=this;n.$dialog.find(".closeSimpleDialog").on("click",function(){n.Close()})};SimpleDialogKOGrimoire=function(n){SimpleDialogKO.call(this,n)};SimpleDialogKOGrimoire.prototype=Object.create(SimpleDialogKO.prototype);SimpleDialogKOGrimoire.prototype.Close=function(){SimpleDialogKO.prototype.Close.call(this);viewModels.currentGrimoireCardRaw(null)};viewModels.currentGrimoireCardRaw=ko.observable(null);viewModels.determineGrimoireCardBonus=function(n){var t={hasBonus:!1,hasCompletedBonus:!1},e,r,u,i,o,f,s;try{if(!n.statisticCollection)return t;for(e=n.statisticCollection.length,r=0;r<e;r++)if(u=n.statisticCollection[r],i=u.statDef,i&&i.rankCollection!==undefined)for(o=i.rankCollection.length,j=0;j<o;j++)f=i.rankCollection[j],n.cardDef.bonusRank!==undefined&&(t.hasBonus=!0,s=n.cardDef.bonusRank,s.rank===f.rank&&u.value>=f.threshold&&(t.hasCompletedBonus=!0,t.hasBonus=!1));return t}catch(h){return Bnet.error(h),t}};viewModels.determineGrimoireCardBackground=function(n){var t=n.cardDef.highResolution.image.sheetPath;return"url("+t+") 0 0 no-repeat"};viewModels.processGrimoireCardRanks=function(n,t,i){var u,r;try{if(t.rankCollection===undefined)return t;var e=i.bonusRank,s=t.rankCollection.length,f=0,o=0;for(u=0;u<s;u++)r=t.rankCollection[u],r.isComplete=n.value>=r.threshold,r.isStarted=f===0,r.progressString=r.isComplete?Localizer.Grimoire_ui.rankcomplete:n.value+"/"+r.threshold,r.isStarted||(r.progressString=r.threshold),n.value>=r.threshold&&o++,r.isActive=!1,r.isInProgress=!1,e.rank===r.rank&&(n.value>=r.threshold?r.isActive=!0:(e.rank===1||o>0)&&(r.isInProgress=!0)),f=r.isComplete?f:r.rank;return t}catch(h){Bnet.log(h)}};viewModels.processGrimoireCardStatistics=function(n){var e,o,i,r,t,u,f;try{if(n.statisticCollection===undefined)return null;for(e=n.statisticCollection.length,o=n.cardDef.statisticCollection.length,i=0;i<e;i++){for(r=n.statisticCollection[i],t=null,u=0;u<o;u++)f=n.cardDef.statisticCollection[u],r.statNumber===f.statNumber&&(t=f);t&&(t=viewModels.processGrimoireCardRanks(r,t,n.cardDef));r.statDef=t}return n.statisticCollection}catch(s){Bnet.log(s)}};viewModels.processGrimoireCardData=function(n){var t,i,r;try{t=n.data.cardCollection.length?n.data.cardCollection[0]:{};t.cardDef=null;for(i in n.cardDefinitions)n.cardDefinitions.hasOwnProperty(i)&&(t.cardDef=n.cardDefinitions[i]);return t.cardDef&&(t.cardBackground=viewModels.determineGrimoireCardBackground(t),t.hasIntro=t.cardDef.cardIntro!==undefined,t.hasAttribution=t.cardDef.cardIntroAttribution!==undefined),n.data.cardCollection.length&&(r=viewModels.determineGrimoireCardBonus(t),t.statisticCollection=viewModels.processGrimoireCardStatistics(t),t.hasBonus=r.hasBonus,t.hasCompletedBonus=r.hasCompletedBonus,t.hasStats=t.statisticCollection!==undefined),t}catch(u){Utility.alert(Localizer.Legend.unabletoloadthisgrimoire);Bnet.log(u)}};viewModels.currentGrimoireCard=ko.computed(function(){var n=viewModels.currentGrimoireCardRaw();return n?viewModels.processGrimoireCardData(n):null});viewModels.currentGrimoireCardRendered=function(){if(viewModels.currentGrimoireCard()){var n=$(".dynamicGrimoireCard"),t=new GrimoireCard(n);n.addClass("ready")}};viewModels.defaultNuxTemplateData={className:"",title:"",description:"",action:"",allowDismiss:!0,customHtmlTemplateName:"",customHtmlTemplateData:null,onClose:function(){},onAction:function(){viewModels.currentNuxTemplateHide()},closeOnClickOutside:!1};viewModels.currentNuxTemplateName=ko.observable("");viewModels.currentNuxTemplateData=ko.observable(viewModels.defaultNuxTemplateData);viewModels.currentNuxTemplateHide=function(){viewModels.currentNuxTemplateData().allowDismiss&&$("#NUX_Container").hasClass("active")&&($("#NUX_Container").removeClass("active"),$("html").removeClass("uiDisabled"),setTimeout(function(){viewModels.currentNuxTemplateName("")},500),viewModels.currentNuxTemplateData().onClose!==undefined&&viewModels.currentNuxTemplateData().onClose())};viewModels.currentNuxTemplateName.subscribe(function(){viewModels.currentNuxTemplateName()!==""?setTimeout(function(){if($("html").addClass("uiDisabled"),$("#NUX_Container").addClass("active"),viewModels.currentNuxTemplateData().closeOnClickOutside)$("#content").one("click",function(){viewModels.currentNuxTemplateHide()})},500):viewModels.currentNuxTemplateHide()})