function historyJumpTo(n,t){var u=parseInt(n),r=parseInt(t);for(i=1;i<=500;i++)if(u<=2012&&r<=8){scrollToElement(".2012-8");break}else if($("."+u+"-"+r).length){scrollToElement("."+u+"-"+r);break}else r--,r==0&&(r=12,u--)}function glossaryLoad(){$(window).on("hashchange",function(){glossaryJumpTo(window.location.hash)});$("#txtFilterTerm").on("input propertychange paste",function(){filterTable("#gvGlossary",$(this).val())})}function filterTable(n,t){$(n+" tr").each(function(n,i){var r=$(i).find("td:first").text().trim();r!=""&&(r.toLowerCase().indexOf(t.toLowerCase())>-1?$(i).show():$(i).hide())});var i=$(n+" tr:visible").length-1;i<=0?($(n).hide(),$("#glossary-no-results").fadeIn()):($(n).show(),$("#glossary-no-results").fadeOut())}function resetFiler(n,t){$("#txtFilterTerm").val("");t&&$("#txtFilterTerm").focus();$(n+" tr").show();$(n).show();$("#glossary-no-results").hide()}function glossaryJumpTo(n){n!=""&&(resetFiler("#gvGlossary",!1),n=n.replace("#",""),$("tr").removeClass("glossary-highlighted"),$('[data-term="'+n+'"]').closest("tr").addClass("glossary-highlighted"),scrollToElement('[data-term="'+n+'"]'),window.location.hash!=n&&(window.location.hash=n))}function GetHeroSpawns(n){$.ajax({url:"/feed/hero-ability-spawns.ashx",method:"GET",timeout:1e4,success:function(t){var u="",i,r;switch(n){case"king":u="Barbarian King";break;case"queen":u="Archer Queen"}$("#"+n+"-spawns-info").html("A <strong>level "+t.h.l+" "+u+"<\/strong> will spawn <strong>"+t.h.su+" "+t.s.n+"s<\/strong>.");i=0;r=0;$.each(t.l,function(u,f){var s="",e=0,h="",o=0,c,l,a;e=f.h*t.h.su;s+="<strong>"+e.toLocaleString()+"<\/strong> ("+f.h+" x "+t.h.su+")";i!=0&&(c=e-i,s+='<br><strong style="color: #5da423;">+'+c.toLocaleString()+" ("+Math.round(c/i*1e3)/10+"%)<\/strong>");o=f.d*t.h.su;h+="<strong>"+o+"<\/strong> ("+f.d+" x "+t.h.su+")";r!=0&&(l=o-r,h+='<br><strong style="color: #5da423;">+'+l.toLocaleString()+" ("+Math.round(l/r*1e3)/10+"%)<\/strong>");a="<tr><td><strong>"+f.l+"<\/strong><\/td><td>"+s+"<\/td><td>"+h+"<\/td><\/tr>";$("#"+n+"-spawns").append(a);i=e;r=o})}})}function OTTOVillgeDropdownChange(n){$("#txtPlayerTag").val(n);GetOTTOProgress(n)}function GetOTTOProgress(n){$.ajax({url:"/feed/otto-progress/"+n.toLowerCase(),method:"GET",timeout:1e4,success:function(n){$("#otto-progress-holder").html(n)},error:function(){$("#otto-progress-holder").html("Unable to load the widget.")}})}function OTTOSantisePlayerTag(){var n=$("#txtPlayerTag").val().toString().trim(),t=n.replace("#","");$("#txtPlayerTag").val(t)}function lh(){$(".community-creators a").on("click tap",function(){var n,t,i;$(this).attr("href")&&(n=$(this).attr("data-c"),t=$(this).attr("data-t"),n!=""&&t!=""&&(i={c:n,t:t},$.ajax({url:"/ct",method:"POST",data:i,timeout:3e3,fail:function(){return!1}})))})}function CGTimer(){CGTimerUpdate(remaining);setInterval(CGTimerUpdate,1e3)}function CGTimerUpdate(){if(remaining>0){let n=Math.floor(Date.now()-start)/1e3;$("#cg-countdown").html(formatTime(remaining-n))}else $("#cg-countdown").html("")}function showGemValue(n,t){switch(t){case"buy":$("#btnSell-"+n).removeClass("disabled");$("#btnBuy-"+n).addClass("disabled");$("#filterinfo-"+n).html("Showing gem values when purchasing magic items from the Trader");break;case"sell":$("#btnSell-"+n).addClass("disabled");$("#btnBuy-"+n).removeClass("disabled");$("#filterinfo-"+n).html("Showing gem values when selling magic items")}$("#btnItems-"+n).removeClass("disabled");$.each($("#cg-"+n+" .cg-reward"),function(n,i){var r=0,u;switch(t){case"buy":r=$(i).data("gembuyvalue");break;case"sell":r=$(i).data("gemsellvalue")}u=$(i).data("quantity");r>0&&$(i).data("id")!=1001?($(i).find("img.reward-img").attr("src","/images/gem.png"),$(i).addClass("r-1001"),$(i).find(".cg-reward-quantity").html(r*u)):$(i).data("alt")!=!0&&(u=$(i).data("quantityformatted"),$(i).find("img.reward-img").attr("src",$(i).data("iconurl")),$(i).find(".cg-reward-quantity").html(u))})}function showItems(n){$("#btnSell-"+n).removeClass("disabled");$("#btnBuy-"+n).removeClass("disabled");$("#btnItems-"+n).addClass("disabled");$("#filterinfo-"+n).html("");$.each($("#cg-"+n+" .cg-reward"),function(n,t){var i=$(t).data("quantityformatted");$(t).data("id")!=1001&&$(t).data("alt")!=!0&&($(t).find("img.reward-img").attr("src",$(t).data("iconurl")),$(t).removeClass("r-1001"),$(t).find(".cg-reward-quantity").html(i))})}function processOptGroups(){var n={};$("#ddlPreviousGames option[data-category]").each(function(){n[$.trim($(this).attr("data-category"))]=!0});$.each(n,function(n){$("#ddlPreviousGames option[data-category='"+n+"']").wrapAll('<optgroup label="'+n+'">')});$("#ddlPreviousGames option:first").prop("selected",!0)}function showPreviousRewards(){$("#show-previous-rewards").hide();$("#hide-previous-rewards").show();$("#previous-rewards").slideDown()}function hidePreviousRewards(){$("#show-previous-rewards").show();$("#hide-previous-rewards").hide();$("#previous-rewards").slideUp()}function ige(){var n=luxon.DateTime;luxon.Settings.defaultLocale=n.now().resolvedLocaleOpts().locale;$.each($(".event-holder"),function(t,i){let r=$(i).data("ed"),u=$(i).data("remaining");if(r!==undefined&&u!==undefined){r=parseInt(r);u=parseInt(u);let t=n.fromMillis(r);$(i).children(".event-date").html(t.toFormat("DDD t ZZZZ"))}});igeUpdate();setInterval(igeUpdate,1e3)}function igeUpdate(){let n=Math.floor(Date.now()-start)/1e3;$.each($(".event-holder"),function(t,i){let r=$(i).data("remaining");if(r!==undefined){r=parseInt(r);let t=r-n;t>0?$(i).children(".event-timer").html(formatTime(t)):$(i).children(".event-timer").html("Now")}})}function setMaxTHTimes(){let n={builders:2,goldpass:1};if($("#ddlBuilders").length&&(n.builders=parseInt($("#ddlBuilders").val())),$("#ddlGoldPass").length){let t=parseFloat($("#ddlGoldPass").val());t>0&&(n.goldpass=1-t/100)}$.each($(".category-resource"),function(t,i){let r=$(i).data("resourcetotal");$(i).html("<strong>"+formatNumber(r*n.goldpass,2)+"<\/strong>")});$.each($(".category-time"),function(t,i){let o=$(i).data("type"),u=$(i).data("timelongest"),f=$(i).data("timetotal"),e=!1,r=0;switch(o){case"buildertime":case"structures":case"heroes":r=Math.floor(f/n.builders);r<u&&u!=0&&(r=u,e=!0);$(i).html("<strong>"+formatDuration(r*n.goldpass)+(e?"*":"")+"<\/strong>");break;default:$(i).html("<strong>"+formatDuration(f*n.goldpass)+"<\/strong>")}});let t="?builders="+$("#ddlBuilders").val();$("#ddlGoldPass").val()!=0&&(t+="&gold-pass="+$("#ddlGoldPass").val());history.replaceState(null,null,t)}function changeMaxTHLevel(){if($("#ddlTownHall").length){let n="/guides/how-long-to-max-th-"+$("#ddlTownHall").val()+"?builders="+$("#ddlBuilders").val();$("#ddlGoldPass").val()!=0&&(n+="&gold-pass="+$("#ddlGoldPass").val());location.href=n}}function compareMultipleTH(){$(".THMultiError").html("");let n=parseInt($("#ddlTHFrom").val()),t=parseInt($("#ddlTHTo").val());if(console.log(n),!isNumeric(n)||!isNumeric(t)){$(".THMultiError").html("Select a start TH and an end TH");return}if(n>=t){$(".THMultiError").html("The start TH must be lower than the end TH");return}location.href="/guides/how-long-to-upgrade-th-"+n+"-to-"+t}var start=Date.now(),remaining