namespace("users.validateVatId");users.validateVatId.ValidateVatIdView=Backbone.View.extend({initialize:function(n){_.extend(this,n);var t=this.$el.formBuilderForm();this.billingCountryFieldView=t.fieldViews[this.billingCountryFieldId];this.vatIdFieldView=t.fieldViews[this.vatIdFieldId];this.billingCountryFieldView.getComponent().on("change",this.onBillingCountryChanged.bind(this));this.vatIdFieldView.getComponent().on("blur",this.onVatIdBlur.bind(this))},render:function(){this.vatIdValidationStatusContainer=$("<div/>");this.vatIdFieldView.getComponent().after(this.vatIdValidationStatusContainer);this._toggleVatIdField()},onBillingCountryChanged:function(){this._toggleVatIdField();this._isEuCountrySelected()&&this._invokeValidation()},onVatIdBlur:function(){this._invokeValidation()},_toggleVatIdField:function(){var n=this._isEuCountrySelected();this.vatIdFieldView.$el.toggle(n).ignoreOnSubmit(!n)},_invokeValidation:function(){if(!this.vatIdFieldView.getValue()){this.vatIdValidationStatusContainer.text("");return}var n=this,t=this.billingCountryFieldView.getValue();Backbone.post(this.validateVatIdUrl,{countryCode:_(this.euCountries).find(function(n){return n.id==t}).code,vatId:this.vatIdFieldView.getValue()},{dontShowSuccessAlert:!0,success:function(t){var i;t.result.validationResult=="Valid"?i=sprintf("%(vat)s ID Valid",clientTerms):t.result.validationResult=="Invalid"?(i=sprintf("%(vat)s ID Invalid",clientTerms),Confirmation.alert(sprintf("We cannot verify your %(vat)s Number. Please note that %(vat)s will be added to your %(invoice)s",clientTerms))):i=sprintf("%(vat)s Web Service is Currently Unavailable. Please confirm your %(vat)s is accurate",clientTerms);n.vatIdValidationStatusContainer.text(i)}})},_isEuCountrySelected:function(){var n=this.billingCountryFieldView.getValue();return _(this.euCountries).any(function(t){return n==t.id})}})