!function(){var e=function(e){this.$container=$(e),this.$container.length&&this.init()};e.prototype.init=function(){this.$baseSelect=$('select[name="base"]',this.$container),this.$compareSelect=$('select[name="compare"]',this.$container),this.$container.on("change","select",$.proxy(t,this)),this.$container.find("select").each(function(){var e=$(this).find("option[selected]").val();e?$(this).val(e):this.selectedIndex=0})};var t=function(){var e=this.$baseSelect.val(),t=this.$compareSelect.val();e?t&&t!=e?this.$baseSelect.trigger("mod-navigate",i(e,t)):(this.$compareSelect.removeAttr("disabled"),this.$compareSelect.find("option").removeAttr("disabled").filter('[value="'+e+'"]').attr("disabled","disabled")):this.$compareSelect.attr("disabled","disabled")},i=function(e,t){return["~/currencies",e,t].join("/")};MOD.CurrencySelector=e}(); !function(){var e={Webservice:{Url:"~/currencies/ajax/crossratesforselectedregion"}},i=function(e){this.$container=$(e),this.$container.length&&this.init()};i.prototype.init=function(){this.$select=this.$container.find("select"),this.baseCurrency=this.$container.attr("data-mod-base"),this.$select.on("change",$.proxy(n,this)),this.$freezePanes=new MOD.FreezePaneTable(this.$container.find(".mod-ui-table--freeze-pane__container"),1)};var n=function(){var i={group:this.$select.val(),baseCurrency:this.baseCurrency};MOD.UI.Loading.show(this.$container),this.regionChangeAJAX&&this.regionChangeAJAX.abort(),this.conversionAJAX=$.ajax({url:MOD.Common.resolveUrl(e.Webservice.Url),data:i}).done($.proxy(t,this)).fail($.proxy(r,this))},t=function(e){MOD.UI.Loading.hide(this.$container);var i=$(e.html);this.$container.html(i.html()),this.init(),this.$freezePanes.resize()},r=function(e){MOD.UI.Loading.hide(this.$container)};MOD.CurrencyCrossRates=i}(); !function(){var e={DefaultValue:"",ResultsSelector:".mod-currency-converter__results",Webservice:{Url:"~/currencies/ajax/conversion",ResultsTemplate:'

{amount} {baseCurrency} is equal to: {value} {comparison}.

Exchange rate: {exchangeRate}.{disclaimer}

',FailMessage:"

There was an error processing this conversion

",FailMessageRUB:"

The Russian Ruble conversion rate has been suspended and will no longer be available

"}},s=function(e){this.$container=$(e),this.$container.length&&this.init()};s.prototype.init=function(){this.$form=this.$container.find("form"),this.$results=this.$container.find(e.ResultsSelector),this.$form.on("change",$.proxy(r,this)),this.$form.on("submit",$.proxy(t,this)),r.call(this)};var t=function(e){e.preventDefault(),r.call(this)},r=function(){var s=this.$form.serializeArray(),t={};$.each(s,function(e){t[s[e].name]=s[e].value}),this.$results.empty(),n(t)?(MOD.UI.Loading.show(this.$results),this.conversionAJAX&&this.conversionAJAX.abort(),this.activeParams=t,this.conversionAJAX=$.ajax({url:MOD.Common.resolveUrl(e.Webservice.Url),data:t}).done($.proxy(function(e){i.call(this,e,t)},this)).fail($.proxy(function(e){a.call(this,e,t)},this))):this.$results.empty()},i=function(s,t){s.data&&s.data.exchangeRate?(this.$results.html(MOD.Common.format(e.Webservice.ResultsTemplate,$.extend({},this.activeParams,s.data))),MOD.UI.Loading.hide(this.$results)):a.call(this,s,t)},a=function(s,t){"RUB"==t.baseCurrency||"RUB"==t.comparison?this.$results.html(e.Webservice.FailMessageRUB):this.$results.html(e.Webservice.FailMessage),MOD.UI.Loading.hide(this.$results)},n=function(s){var t=parseFloat(s.amount);return!isNaN(t)&&t>0&&s.baseCurrency!=e.DefaultValue&&s.comparison!=e.DefaultValue&&s.baseCurrency!=s.comparison};MOD.CurrencyConverter=s}();