function VM_Support_onSubmit(){$("#support-bt-submit").addClass("loading").prop("disabled",!0);VM.Support.$form.submit()}(function(n){function i(n,t){for(var i=window,r=(n||"").split(".");i&&r.length;)i=i[r.shift()];return typeof i=="function"?i:(t.push(n),Function.constructor.apply(null,t))}function u(n){return n==="GET"||n==="POST"}function o(n,t){u(t)||n.setRequestHeader("X-HTTP-Method-Override",t)}function s(t,i,r){var u;r.indexOf("application/x-javascript")===-1&&(u=(t.getAttribute("data-ajax-mode")||"").toUpperCase(),n(t.getAttribute("data-ajax-update")).each(function(t,r){var f;switch(u){case"BEFORE":f=r.firstChild;n("
").html(i).contents().each(function(){r.insertBefore(this,f)});break;case"AFTER":n("
").html(i).contents().each(function(){r.appendChild(this)});break;case"REPLACE-WITH":n(r).replaceWith(i);break;default:n(r).html(i)}}))}function f(t,r){var e,h,f,c;(e=t.getAttribute("data-ajax-confirm"),!e||window.confirm(e))&&(h=n(t.getAttribute("data-ajax-loading")),c=parseInt(t.getAttribute("data-ajax-loading-duration"),10)||0,n.extend(r,{type:t.getAttribute("data-ajax-method")||undefined,url:t.getAttribute("data-ajax-url")||undefined,cache:!!t.getAttribute("data-ajax-cache"),beforeSend:function(n){var r;return o(n,f),r=i(t.getAttribute("data-ajax-begin"),["xhr"]).apply(t,arguments),r!==!1&&h.show(c),r},complete:function(){h.hide(c);i(t.getAttribute("data-ajax-complete"),["xhr","status"]).apply(t,arguments)},success:function(n,r,u){s(t,n,u.getResponseHeader("Content-Type")||"text/html");i(t.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(t,arguments)},error:function(){i(t.getAttribute("data-ajax-failure"),["xhr","status","error"]).apply(t,arguments)}}),r.data.push({name:"X-Requested-With",value:"XMLHttpRequest"}),f=r.type.toUpperCase(),u(f)||(r.type="POST",r.data.push({name:"X-HTTP-Method-Override",value:f})),n.ajax(r))}function h(t){var i=n(t).data(e);return!i||!i.validate||i.validate()}var t="unobtrusiveAjaxClick",r="unobtrusiveAjaxClickTarget",e="unobtrusiveValidation";n(document).on("click","a[data-ajax=true]",function(n){n.preventDefault();f(this,{url:this.href,type:"GET",data:[]})});n(document).on("click","form[data-ajax=true] input[type=image]",function(i){var r=i.target.name,u=n(i.target),f=n(u.parents("form")[0]),e=u.offset();f.data(t,[{name:r+".x",value:Math.round(i.pageX-e.left)},{name:r+".y",value:Math.round(i.pageY-e.top)}]);setTimeout(function(){f.removeData(t)},0)});n(document).on("click","form[data-ajax=true] :submit",function(i){var f=i.currentTarget.name,e=n(i.target),u=n(e.parents("form")[0]);u.data(t,f?[{name:f,value:i.currentTarget.value}]:[]);u.data(r,e);setTimeout(function(){u.removeData(t);u.removeData(r)},0)});n(document).on("submit","form[data-ajax=true]",function(i){var e=n(this).data(t)||[],u=n(this).data(r),o=u&&u.hasClass("cancel");(i.preventDefault(),o||h(this))&&f(this,{url:this.action,type:this.method||"GET",data:e.concat(n(this).serializeArray())})})})(jQuery);var VM=VM||{};VM.Support={$form:null,$step1:null,$step1complete:null,$step2:null,$email:null,$emailArea:null,$hasAccount:null,$noAccount:null,$loggedIn:null,$savedCards:null,$paymentMethods:null,$paymentCard:null,$message:null,$messageNoTier:null,hasRecaptcha:!1,selectedInterval:"",selectedTierLabel:"",eventTrackingProps:null,localStorageKeys:{interval:"VM_support_interval",tier:"VM_support_tier",amount:"VM_support_amount",otherAmountType:"VM_support_amount_type",ecommerceTracking:"VM_support_ecommerce"},currencySymbol:"$",taxes:{tax1name:"",tax1percentage:0,tax2name:"",tax2percentage:0},init:function(){this.$form=$("#support-form").on("click",".interval input",this.onIntervalSelect).on("click",".support-signin",this.onSignInClick).on("click",".support-tier",this.onTierSelect).on("click",".support-other-input",this.onOtherSelect).on("focus",".support-other-amount",this.onOtherAmountFocus).on("click",".tier-change",this.onSupportChange).on("click","#support-form-submit",this.onValidate);this.currencySymbol=this.$form.data("currency-symbol");this.taxes.tax1name=this.$form.data("tax1-name");this.taxes.tax1percentage=parseFloat(this.$form.data("tax1-per"));this.taxes.tax2name=this.$form.data("tax2-name");this.taxes.tax2percentage=parseFloat(this.$form.data("tax2-per"));this.$step1=$("#support-step-1");this.$step1complete=$("#support-step-1-complete");this.$step2=$("#support-step-2");this.$email=$("#Email").on("blur",this.onEmailBlur);this.$emailArea=$("#support-emailarea");this.$hasAccount=$("#support-hasaccount");this.$noaccount=$("#support-noaccount");this.$loggedIn=$("#support-loggedin");$("#support-step1-bt").on("click",this.onStep1Complete);this.$savedCards=$("#support-savedcards");this.$paymentMethods=$(".payment-method").find("input").click(this.onMethodSelect).end();this.$paymentCard=$("#payment-card");this.$message=$("#support-message");this.$messageNoTier=$("#support-message-notier");this.checkLocalStorage();this.addReturnUrl();this.hasRecaptcha=this.$form.find(".g-recaptcha").length>0;VM.$body.find(".faq").addClass("contracted").on("click",this.onFaqClick)},checkLocalStorage:function(){var i=VM.Storage.getObj(VM.Support.localStorageKeys.interval),r=VM.Storage.getObj(VM.Support.localStorageKeys.tier),u=VM.Storage.getObj(VM.Support.localStorageKeys.amount),f=VM.Storage.getObj(VM.Support.localStorageKeys.otherAmountType),n,t;i&&(n=this.$form.find("input[name='Interval'][value='"+i+"']"),n.length&&n.click());u&&(r?(t=this.$form.find("input[name='Tier'][value='"+r+"']"),t.length&&t.click()):f&&$("#"+f.toLowerCase()).val(u).focus())},addReturnUrl:function(){var n=$("#hd-account-unlogged");if(n.length){var t="?returnUrl="+encodeURIComponent(window.location.pathname+window.location.search),i=n.find("a[href='/account/login']"),r=n.find("a[href='/account/register']");i.attr("href",i.attr("href")+t);r.attr("href",r.attr("href")+t)}},onIntervalSelect:function(){VM.Support.selectCard($(this));var n=$(this).val(),t=$(this).data("billing"),i=$(this).parent().text();VM.Support.selectedInterval=n;$(".cards-tiers",VM.Support.$form).addClass("hidden").find(".tier").removeClass("card-tier-selected").removeClass("theme-secondary-bg");VM.Support.$form.find(".support-tier").prop("checked",!1);$("#intervals-"+n).removeClass("hidden").find(".tier").each(function(){var n=$(this),t=n.find(".support-tier");t.data("default")&&(n.addClass("card-tier-selected").addClass("theme-secondary-bg"),t.prop("checked",!0))});$("#other-"+n).removeClass("hidden").siblings(".support-other").addClass("hidden").find("input").prop("checked",!1);$(".support-interval-friendly",VM.Support.$form).text(i);$(".support-interval-billing",VM.Support.$form).text(t);VM.Storage.setObj(VM.Support.localStorageKeys.interval,n);VM.Support.getSelectedTier()&&VM.Support.$messageNoTier.addClass("hidden")},onOtherSelect:function(){$($(this).data("focus")).focus()},onTierSelect:function(){var n=$(this);VM.Support.selectCard(n);VM.Support.$messageNoTier.addClass("hidden");VM.Support.selectedTierLabel=n.hasClass("support-other-input")?"other":n.closest(".card").find(".tier-label").text()},onStep1Complete:function(){var i=VM.Support.getSelectedTier(),n,t;i?(VM.Support.$messageNoTier.addClass("hidden"),VM.Support.$form.validate(),VM.Support.$form.valid()&&(VM.Support.$step1.addClass("hidden"),VM.Support.$step1complete.removeClass("hidden"),VM.Support.$step2.removeClass("hidden"),VM.scrollTo(VM.Support.$step2),$("#Email").focus(),n=VM.Support.setAmount(),VM.Support.clearMessage(),t=VM.Track.trackEvent("continue",{category:"NTG membership",label:VM.Support.selectedInterval+": "+VM.Support.selectedTierLabel,value:n}),VM.Support.eventTrackingProps=t)):VM.Support.$messageNoTier.removeClass("hidden")},getSelectedTier:function(){return this.$form.find(".support-tier:checked").val()},onValidate:function(n){n.preventDefault();VM.Support.$form.validate();VM.Support.$form.valid()?VM.Support.hasRecaptcha?grecaptcha.execute():VM.Support.submit():VM.Support.hasRecaptcha&&grecaptcha.reset()},submit:function(){VM.Support.$form.submit()},onSignInClick:function(n){n.preventDefault();VM.Login.fillEmail(VM.Support.$email.val());VM.AccountModal.$modal.modal("show")},onEmailBlur:function(){var n,i,t;(VM.Support.$hasAccount.addClass("hidden"),VM.Support.$noaccount.addClass("hidden"),n=$(this),n.val()!=="")&&n.valid()&&(i=n.data("remote"),t={__RequestVerificationToken:VM.Support.$form.find("input[name = '__RequestVerificationToken']").val()},t[n.data("remote-param")]=n.val(),$.ajax({dataType:"json",method:"POST",data:t,url:i}).done(function(n){VM.Support.$hasAccount.toggleClass("hidden",n);VM.Support.$noaccount.toggleClass("hidden",!n)}).fail(function(){}))},selectCard:function(n){n.closest(".card").addClass("card-tier-selected").addClass("theme-secondary-bg").siblings().removeClass("card-tier-selected").removeClass("theme-secondary-bg")},setAmount:function(){var t=this.$form.find(".support-tier:checked"),n=0,r="",u="",f="",i;return t.hasClass("support-other-input")?(i=$(t.data("focus")),n=parseInt(i.val(),10),f=i.attr("name")):(n=parseInt(t.data("amount"),10),u=t.val(),t.data("taxable")&&(r="+ "+this.currencySymbol+this.calculateTax(n)+" "+this.getTaxNames())),$(".support-amount",this.$form).text(this.currencySymbol+n),$(".tier-taxes",this.$form).text(r),VM.Storage.setObj(VM.Support.localStorageKeys.tier,u),VM.Storage.setObj(VM.Support.localStorageKeys.amount,n),VM.Storage.setObj(VM.Support.localStorageKeys.otherAmountType,f),n},calculateTax:function(n){var t=n*(this.taxes.tax1percentage+this.taxes.tax2percentage);return t.toFixed(2)},getTaxNames:function(){var n=this.taxes.tax1name;return this.taxes.tax2percentage>0&&(n+="/"+this.taxes.tax2name),n},onOtherAmountFocus:function(){VM.Support.selectedTierLabel="other";var n=$(this).closest(".support-other");n.prev().find(".card").removeClass("card-tier-selected").removeClass("theme-secondary-bg");n.find(".support-other-input").prop("checked",!0)},onSupportChange:function(n){n.preventDefault();VM.Support.$step1.removeClass("hidden");VM.Support.$step1complete.addClass("hidden");VM.Support.$step2.addClass("hidden");VM.scrollTo(VM.Support.$step1)},onMethodSelect:function(){$(this).closest(".card").removeClass("card-trans").siblings().addClass("card-trans");VM.Support.$paymentCard.toggleClass("hidden",$(this).val()!=="NewCard")},loginSuccess:function(n){var i,r,t;VM.Support.clearMessage();VM.Support.$emailArea.addClass("hidden");VM.Support.$hasAccount.addClass("hidden");VM.Support.$noaccount.addClass("hidden");i=VM.Support.$loggedIn.removeClass("hidden");i.find("b").text(n.username);i.find("a").remove();n.card&&(r=VM.Support.$form.find("input[value='SavedCard']").click(),t=r.closest(".card"),$(".cc-img",t).attr("class","ic cc-img cc-img-"+n.card.b.toLowerCase().replace(" ","")),$(".cc-brand",t).text(n.card.b),$(".cc-ending",t).text(n.card.d),$(".cc-expiry-m",t).text(n.card.em),$(".cc-expiry-y",t).text(n.card.ey),VM.Support.$savedCards.removeClass("hidden"),VM.Support.$paymentCard.addClass("hidden"));VM.Track.trackEvent("logged in",VM.Support.eventTrackingProps)},clearMessage:function(){this.$message.attr("class","hidden")},onBegin:function(){VM.Ajax.onBegin.call(this);VM.Support.clearMessage()},onFailure:function(n){var t=VM.Ajax.getXhrError(n);VM.Support.$message.removeClass("hidden").addClass("alert alert-danger").html(t);VM.Support.hasRecaptcha&&grecaptcha.reset()},onSuccess:function(n){VM.Storage.setObj(VM.Support.localStorageKeys.ecommerceTracking,n);var t=(VM.Support.$form.data("thankyou")||"/account/support/thankyou/0").replace("/0","/"+n.trans.transaction_id);window.location.href=t},onFaqClick:function(){$(this).toggleClass("contracted")}};$(function(){VM.Support.init()})