function verifyAndGetGoogleReCaptchaScore(n,t,i,r,u){$.ajax({type:"GET",url:__ApiKeyConfig.url+"/GoogleReCaptcha/ReCaptchaVerifyAsync",data:{key:__ApiKeyConfig.key,token:n},success:function(n){if(n.status=="success")console.log("recaptcha token verification result - "+n.status+" with score "+n.score),t(i,r);else{var f=u.reloadErrorMessages.RecaptchaValidationFailed;$("#reloadError").empty();setTimeout(function(){$("#reloadError").length&&!$("#reloadError").html().length&&$("#reloadError").append('<span data-icon="&#x63;" aria-hidden="true"><\/span> '+f)},50);console.log("result - "+n.status+" score "+n.score)}},error:function(n){console.log("Error Code: Error Block, Error Description: "+JSON.stringify(n))}})}function setReloadCardOnComplete(n){if($("#Prepaidcardnumber").val(_EckohCallGuard.EckohPanMasking(n.result.masked_pan)),$("#eckoh-cardnumber").val(n.result.masked_pan),n.result.masked_pan||($(".card-validated").removeAttr("style"),$(".check-card").attr("style","background-color: #dddddd;"),$(".check-card").attr("disabled","true")),n.result.capture_complete=="true"?($(".check-card").removeAttr("style"),$(".check-card").removeAttr("disabled")):$(".reload-cash-passport div.form").attr("style","opacity:0.5"),n.result.error==!0&&n.result.error_group===ErrorGroup.PANInput){var t=_EckohCallGuard.GetEckohMessage(n.result);$("#reloadError").empty();setTimeout(function(){$("#reloadError").length&&!$("#reloadError").html().length&&$("#reloadError").append('<span data-icon="&#x63;" aria-hidden="true"><\/span> '+t)},50)}else $("#reloadError").empty()}function onCardTokenSuccessPrepaid(n,t,i){var u,r,f;i===void 0&&(i=!1);i?u=__IsAudioTokenised?$("#eckoh-cardnumber").val():$("#flex-cardnumber").val():(r=$("#Prepaidcardnumber"),f=r.val(),u=maskPAN2(r.val()));t?putPanIntoLocker(u,t,n,i?!1:!0):putPanIntoLocker(f,t,n,i?!1:!0);i||(r.val(maskPAN(f)),r.prop("disabled",!0))}function putPanIntoLocker(n,t,i,r){var e=this,u,f;r===void 0&&(r=!0);r&&(u=$("#Prepaidcardnumber"),u.val(maskPAN(n)));f={url:makeUrl("~/prePaidCard"),data:{partnerId:i.partnerInfo.partnerId,pan:n,token:t},error:function(n,t,i){return e.onError(n,t,i)},success:function(){}};$.ajax(f)}function gotoPurchaseFunnelWhenPressAdd(n){n.cashWidget&&n.cashWidget.onClickAddEvent.addEventListener(__purchase);n.reloadWidget&&n.reloadWidget.onClickAddEvent.addEventListener(__purchase)}function __purchase(n){var t=addUrlParams(__PurchaseUrl,"productCode1",n.basketItem.productCode,"amount1",""+i18n.formatNumber(n.basketItem.currencyCode,n.basketItem.domesticAmount),"reloadPAN",__btoa(n.reloadPAN||""),"reloadToken",__btoa(n.reloadToken||""));n.source.substituteProduct&&(t+=format("&subst={0}/{1}",n.source.currentItem.id,n.source.substituteProduct.productType));top.location.href=t}function __btoa(n){n=String(n);var t=0,o=[],r,u,f,s,h,e,i;if(/[^\x00-\xFF]/.test(n))throw Error("InvalidCharacterError");while(t<n.length)r=n.charCodeAt(t++),u=n.charCodeAt(t++),f=n.charCodeAt(t++),s=r>>2,h=(r&3)<<4|u>>4,e=(u&15)<<2|f>>6,i=f&63,t===n.length+2?(e=64,i=64):t===n.length+1&&(i=64),o.push(B64_ALPHABET.charAt(s),B64_ALPHABET.charAt(h),B64_ALPHABET.charAt(e),B64_ALPHABET.charAt(i));return o.join("")}function initialiseGeneralPage(n){var i=new WidgetContext(n),t=new CurrencyWidget(i,$("#noItems .widget-container"));gotoPurchaseFunnelWhenPressAdd(t);t.initSelection(!0);$(window).scrollTop(0)}function ObfuscateNumber(n,t){var r=n,o;if(t=t.toString(),t){var i=t.split(","),u="",e="",f=r.length;for(i.length>1&&!isNaN(Number(i[0]))&&!isNaN(Number(i[1]))&&Number(i[0])+Number(i[1])<f&&(u=r.substring(0,Number(i[0])),e=r.substring(r.length-Number(i[1]))),i.length==1&&!isNaN(Number(i[0]))&&Number(i[0])<f&&(u=r.substring(0,Number(i[0]))),u.length+e.length<f&&(f-=u.length+e.length),r=u,o=1;o<=f;o++)r+="*";r+=e}return r}function setShippingBannerBackground(){var t=document.querySelector(".shippingbanner"),r=document.querySelector(".shippingbanner .fixedratio"),i=t.getAttribute("data-bg-image-desktop"),n=t.getAttribute("data-bg-image-mobile"),u=window.innerWidth<=640;i!==null&&n!==null&&(r.style.backgroundImage=u&&n?"url("+n+")":"url("+i+")")}function initTooltips(n,t){typeof n!="undefined"&&typeof t!="undefined"&&(n.mouseup(function(n){n.stopPropagation();$(this).find("span").css("display","inline-block")}),n.mouseenter(function(n){n.stopPropagation();$(this).find("span").css("display","inline-block")}),n.mouseleave(function(n){n.stopPropagation();$(this).find("span").hide()}),n.focus(function(){$(this).find("span").css("display","inline-block")}),n.focusout(function(){$(this).find("span").hide()}),t.mouseup(function(n){n.stopPropagation();$(this).parent().hide()}))}function LogError(n){var t={msg:n},i={type:"POST",contentType:"application/json",url:makePath("~/Error/LogError"),data:JSON.stringify(t),dataType:"json",success:function(n){return console.log(n.status)},error:function(n,t){return console.log(t)}};$.ajax(i)}var ProductTypes=function(){function n(){}return n.Cash="cash",n.PrePaidCardSale="prePaidCardSale",n.PrePaidCardReload="prePaidCardReload",n.TravellersCheque="pravellersCheque",n.BuyBack="buyBack",n.AdditionalCard="additionalCard",n}(),PrePaidCardActions=function(){function n(){}return n.Sale="sale",n.Reload="reload",n}(),LineItemTypes=function(){function n(){}return n.Intrinsic="intrinsic",n.Charge="charge",n.Discount="discount",n.Tax="tax",n.BuyBack="buyBack",n.Refund="refund",n.LoyaltyPoint="loyaltyPoint",n}(),PromoEffectType=function(){function n(){}return n.RateImprovement="rateImprovement",n.LoyaltyPoints="loyaltyPoints",n.AdditionalProduct="additionalProduct",n.AlternateRateProfile="alternateRateProfile",n.Discount="discount",n.ChargeDiscount="chargeDiscount",n}(),PromoType=function(){function n(){}return n.HappyHour="happyHour",n.TieredRate="tieredRate",n.Promotion="promotion",n}(),DefaultTab=function(){function n(){}return n.BuyTab="buy",n.ReloadTab="reload",n}(),WidgetContext=function(){function n(n){this.config=n;this.rates=n.rates;for(var t=0;t<this.config.widget.items.length;t++)this.config.widget.items[t].label=this.getWidgetListItemLabel(this.config.widget.items[t])}return n.prototype.getWidgetListItemLabel=function(n){return typeof n.countryName=="undefined"?format("{0} - ({1})",n.currencyName,n.currencyCode):format("{0} - {1} ({2})",n.countryName,n.currencyName,n.currencyCode)},n.prototype.getProduct=function(n,t){return this.config.products.products.single(function(i){return i.productType==n&&i.currencyCode==t})},n.prototype.getProductByCode=function(n){return this.config.products.products.single(function(t){return t.productCode==n})},n.prototype.hasProductType=function(n){return this.config.products.products.any(function(t){return t.productType==n})},n.prototype.getPrepaidProduct=function(n,t,i){return this.config.products.products.single(function(r){return r.productType==n&&r.currencyCode==t&&r.prePaidCardId==i})},n.prototype.getPrePaidCard=function(n){return this.config.products.prePaidCards.single(function(t){return t.prePaidCardId==n})},n.prototype.getPrePaidCardFromPAN=function(n){return this.config.products.prePaidCards.single(function(t){return t.bins.any(function(t){return n.substring(0,t.length)==t})})},n.prototype.getAdditionalCardProductForPrepaidCard=function(n){return this.config.products.products.single(function(t){return t.productType==ProductTypes.AdditionalCard&&t.prePaidCardId==n})},n.prototype.getRate=function(n,t){var i=this.getProduct(n,t);return this.rates.rates[i.productCode]},n.prototype.getRateForProductCode=function(n){return this.rates.rates[n]},n.prototype.convertToDomestic=function(n,t){return this.convert(n.productType,n.currencyCode,this.config.partnerInfo.currencyCode,t,n.rateDenomination)},n.prototype.convertToForeign=function(n,t){return this.convert(n.productType,this.config.partnerInfo.currencyCode,n.currencyCode,t,n.rateDenomination)},n.prototype.convert=function(n,t,i,r,u,f){if(f===void 0&&(f=null),t==this.config.partnerInfo.currencyCode)return f=f||this.getEffectiveRate(n,i,r,null).rate,this.__convert(r,!1,f,u);if(i==this.config.partnerInfo.currencyCode)return f=f||this.getEffectiveRate(n,t,null,r).rate,this.__convert(r,!0,f,u);throw new Error("Cross rates not implemented yet.");},n.prototype.__convert=function(n,t,i,r){return t?this.config.partnerInfo.foreignCurrencyAsBase?n/r*i:n*r/i:this.config.partnerInfo.foreignCurrencyAsBase?n*r/i:n/r*i},n.prototype.getDomesticAmountForRateFmt=function(n,t,i,r,u){return this.config.partnerInfo.foreignCurrencyAsBase?String(i18n.formatRate(n||this.getEffectiveRate(t,i,null,r).rate)):String(u)},n.prototype.getForeignAmountForRateFmt=function(n,t,i,r,u){return this.config.partnerInfo.foreignCurrencyAsBase?String(u):String(i18n.formatRate(n||this.getEffectiveRate(t,i,null,r).rate))},n.prototype.getRateTierGroup=function(n){return this.config.products.rateTiers[n]},n.prototype.convertToDomesticByBaseRate=function(n,t,i){var r=this.getRate(n,t),u=this.getProduct(n,t);return this.convert(n,t,this.config.partnerInfo.currencyCode,i,u.rateDenomination,r)},n.prototype.getEffectiveRate=function(n,t,i,r){var u=this.getRate(n,t),f=this.getProduct(n,t);if(!f.rateTiers)return{rate:u,origRate:u};for(var s=this.getRateTierGroup(f.rateTiers),h=-1,e=u;;){var c=i||this.convert(n,t,this.config.partnerInfo.currencyCode,r,f.rateDenomination,e),l=r||this.convert(n,this.config.partnerInfo.currencyCode,t,i,f.rateDenomination,e),o=this.getRateTier(s,c,l),a=this.getRateForTier(s,o,u);if(o<=h)return{rate:e,origRate:this.getRateForTier(s,o-1,u)};h=o;e=a}},n.prototype.getRateTier=function(n,t,i){for(var f=0,e=-1,r,u=0;u<n.length;u++)r=n[u],(r.domesticOrForeign==0&&(!r.min||t>=r.min)&&(!r.max||t<r.max)||r.domesticOrForeign==1&&(!r.min||i>=r.min)&&(!r.max||i<r.max))&&r.percentage>f&&(f=r.percentage,e=u);return e},n.prototype.getRateForTier=function(n,t,i){return t<0?i:+(i*(1+n[t].percentage/100)).toFixed(4)},n.prototype.getForeignCurrenyAtBaseRate=function(n,t){return Math.round(n*t)},n.prototype.getForeignCurrencyAtTierRate=function(n,t,i,r,u){return Math.round(n*(t||this.getEffectiveRate(i,r,null,u).rate))},n.prototype.getActualForeignAmountOnBaseRate=function(n,t){return Math.round(t*n)},n}(),B64_ALPHABET,_flexContext,ReloadFlex;$.widget("travelex.widgetListItemSelector",$.ui.autocomplete,{_renderItem:function(n,t){var i,r,u;return t.countryCode=="NOT_FOUND"?i=format("<span class='no-matches-found'>{0}<\/span>",t.label):(r=new RegExp("("+$.ui.autocomplete.escapeRegex(this.term)+")","gi"),u=t.label.replace(r,"<span class='auto-highlight'>$1<\/span>"),i=format("<a><span class='flag {0}'><\/span> {1}<\/a>",t.countryCode,u)),$("<li>").append(i).appendTo(n)}});var CurrencyLookupWidget=function(){function n(n,t){var i=this,r;this.onSelectItemEvent=new EventDispatcher("WidgetCurrencySelected");this.input=n;this.search=t;r={minLength:0,delay:0,source:function(n,t){return t(i.search(n.term))},select:function(n,t){return i.onSelectorSelect(n,t.item)},change:function(n,t){return i.onSelectorChange(n,t.item)}};this.selector=this.input.widgetListItemSelector(r);this.selector.focus(function(n){return i.onSelectorFocus(n)});this.selector.blur(function(n){return i.onSelectorBlur(n)});selectOnFocus(this.input);charactersOnly(this.input)}return n.prototype.onSelectorFocus=function(){this.lastValue=this.input.val();this.selector.widgetListItemSelector("search","")},n.prototype.onSelectorBlur=function(){},n.prototype.onSelectorSelect=function(n,t){this.onSelectItem(t);this.input.blur()},n.prototype.onSelectorChange=function(n,t){if(t==null)this.input.val(this.lastValue);else this.onSelectItem(t)},n.prototype.setText=function(n){this.input.val(n);this.lastValue=n},n.prototype.onSelectItem=function(n){this.selectedItem=n;this.onSelectItemEvent.dispatchEvent(n)},n.getSubstituteProduct=function(n,t){var i;return n.substituteProducts&&(i=n.substituteProducts.single(function(n){return n.productType==t}))?i:null},n.DefaultSearch=function(t,i,r){var u=t.widget.items.filter(function(r){var u=!0,f;return u=u&&r.productTypes.contains(i)&&t.rates.rates[r.currencyCode]>0,f=n.getSubstituteProduct(r,i),f!=null&&(u=u&&t.rates.rates[f.productCode]>0),u}),e,f;return r&&(u=u.filter(function(n){return typeof n.displayOrder=="undefined"||n.displayOrder==null})),r!=null&&(e=new RegExp($.ui.autocomplete.escapeRegex(r),"i"),u=$.grep(u,function(n){return e.test(n.label)})),u.length==0&&(f=t.widget.items.single(function(n){return n.productTypes.contains(i)}),f=JSON.parse(JSON.stringify(f)),f.countryCode="NOT_FOUND",f.label=m("UI3_Currency_Widget:DropdownNoMatchesFound"),u.push(f)),u},n}(),Converter=function(){function n(n,t,i,r,u,f,e){var o=this;this.setConversionEvent=new EventDispatcher("ConversionEvent");this.onUpdateAmountEvent=new EventDispatcher("ConverterUpdateAmountEvent");this.context=n;this.productType=t;this.fromCurrencyCode=i;this._allowTieredRateCorrection=!1;this.toCurrencyCode=r;this.fromAmount=u.find(f);this.toAmount=u.find(e);this.fromAmount.keyup(function(n){if(n.keyCode!=9)o.onKeyUpAmount(o.fromAmount,o.toAmount,o.fromCurrencyCode,o.toCurrencyCode)});this.toAmount.keyup(function(n){if(n.keyCode!=9)o.onKeyUpAmount(o.toAmount,o.fromAmount,o.toCurrencyCode,o.fromCurrencyCode)});this.fromAmount.blur(function(n){return o.onBlurAmount(n,o.fromAmount,o.fromCurrencyCode)});this.toAmount.blur(function(n){return o.onBlurAmount(n,o.toAmount,o.toCurrencyCode)});this.fromAmount.keydown(function(n){n.keyCode==13&&o.checkAmountUpdates()});this.toAmount.keydown(function(n){n.keyCode==13&&o.checkAmountUpdates()});this.$toRate=u.find(".js-to-rate");this.$fromRate=u.find(".js-from-rate");this.$toCurrency=u.find(".js-to-currency");this.$fromCurrency=u.find(".js-from-currency");this.$origRate=u.find(".js-original-rate");this.$origRate.hide();this.$extraForeignCurrency=u.find(".extraforeigncurrency");this.$extraForeignCurrency.hide();this.$actualForeignAmount=u.find(".js-actual-amount");this.$toExchangeAmount=u.find(".js-to-amount-extra");this.$fromExchangeAmount=u.find(".js-from-amount-extra");this.$toCurrencyName=u.find(".js-to-currency-Name");numericOnly(this.fromAmount);numericOnly(this.toAmount);MobileDetector.isMobile()&&(selectOnFocus(this.fromAmount),selectOnFocus(this.toAmount))}return n.prototype.onKeyUpAmount=function(n,t,i,r){this.updateAmount(n,t,i,r,!0)},n.prototype.onBlurAmount=function(n,t,i){this.checkAmountUpdates();this.formatInput(t,i)},n.prototype.formatInput=function(n,t){var i=this.getValueAsNumber(n);!ShowDecimals&&($(n).filter("#noItems-buy-amount").length>0||$(n).filter(".number-input.currency-cost.tooltip-input").length>0)?$(n).val(this.formatNumber(t,i)):$(n).val(i18n.formatNumber(t,i))},n.prototype.setConversion=function(n,t,i){this.productType=n;this.fromCurrencyCode=t;this.toCurrencyCode=i;this.formatInput(this.fromAmount,this.fromCurrencyCode);this.updateAmount(this.fromAmount,this.toAmount,this.fromCurrencyCode,this.toCurrencyCode);this.dispatchSetConversionEvent()},n.prototype.dispatchSetConversionEvent=function(){this.setConversionEvent.dispatchEvent({productType:this.productType,fromCurrencyCode:this.fromCurrencyCode,toCurrencyCode:this.toCurrencyCode})},n.prototype.setFromAmount=function(n){$(this.fromAmount).val(this.formatNumber(this.fromCurrencyCode,n));this.updateAmount(this.fromAmount,this.toAmount,this.fromCurrencyCode,this.toCurrencyCode);this._isAmountFieldChanged?($(this.fromAmount).val(this.formatNumber(this.fromCurrencyCode,this._fromAmount)),$(this.toAmount).val(i18n.formatNumber(this.fromCurrencyCode,this._toAmount))):($(this.fromAmount).val(this.formatNumber(this.fromCurrencyCode,this.getFromAmount())),$(this.toAmount).val(i18n.formatNumber(this.fromCurrencyCode,this.getToAmount())))},n.prototype.setToAmount=function(n){$(this.toAmount).val(i18n.formatNumber(this.toCurrencyCode,n));this.updateAmount(this.toAmount,this.fromAmount,this.toCurrencyCode,this.fromCurrencyCode);this._isAmountFieldChanged?($(this.fromAmount).val(this.formatNumber(this.fromCurrencyCode,this._fromAmount)),$(this.toAmount).val(i18n.formatNumber(this.fromCurrencyCode,this._toAmount))):($(this.fromAmount).val(this.formatNumber(this.fromCurrencyCode,this.getFromAmount())),$(this.toAmount).val(i18n.formatNumber(this.fromCurrencyCode,this.getToAmount())))},n.prototype.checkAmountUpdates=function(){this._isAmountFieldChanged?(this.fromAmount.val(this.formatNumber(this.fromCurrencyCode,this._fromAmount)),this.toAmount.val(i18n.formatNumber(this.toCurrencyCode,this._toAmount)),this._isAmountFieldChanged=!1):ShowDecimals||(this.fromAmount.val(this.formatNumber(this.fromCurrencyCode,this.getFromAmount())),this.toAmount.val(i18n.formatNumber(this.toCurrencyCode,this.getToAmount())))},n.prototype.formatNumber=function(n,t){return i18n.formatNumber(n,t,ShowDecimals,EnableThousandSeparator)},n.prototype.setAmount=function(n,t){$(this.fromAmount).val(this.formatNumber(this.fromCurrencyCode,n));$(this.toAmount).val(i18n.formatNumber(this.toCurrencyCode,t));this.setExchangeRateText();this.onUpdateAmount()},n.prototype.__roundToMinDenomination=function(n,t,i){var r=this.context.getProduct(this.productType,n),f,u;return r.minimumDenomination>0&&(u=Math.ceil(t/r.minimumDenomination)*r.minimumDenomination,u!=t)?(r.rateTiers&&i>2e3&&(f=u-r.minimumDenomination,u=f+r.minimumDenomination),u):t},n.prototype.getRateTierGroup=function(n,t){var r,u,i;if(t===void 0&&(t=!1),!t)return this.context.config.products.rateTiers[n];for(r=this.context.config.products.rateTiers[n].sort(function(n,t){return n.min-t.min}),u=[],i=0;i<r.length;i++)i==0&&r[i].min>0&&u.push({domesticOrForeign:r[i].domesticOrForeign,max:r[i].min,min:0,percentage:0,isPseudoRate:!0}),i>0&&r[i-1].max-r[i].min>=1&&u.push({domesticOrForeign:r[i].domesticOrForeign,max:r[i].min,min:r[i-1].max,percentage:0,isPseudoRate:!0}),u.push(r[i]),i==r.length-1&&u.push({domesticOrForeign:r[i].domesticOrForeign,max:Number.MAX_VALUE,min:r[i].max,percentage:0,isPseudoRate:!0});return u},n.prototype.getRateTier=function(n,t,i){for(var f=0,e=-1,r,u=0;u<n.length;u++)r=n[u],(r.domesticOrForeign==0&&(!r.min||t>=r.min)&&(!r.max||t<r.max)||r.domesticOrForeign==1&&(!r.min||i>=r.min)&&(!r.max||i<r.max))&&(r.percentage>f||r.isPseudoRate==!0)&&(f=r.percentage,e=u);return e},n.prototype.getRateTierByMax=function(n,t,i){for(var f=0,e=-1,r,u=0;u<n.length;u++)r=n[u],(r.domesticOrForeign==0&&(!r.max||t<=r.max)||r.domesticOrForeign==1&&(!r.max||i<=r.max))&&r.percentage>f&&(f=r.percentage,e=u);return e},n.prototype.cloneObj=function(n){var t,i;if(typeof n!="object")return n;if(n==null)return null;t={};for(i in n)t[i]=this.cloneObj(n[i]);return t},n.prototype.getTieredRateConversionArgs=function(n){switch(this.context.config.partnerInfo.currencyCode){case n.fromCurrencyCode:return{productType:n.productType,domesticAsBase:!0,foreignCurrencyCode:n.toCurrencyCode,domesticCurrencyCode:n.fromCurrencyCode,foreignAmount:n.toAmount,domesticAmount:n.fromAmount,__prev:null,thresholdIteration:n.thresholdIteration,tierIndex:0,tierRate:null,roundStatus:0,__staticForeignAmount:0,isApplied:n.isApplied};case n.toCurrencyCode:return{productType:n.productType,domesticAsBase:!1,foreignCurrencyCode:n.fromCurrencyCode,domesticCurrencyCode:n.toCurrencyCode,foreignAmount:n.fromAmount,domesticAmount:n.toAmount,__prev:null,thresholdIteration:n.thresholdIteration,tierIndex:0,tierRate:null,roundStatus:0,__staticForeignAmount:0,isApplied:n.isApplied}}},n.prototype.getConverionArgs=function(n){return n.domesticAsBase?{productType:n.productType,fromAmount:n.domesticAmount,fromCurrencyCode:n.domesticCurrencyCode,toAmount:n.foreignAmount,toCurrencyCode:n.foreignCurrencyCode,thresholdIteration:n.thresholdIteration,roundStatus:n.roundStatus,isApplied:n.isApplied}:{productType:n.productType,fromAmount:n.foreignAmount,fromCurrencyCode:n.foreignCurrencyCode,toAmount:n.domesticAmount,toCurrencyCode:n.domesticCurrencyCode,thresholdIteration:n.thresholdIteration,roundStatus:n.roundStatus,isApplied:n.isApplied}},n.prototype.__tieredRateCorrection=function(n){var e=this.context.getProduct(n.productType,n.foreignCurrencyCode),t,f,u,h,o;if(!e.rateTiers)return n;n.isApplied=!0;for(var i=this.getRateTierGroup(e.rateTiers,!0),r=this.context.getRate(n.productType,n.foreignCurrencyCode),c=this.cloneObj(n),s=n;s.__prev!=null;)s=s.__prev;if(n.domesticAsBase){if(n.foreignAmount=this.convert(n.productType,n.domesticCurrencyCode,n.foreignCurrencyCode,n.domesticAmount,r),n.__staticForeignAmount=n.__staticForeignAmount||n.foreignAmount,n.foreignAmount=this.parseFloat(i18n.formatNumber(n.foreignCurrencyCode,n.foreignAmount)),h=n.foreignAmount,t=this.getRateTier(i,n.domesticAmount,n.foreignAmount),t==-1||i[t].isPseudoRate)return n;u=this.context.getRateForTier(i,t,r);n.foreignAmount=this.__roundToMinDenomination(n.foreignCurrencyCode,n.foreignAmount,n.domesticAmount);n.domesticAmount=this.convert(n.productType,n.foreignCurrencyCode,n.domesticCurrencyCode,n.foreignAmount,r);f=this.getRateTier(i,n.domesticAmount,n.foreignAmount);t==f&&(n.foreignAmount=this.convert(n.productType,n.domesticCurrencyCode,n.foreignCurrencyCode,n.domesticAmount,u),n.foreignAmount=this.__roundToMinDenomination(n.foreignCurrencyCode,n.foreignAmount-e.minimumDenomination,n.domesticAmount),n.domesticAmount=this.convert(n.productType,n.foreignCurrencyCode,n.domesticCurrencyCode,n.foreignAmount,u))}else{if(h=n.foreignAmount,n.__staticForeignAmount=n.__staticForeignAmount||n.foreignAmount,n.domesticAmount=this.convert(n.productType,n.foreignCurrencyCode,n.domesticCurrencyCode,n.foreignAmount,r),t=this.getRateTier(i,n.domesticAmount,n.foreignAmount),t==-1)return n;u=this.context.getRateForTier(i,t,r);n.foreignAmount=this.convert(n.productType,n.domesticCurrencyCode,n.foreignCurrencyCode,n.domesticAmount,u);n.foreignAmount=this.__roundToMinDenomination(n.foreignCurrencyCode,n.foreignAmount,n.domesticAmount);n.domesticAmount=this.convert(n.productType,n.foreignCurrencyCode,n.domesticCurrencyCode,n.foreignAmount,u)}for(o=!1;;)if(f=this.getRateTier(i,n.domesticAmount,n.foreignAmount),t>f&&t>-1)o=!0,n.roundStatus=1,n.__staticForeignAmount+=e.minimumDenomination,n.foreignAmount=n.__staticForeignAmount,n.foreignAmount=parseFloat(i18n.formatNumber(n.foreignCurrencyCode,n.foreignAmount)),n.foreignAmount=this.__roundToMinDenomination(n.foreignCurrencyCode,n.foreignAmount,n.domesticAmount),n.domesticAmount=this.convert(n.productType,n.foreignCurrencyCode,n.domesticCurrencyCode,n.foreignAmount,r),n.domesticAmount=parseFloat(i18n.formatNumber(n.domesticCurrencyCode,n.domesticAmount));else if(t<f&&t>-1)o=!0,n.roundStatus=-1,n.__staticForeignAmount-=e.minimumDenomination,n.foreignAmount=n.__staticForeignAmount,n.foreignAmount=parseFloat(i18n.formatNumber(n.foreignCurrencyCode,n.foreignAmount)),n.foreignAmount=this.__roundToMinDenomination(n.foreignCurrencyCode,n.foreignAmount,n.domesticAmount),n.domesticAmount=this.convert(n.productType,n.foreignCurrencyCode,n.domesticCurrencyCode,n.foreignAmount,r),n.domesticAmount=parseFloat(i18n.formatNumber(n.domesticCurrencyCode,n.domesticAmount));else if(t==f)break;return o?this.__tieredRateCorrection({domesticAsBase:n.domesticAsBase,domesticAmount:n.domesticAmount,domesticCurrencyCode:n.domesticCurrencyCode,foreignAmount:h,foreignCurrencyCode:n.foreignCurrencyCode,productType:n.productType,thresholdIteration:n.thresholdIteration+1,tierIndex:t,tierRate:u,__prev:c,roundStatus:n.roundStatus,__staticForeignAmount:n.__staticForeignAmount,isApplied:n.isApplied}):n},n.prototype.setMessage=function(){},n.prototype.displayOrderRoundMessage=function(){var t=["RoundDownToMinDenomination","RoundToMinDenomination","RoundUpToMinDenomination"],i=BasketPageReferrer.ReferrerName==BasketPageReferrer.Widget?"basket":"update",n;t.any(function(n){return __BasketMessages.getMessage("UI3_Messages:Order"+n).length>0})&&(i="update",BasketPageReferrer.ReferrerName=BasketPageReferrer.Basket);t.forEach(function(n){__BasketMessages.clearMessage("UI3_Messages:Order"+n)},t);n=t[1+this._tierRatesRoundStatus];n!=null&&(n=i=="basket"?"UI3_Messages:Order"+n:"UI3_Messages:"+n,this.setMessage(n,i))},n.prototype.tieredRateCorrection=function(n){var t=this.getTieredRateConversionArgs(n);return this._isAmountRounded=t.roundStatus!=0,this._tierRatesRoundStatus=t.roundStatus,this.getConverionArgs(t)},n.prototype.updateAmountFields=function(n,t,i,r){switch(this.context.config.partnerInfo.currencyCode){case n:this._toAmount=r;this._fromAmount=i;break;case t:this._toAmount=i;this._fromAmount=r}this._isAmountFieldChanged=!0},n.prototype.updateAmount=function(n,t,i,r,u){var o;u===void 0&&(u=!1);var e=this.getValueAsNumber(n),f=this.getValueAsNumber(t),f=this.convert(this.productType,i,r,e);this._allowTieredRateCorrection&&this.productType=="cash"?(this.context.config.partnerInfo.currencyCode!=i&&(e=this.__roundToMinDenomination(i,e,f)),o=this.tieredRateCorrection({productType:this.productType,fromCurrencyCode:i,toCurrencyCode:r,fromAmount:e,toAmount:f,thresholdIteration:0,roundStatus:0,isApplied:!1}),o.isApplied==!0&&(e=o.fromAmount,f=o.toAmount,this.updateAmountFields(i,r,e,f))):this.productType!="cash"&&this.context.config.partnerInfo.currencyCode!=i&&this.isForeignAmountMovingToNextTier(this.productType,e,i,r)&&(f=parseFloat(i18n.formatNumber(r,f)),e=this.convert(this.productType,r,i,f),this.updateAmountFields(i,r,e,f));!ShowDecimals&&$(t).filter(".number-input.currency-cost.tooltip-input").length>0?$(t).val(this.formatNumber(r,f)):$(t).val(i18n.formatNumber(r,f));this.setExchangeRateText();this.onUpdateAmount();this.onUpdateAmountEvent.dispatchEvent({from:n,to:t,fromCurrencyCode:i,toCurrencyCode:r})},n.prototype.isForeignAmountMovingToNextTier=function(n,t,i,r){var f=this.context.getProduct(n,i);if(!f.rateTiers)return!1;var e=this.convert(this.productType,i,r,t),s=parseFloat(i18n.formatNumber(r,e)),u=this.getRateTierGroup(f.rateTiers,!0),o=this.getRateTier(u,e,t),h=this.getRateTier(u,s,t);return u[o].isPseudoRate==!0&&o!=h?!0:!1},n.prototype.setExchangeRateText=function(){for(var f=this,n=this.getExchangeRate(),i=1,t=0;t<this.context.config.products.products.length;t++)if(this.context.config.products.products[t].currencyCode==this.toCurrencyCode){i=this.context.config.products.products[t].rateDenomination;break}if(this.$fromCurrency.text(this.fromCurrencyCode),this.$toCurrency.text(this.toCurrencyCode),this.$fromRate.text(this.context.getDomesticAmountForRateFmt(n.rate,this.productType,this.toCurrencyCode,this.context.config.widget.defaultAmount,i)),this.$toRate.text(this.context.getForeignAmountForRateFmt(n.rate,this.productType,this.toCurrencyCode,this.getValueAsNumber(this.toAmount),i)),this.toCurrencyName=this.context.config.widget.items.single(function(n){return n.currencyCode==f.toCurrencyCode}).currencyName,this.$toCurrencyName.text(this.toCurrencyName),this.$origRate.length>0&&n.rate!=n.origRate){if(this.$origRate.text(i18n.formatRate(n.origRate)),this.context.config.partnerInfo.allowEnhancedTieredRates){var r=this._isAmountFieldChanged?this._fromAmount:this.getFromAmount(),e=this._isAmountFieldChanged?this._toAmount:this.getToAmount(),u=this.context.getRate(this.productType,this.toCurrencyCode);this.$origRate.text(i18n.formatRate(u));this.$actualForeignAmount.text(this.context.getActualForeignAmountOnBaseRate(u,r)+" "+this.toCurrencyCode);this.$toExchangeAmount.text(i18n.formatNumber(this.fromCurrencyCode,e));this.$fromExchangeAmount.text(i18n.formatNumber(this.fromCurrencyCode,r));this.$extraForeignCurrency.fadeIn("fast")}this.$origRate.fadeIn("fast")}else this.$origRate.fadeOut("fast"),this.$extraForeignCurrency.fadeOut("fast")},n.prototype.onUpdateAmount=function(){},n.prototype.getFromAmount=function(){return this.getValueAsNumber(this.fromAmount)},n.prototype.getToAmount=function(){return this.getValueAsNumber(this.toAmount)},n.prototype.getExchangeRate=function(){var t,n,i;return(this.productType=="cash"?(t=this._isAmountFieldChanged?this._fromAmount:this.getFromAmount(),n=this.context.getEffectiveRate(this.productType,this.toCurrencyCode,t,null)):(i=this._isAmountFieldChanged?this._toAmount:this.getToAmount(),n=this.context.getEffectiveRate(this.productType,this.toCurrencyCode,null,i)),this.promoRate&&this.promoRate>n.rate)?{rate:this.promoRate,origRate:this.context.getRate(this.productType,this.toCurrencyCode)}:n},n.prototype.convert=function(n,t,i,r,u){var e,f;for(u===void 0&&(u=null),e=1,f=0;f<this.context.config.products.products.length;f++)if(this.context.config.products.products[f].currencyCode==this.toCurrencyCode){e=this.context.config.products.products[f].rateDenomination;break}return this.promoRate?this.context.convert(this.productType,t,i,r,e,this.promoRate):this.context.convert(this.productType,t,i,r,e,u)},n.prototype.setPromoRate=function(n){this.promoRate=n},n.prototype.getValueAsNumber=function(n){var t=$(n).val(),i;return typeof t!=undefined&&t!=null&&(t=t.toString().split(i18nConfig.groupSeparator).join("")),i=t!=undefined?this.normalizeFloat(t,[",","."]):0,isNaN(i)&&(i=0),i},n.prototype.normalizeFloat=function(n,t){for(var r=-1,e,u,f,i=0;i<t.length;i++)formatNumber.length>0&&(e=n.lastIndexOf(t[i])),e>r&&(r=e);for(r==-1&&(r=n.length),u=n.substring(0,r),f=n.substring(r),i=0;i<t.length;i++)u=u.replace(t[i],""),f=f.replace(t[i],".");return n=u+f,parseFloat(n)},n.prototype.parseFloat=function(n){return parseFloat(n.replace(i18nConfig.groupSeparator,""))},n}(),__extends=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}(),WidgetAddEvent=function(){function n(){}return n}(),Widget=function(n){function t(t,i,r,u,f,e,o,s,h,c,l,a,v){var y=n.call(this,t,r,t.config.partnerInfo.currencyCode,u,f,e,o)||this;return y._allowTieredRateCorrection=!1,y.root=f,y.toCurrency=f.find(h),y.addButton=f.find(l),y.addButton.click(function(n){return y.onClickAddButton(n)}),y.$substituteProductMessage=y.root.find(".not-available-currency-tooltip"),y.lookup=new CurrencyLookupWidget(y.root.find(s),function(n){return y.getWidgetListItems(n,!0)}),y.lookup.onSelectItemEvent.addEventListener(function(n){y.selectItem(n)}),y.fromAmount.keydown(function(n){return y.onKeyDown(n)}),y.toAmount.keydown(function(n){return y.onKeyDown(n)}),y.fromAmount.keydown(function(){return y.hideSubstituteProductMessage()}),y.toAmount.keydown(function(){return y.hideSubstituteProductMessage()}),$(document).mousedown(function(){return y.hideSubstituteProductMessage()}),y.onSelectItemEvent=new EventDispatcher("WidgetItemSelected"),y.onClickAddEvent=new EventDispatcher("WidgetItemAdd"),y.resetFor(i,r,a,v,u),$(function(){var n=0,t=$(".no-items .tabnav h2 a"),i;t.on({keydown:function(i){var u=37,f=40,r=i.which||i.keyCode;r>=u&&r<=f&&(r==u||r==38?n>0?n--:n=t.length-1:(r==39||r==f)&&(n<t.length-1?n++:n=0),$(t.get(n)).focus(),i.preventDefault())},click:function(){n=$.inArray(this,t.get());i()}});i=function(){t.attr({tabindex:"-1","aria-selected":"false"});$(t.get(n)).attr({tabindex:"0","aria-selected":"true"}).focus()}}),$(".no-items .tabnav h2 a").keydown(function(n){n.which==13&&($(this).click(),$(this).attr({tabindex:"0","aria-selected":"true"}))}),y}return __extends(t,n),t.prototype.resetFor=function(n,t,i,r,u){this.prePaidCardId=n;this.productType=t;this.excludeBasketItemProducts=i;this.productTypes=r;this.setDefaultItem(u);this.setFromAmount(this.context.config.widget.defaultAmount)},t.prototype.initSelection=function(){this.setDefaultItem(this.toCurrencyCode)},t.prototype.setDefaultItem=function(n){this.currentItem=this.selectInitialItem(n);this.selectItem(this.currentItem)},t.prototype.reset=function(){this.setDefaultItem(null);this.setFromAmount(this.context.config.widget.defaultAmount)},t.prototype.selectInitialItem=function(n){var i=this.getWidgetListItems(null,!0),t;if(i.length==0)throw new Error("No widget list items defined for productType: "+this.productType);return t=null,n!=null&&(t=this.selectItemForCurrency(i,n)),t==null&&(t=this.selectDefaultItem(i)),t==null&&(t=i.first()),t!=null&&(t.productTypes.contains(this.productType)||(this.productType=t.productTypes[0])),t},t.prototype.selectItemForCurrency=function(n,t){for(var i=0;i<n.length;i++)if(n[i].currencyCode==t)return n[i];return null},t.prototype.selectDefaultItem=function(n){for(var t=0;t<n.length;t++)if(n[t].isDefault)return n[t];return null},t.prototype.getSubstituteProduct=function(n){var i=this,t;return n.substituteProducts&&(t=n.substituteProducts.single(function(n){return n.productType==i.productType}))?t:null},t.prototype.getWidgetListItems=function(n,t){var r=this,i=this.context.config.widget.items.filter(function(n){var i=!0,u=!0,f=n.productTypes.containsAny(r.productTypes),t;return f?(t=r.context.config.products.products.single(function(t){return t.currencyCode==n.currencyCode&&n.productTypes.contains(t.productType)}),i=t!=null&&r.context.config.rates.rates[t.productCode]>0,u=n.substituteProducts!=null,i||u):f}),f,u;return n&&(i=i.filter(function(n){return typeof n.displayOrder=="undefined"||n.displayOrder==null})),this.scpCurrencySearch&&(i=removeDuplicates(i,"id")),this.prePaidCardId!=null&&(i=i.filter(function(n){return r.context.config.products.products.any(function(t){return t.productType==r.productType&&t.prePaidCardId==r.prePaidCardId&&t.currencyCode==n.currencyCode})})),this.excludeBasketItemProducts&&typeof __Order!="undefined"&&(i=i.filter(function(n){return!__Order.basketItems.any(function(t){return t.productType==r.productType&&t.currencyCode==n.currencyCode})})),n!=null&&(f=new RegExp($.ui.autocomplete.escapeRegex(n),"i"),i=$.grep(i,function(n){return f.test(n.label)})),i.length==0&&t&&(u=this.context.config.widget.items.single(function(n){return n.productTypes.containsAny(r.productTypes)}),u=JSON.parse(JSON.stringify(u)),u.countryCode="NOT_FOUND",u.label=m("UI3_Currency_Widget:DropdownNoMatchesFound"),i.push(u)),i},t.prototype.selectItem=function(n){var r=this,t,i;this.currentItem!=null&&(this.currentItem=n,this.lookup.setText(n.label),n.substituteProducts&&(t=n.substituteProducts.single(function(n){return n.productType==r.productType}))?(i=this.context.getProductByCode(t.productCode),this.setConversion(i.productType,this.fromCurrencyCode,i.currencyCode),this.substituteProduct=t,this.setSubstituteProductMessage(t)):(this.setConversion(this.productType,this.fromCurrencyCode,this.currentItem.currencyCode),this.substituteProduct=null,this.hideSubstituteProductMessage()),this.updateLabels(),this.onSelectItemEvent.dispatchEvent(this.currentItem))},t.prototype.updateLabels=function(){this.toCurrency.text(this.toCurrencyCode)},t.prototype.onKeyDown=function(n){if(n.keyCode==13)return n.preventDefault(),typeof BasketPageReferrer!="undefined"&&(BasketPageReferrer.ReferrerName=BasketPageReferrer.Basket),this.addBasketItem(),!1},t.prototype.onClickAddButton=function(n){return n.preventDefault(),typeof BasketPageReferrer!="undefined"&&(BasketPageReferrer.ReferrerName=BasketPageReferrer.Basket),this.addBasketItem(),!1},t.prototype.addBasketItem=function(){var n,t;n=this.prePaidCardId!=null?this.getPrepaidProduct():this.getProduct();t={source:this,basketItem:{basketItemId:generateUUID(),productType:n.productType,productCode:n.productCode,currencyCode:n.currencyCode,prePaidCardId:n.prePaidCardId,exchangeRate:this.getExchangeRate().rate,originalExchangeRate:this.context.getRateForProductCode(n.productCode),domesticAmount:this.getFromAmount(),foreignAmount:this.getToAmount(),prepaidCardToken:"",anyStorePickup:n.anyStorePickup,anyATMPickup:n.anyATMPickup},reloadPAN:this.getFullPAN(),reloadToken:this.getToken()};this.onClickAddEvent.dispatchEvent(t);typeof __Order!="undefined"&&OrderStatic.addBasketItem(t.basketItem,this.getPan())},t.prototype.getPan=function(){return null},t.prototype.getFullPAN=function(){return null},t.prototype.getToken=function(){return null},t.prototype.getProduct=function(){return this.context.getProduct(this.productType,this.toCurrencyCode)},t.prototype.setSubstituteProductMessage=function(n){this.$substituteProductMessage.html(this.context.config.widget.substituteProductMessages[n.message]+'<button type="button" class="closeDiv_widget" data-icon-after="b"><\/button>');this.showSubstituteProductMessage()},t.prototype.showSubstituteProductMessage=function(){this.$substituteProductMessage.fadeIn("fast")},t.prototype.hideSubstituteProductMessage=function(){this.$substituteProductMessage.fadeOut("fast")},t.prototype.getPrepaidProduct=function(){return this.context.getPrepaidProduct(this.productType,this.toCurrencyCode,this.prePaidCardId)},t}(Converter),__extends=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}(),CashWidget=function(n){function t(t,i,r){var u=this;return function(){u.productTypeRadioGroup=i.find("input[name='productType']");u.productTypeRadioGroup.change(function(n){return u.onChangeProductType(n)})}(),u=n.call(this,t,null,ProductTypes.Cash,r,i,".buy-amount,.currency-buy-amount",".cost,.currency-cost",".autocomplete,.autocomplete-w",".cost-lbl",".exchangeRateHolder,.exrate",".addCash,.buyCurrency",!1,[ProductTypes.Cash,ProductTypes.PrePaidCardSale])||this,u.productTypeSelectedByUser=null,u}return __extends(t,n),t.prototype.selectItem=function(t){this.updateProductType(t);n.prototype.selectItem.call(this,t);this.setButtonText()},t.prototype.updateProductType=function(n){this.setProductTypeEnabled(ProductTypes.Cash,n.productTypes.contains(ProductTypes.Cash));this.setProductTypeEnabled(ProductTypes.PrePaidCardSale,n.productTypes.contains(ProductTypes.PrePaidCardSale));this.productType=this.productTypeSelectedByUser||ProductTypes.Cash;n.productTypes.contains(this.productType)||(this.productType=n.productTypes[0]);this.getProductTypeRadio(this.productType).prop("checked",!0)},t.prototype.setProductTypeEnabled=function(n,t){var i=this.getProductTypeRadio(n),u=$("label[for='"+i.attr("id")+"']"),r;i.prop("disabled",!t);r=!t&&this.getProductTypeConfig(n);u.toggle(!r)},t.prototype.setButtonText=function(){switch(this.productType){case ProductTypes.Cash:this.addButton.find(".btntxt").html(m("UI3_Currency_Widget:BuyButtonCash"));break;case ProductTypes.PrePaidCardSale:this.addButton.find(".btntxt").html(m("UI3_Currency_Widget:BuyButtonCashPassport"));break;default:throw new Error("Not supported");}},t.prototype.onChangeProductType=function(){this.productTypeSelectedByUser=this.getSelectedProductType();this.selectItem(this.currentItem)},t.prototype.getProductTypeRadio=function(n){return this.root.find(format("input[name='productType'][value='{0}']",n))},t.prototype.getProductTypeConfig=function(n){switch(n){case ProductTypes.Cash:return Config_Order_HideAddCurrencyButton;case ProductTypes.PrePaidCardSale:return Config_Order_HidePrePaidCardSaleWhenDisabled;default:return!1}},t.prototype.getSelectedProductType=function(){var n=this.root.find("input[name='productType']:checked");return n.val()},t}(Widget),__extends=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}(),ReloadWidget=function(n){function t(t,i,r){var u=n.call(this,t,null,ProductTypes.PrePaidCardReload,r,i,".buy-amount,.currency-buy-amount",".cost,.currency-cost",".autocomplete,.autocomplete-w",".cost-lbl",".exchangeRateHolder,.exrate",".addCash,.buyCurrency,.add-rcp",!1,[ProductTypes.PrePaidCardReload])||this;return u.isFlexTokenised=!1,u.$cardNumber=u.root.find(".rcp-validate"),u.$error=u.root.find(".rcp-error"),u.$checkCard=u.root.find(".check-card"),u.$cardValidated=u.root.find(".card-validated"),u.$form=u.root.find(".form"),__IsAudioTokenised||t.config.flexPublicKeyDetails==null&&t.config.flexPublicKeyDetails===undefined||(u.isFlexTokenised=!0,u.flexContext=new ReloadFlex(t,u)),u.root.find(".check-card").click(function(n){return u.onCheckCard(n)}),u.root.find(".rcp-validate").keypress(function(n){return u.isEnterPressed(n)}),u.setActive(!1),u.onShow(),u.disablePrepaidcardfield(),u}return __extends(t,n),t.prototype.onShow=function(n){if(n===void 0&&(n=null),n!=null&&n.type.toLowerCase()=="keydown"){var t=this.root.find(".info-tooltip");t[0]!=null&&t[0].focus();this.$cardNumber.attr("tabindex",0);this.$checkCard.attr("tabindex",0)}else this.$cardNumber.focus(),this.isFlexTokenised&&this.flexContext.focusCard()},t.prototype.reset=function(){n.prototype.reset.call(this);this.setActive(!1);this.showError(!1);this.showCardValidated(!1);this.$cardNumber.val("");this.$cardNumber.prop("disabled",!1);this.pan=this.fullPan=null;this.token=null},t.prototype.isEnterPressed=function(n){var t=n.which||n.keyCode;if(t==13)this.onCheckCard(n)},t.prototype.onCheckCard=function(n){var t,i,r;n.preventDefault();t=this;Config_Enable_Recaptcha?(i=this.createToken,r=this.context.config,grecaptcha.ready(function(){grecaptcha.execute(Config_Recaptcha_Key_UI,{action:"submit"}).then(function(u){verifyAndGetGoogleReCaptchaScore(u,i,n,t,r)})})):this.createToken(n,t)},t.prototype.createToken=function(n,t){if(t.isFlexTokenised)t.flexContext.onCheckCard(n);else t.pan=t.fullPan=t.$cardNumber.val(),__IsAudioTokenised&&t.validateAndGetCardTokenfromEckoh(n)},t.prototype.validateAndGetCardTokenfromEckoh=function(){if(__EckohCaptureComplete){this.pan=$("#eckoh-cardnumber").val();var n=this.context.getPrePaidCardFromPAN(this.pan);if(n==null)return this.showError(!0),!1;this.GetCardTypeCode()}},t.prototype.GetCardTypeCode=function(){var n=this;$.ajax({type:"POST",url:__EckohSettings.cardbinGetCardTypeURL,data:{bin:this.pan.substring(0,6),countryCode:this.context.config.partnerInfo.countryCode},dataType:"jsonp",success:function(t){return n.tokenizeCardNumber(t)},error:function(n){console.log("Error Code: Error Block, Error Description: "+JSON.stringify(n))}})},t.prototype.tokenizeCardNumber=function(n){var t=this;this.tokenizeCard=this.tokenizeCard||new TokenizeCard(this.context.config.flexPublicKeyDetails.keyId,__EckohSettings);this.tokenizeCard.getCardToken(function(n){return t.onTokenizeCardComplete(n)},this.clearCardDetails,this.pan,n.data,null,null)},t.prototype.onTokenizeCardComplete=function(n){if(n){var t=this.context.getPrePaidCardFromPAN(this.pan);return $("#hdcardTokenReload").val(n.token),onCardTokenSuccessPrepaid(this.context.config,n.token,!0),$("#divCallId").show(),$("#divError").hide(),$("#cardNumber-container").css({"pointer-events":"none","background-color":"#f7f7f7"}),GetCardTokenResult("reload",t,this,!1,null,this.context.config)}},t.prototype.clearCardDetails=function(){$("#Prepaidcardnumber").val("");$("#eckoh-cardnumber").val("");$("#hdcardTokenReload").val("")},t.prototype.afterCardTokenExecution=function(n,t,i){return n.prePaidCardId.indexOf("MCP")==-1&&i.partnerInfo.countryCode==="GB"?t.getCardCurrency(n,t,i):(t.prePaidCardId=n.prePaidCardId,t.setDefaultItem(null),t.setActive(!0),t.showError(!1),t.showCardValidated(!0)),!1},t.prototype.CpsCard=function(){return{card:{accountNumber:this.$cardNumber.val()}}},t.prototype.showError=function(n){var t=this.context.config.reloadErrorMessages.InvalidCard;$("#reloadError").empty();setTimeout(function(){$("#reloadError").length&&!$("#reloadError").html().length&&$("#reloadError").append('<span data-icon="&#x63;" aria-hidden="true"><\/span> '+t)},50);this.$error.toggle(n)},t.prototype.showCardValidated=function(n){var t=m("UI3_Currency_Widget:ReloadCardValidated");this.$checkCard.toggle(!n);$(".card-validated").length&&!$(".card-validated").html().length&&$(".card-validated").append(t?'<span data-icon="&#x65;" aria-hidden="true"><\/span> '+t:'<span data-icon="&#x65;" aria-hidden="true"><\/span> Card validated');this.$cardValidated.is(":visible")&&this.$cardValidated.focus()},t.prototype.setActive=function(n){this.$cardNumber.prop("disabled",n);this.$form.animate({opacity:n?1:.5},500);this.$form.find("input, select, button:not('.closeDiv_widget')").prop("disabled",!n);this.$form.find("button").css("pointer-events","visible")},t.prototype.onError=function(n,t,i){alert("Error: "+i)},t.prototype.getPan=function(){return this.isFlexTokenised?this.flexContext.cardNo.val():this.pan},t.prototype.getFullPAN=function(){return this.context.config.partnerInfo.tokenizationProvider=="CPS"&&this.getToken()?maskPAN2(this.fullPan):this.isFlexTokenised?this.flexContext.cardNo.val():this.fullPan},t.prototype.getToken=function(){return this.isFlexTokenised?this.flexContext.hdcardToken.val():this.token},t.prototype.getCardCurrency=function(n,t,i){var r=this,u={url:__ApiKeyConfig.url+"/prepaidcard/getCardInfo",data:{key:__ApiKeyConfig.key,countryCode:i.partnerInfo.countryCode,instanceId:i.partnerInfo.partnerId,pan:this.isFlexTokenised?this.flexContext.cardNo.val():this.pan,token:this.isFlexTokenised?this.flexContext.hdcardToken.val():this.token},success:function(i,u){r.cardInfoSuccess(i,u,t,n)},error:function(i,u,f){return r.cardInfoError(i,u,f,n,t)}};$.ajax(u)},t.prototype.cardInfoSuccess=function(n,t,i,r){if(n.purses.length>0&&n.purses[0].currencyCode&&n.status==="active")return i.scpCurrencySearch=!0,n.purses.length==1?(i.prePaidCardId=this.context.config.products.products.single(function(t){return t.productType==ProductTypes.PrePaidCardReload&&t.currencyCode==n.purses[0].currencyCode&&t.prePaidCardId.indexOf("MCP")==-1}).prePaidCardId,i.setDefaultItem(n.purses[0].currencyCode),i.setActive(!0),i.showError(!1),i.showCardValidated(!0)):(i.prePaidCardId=r.prePaidCardId,i.setDefaultItem(null),i.setActive(!0),i.showError(!1),i.showCardValidated(!0)),this.isFlexTokenised?i.$cardNumber.val(this.flexContext.hdcardToken.val()):i.$cardNumber.val(maskPAN(i.$cardNumber.val())),i.$cardNumber.prop("disabled",!0),!1;this.error(r,i)},t.prototype.cardInfoError=function(n,t,i,r,u){this.error(r,u)},t.prototype.error=function(n,t){return t.prePaidCardId=n.prePaidCardId,t.setDefaultItem(),t.setActive(!0),t.showError(!0),t.showCardValidated(!1),this.isFlexTokenised?t.$cardNumber.val(this.flexContext.hdcardToken.val()):t.$cardNumber.val(maskPAN(t.$cardNumber.val())),t.$cardNumber.prop("disabled",!1),!0},t.prototype.disablePrepaidcardfield=function(){__IsAudioTokenised&&$("#Prepaidcardnumber").prop("disabled","disabled")},t}(Widget);var CurrencyWidget=function(){function n(t,i){var e=this,f;this.context=t;this.root=i;this.$cashTab=i.find("."+n.CashName);this.$reloadTab=i.find("."+n.ReloadName);var o=getUrlParam("currencyCode"),r=t.config.products.products.any(function(n){return n.productType==ProductTypes.Cash||n.productType==ProductTypes.PrePaidCardSale}),u=t.config.products.products.any(function(n){return n.productType==ProductTypes.PrePaidCardReload});r&&this.$cashTab.length>0&&(this.cashWidget=new CashWidget(t,this.$cashTab,o));u&&this.$reloadTab.length>0&&(this.reloadWidget=new ReloadWidget(t,this.$reloadTab,o));this.$tabNav=i.find(".tabnav h2 > a");this.$tabs=i.find(".tabs");f=r+u;this.showTabNav(n.CashName,r,f);this.showTabNav(n.ReloadName,u,f);this.$tabNav.click(function(n){if(Config_isStandAloneWidget&&$(n.currentTarget).attr("id").substr(1)!="cashpassport"||!Config_isStandAloneWidget)e.onClickTabNav(n)});this.$tabNav.keydown(function(n){if((n.keyCode||n.which)==13&&(Config_isStandAloneWidget&&$(n.currentTarget).attr("id").substr(1)!="cashpassport"||!Config_isStandAloneWidget)){e.onClickTabNav(n);n.preventDefault()}});this.root.show()}return n.prototype.initSelection=function(t){this.cashWidget&&this.cashWidget.initSelection();this.reloadWidget&&this.reloadWidget.initSelection();t&&(Config_Widget_DefaultTab==DefaultTab.BuyTab?(this.showTab(n.CashName),this.getWidget(n.CashName).dispatchSetConversionEvent()):Config_Widget_DefaultTab==DefaultTab.ReloadTab?(this.showTab(n.ReloadName),this.getWidget(n.ReloadName).dispatchSetConversionEvent()):(this.showTab(n.CashName),this.getWidget(n.CashName).dispatchSetConversionEvent()))},n.prototype.onClickTabNav=function(n){n.preventDefault();var t=$(n.currentTarget);return this.showTab(t.attr("id").substr(1),n),t.attr("class")=="rp-buy-cur tabnav-2 active"&&__Order.basketItems.count(function(n){return n.productType==ProductTypes.PrePaidCardReload})<=0&&typeof $("#hdcardTokenReload")!="undefined"&&$("#hdcardTokenReload").val(""),!1},n.prototype.getTabNav=function(n){return this.root.find(format("a[id='#{0}']",n))},n.prototype.showTabNav=function(n,t,i){var r=this.getTabNav(n);r.parent().toggle(t);r.parent().addClass("tabnav-"+i)},n.prototype.selectTab=function(n){this.$tabNav&&(this.$tabNav.parent().removeClass("active"),this.getTabNav(n).parent().addClass("active"))},n.prototype.showTab=function(t,i){if(i===void 0&&(i=null),this.selectTab(t),this.$tabs.show(),this.$tabs.children().hide(),this.root.find("."+t).show(),t==n.ReloadName&&this.reloadWidget){this.reloadWidget.onShow(i);this.context.config.partnerInfo.isPciEnabled&&this.context.config.partnerInfo.tokenizationProvider=="Flex"&&(this.context.config.flexPublicKeyDetails===null||this.context.config.flexPublicKeyDetails===undefined)&&this.root.find("."+t).parent().attr("id","overlay");typeof _EckohCallGuard!="undefined"&&_EckohCallGuard!=undefined&&_EckohCallGuard.RestartPollingIfStopped()}else this.root.find("."+n.ReloadName).parent().removeAttr("id");this.root.find(".other").show()},n.prototype.getWidget=function(t){switch(t){case n.CashName:return this.cashWidget;case n.ReloadName:return this.reloadWidget;default:return null}},n.prototype.uiHideTabs=function(){this.$tabs.hide()},n.CashName="buycurrency",n.ReloadName="cashpassport",n}(),CompetitorRatesWidget=function(){function n(n,t,i){this.context=n;this.includePartnerRow=t;this.root=i;this.tabsContainer=i.find(".hwc-tabnav");this.ratesSection=i.find(".ratesSection");this.ratesContainer=i.find(".ratesContainer");this.noRates=i.find(".noRates");this.partnerTextContainer=i.find(".partnerTextContainer");this.rateRowText=this.ratesContainer.html();this.partnerText=this.partnerTextContainer.html();var r=i.find(".buysAmountLabel").html();r=templateReplace(r,{BuysYouAmount:i18n.formatDomesticAmount(n.config.competitorRates.comparisonAmount)});i.find(".buysAmountLabel").html(r);this.tabsContainer.length>0&&this.initTabs()}return n.prototype.initTabs=function(){var r=this,u=this.tabsContainer.html(),n,i,t;for(this.tabsContainer.children().remove(),n=0;n<this.context.config.competitorRates.currencyCodes.length;n++)i=this.context.config.competitorRates.currencyCodes[n],t=$(templateReplace(u,{currencyCode:i})),this.tabsContainer.append(t),t.click(function(n){return r.selectCurrency(trimStart("#",$(n.currentTarget).attr("href"))),n.preventDefault(),!1})},n.prototype.attach=function(n){var t=this;n&&n.setConversionEvent.addEventListener(function(n){t.selectCurrency(n.toCurrencyCode)})},n.prototype.selectDefaultCurrency=function(){this.selectCurrency(this.context.config.competitorRates.currencyCodes[0])},n.prototype.selectCurrency=function(n){var r,u,e,f,t,o,i;if(this.ratesContainer.children().remove(),r=this.context.config.competitorRates.currencyCodes.indexOf(n),r==-1)this.showRates(!1);else{for(this.showRates(!0),u=this.createRateRows(this.includePartnerRow,n,r),t=0;t<u.length;t++)i=templateReplace(this.rateRowText,u[t]),this.ratesContainer.append($(i));if(this.partnerTextContainer.length>0){for(this.partnerTextContainer.children().remove(),e=this.context.config.competitorRates.comparisonAmount,f=1,t=0;t<this.context.config.products.products.length;t++)this.context.config.products.products[t].currencyCode==n&&(f=this.context.config.products.products[t].rateDenomination);o=i18n.formatAmount(n,this.context.convert(ProductTypes.Cash,this.context.config.partnerInfo.currencyCode,n,e,f),!1,!1);i=templateReplace(this.partnerText,{partnerName:m("UI3_Currency_Widget:CompetitorsRatesPartnerName"),amount:o});this.partnerTextContainer.html(i)}this.tabsContainer.find(".active").removeClass("active");this.tabsContainer.find(format("[href=#{0}]",n)).addClass("active")}},n.prototype.createRateRows=function(n,t,i){for(var u=[],e=this.context.config.competitorRates.comparisonAmount,o,f,r=0;r<this.context.config.competitorRates.competitorNames.length;r++)this.context.config.competitorRates.rates[i][r]!=null&&this.context.config.competitorRates.rates[i][r]!=0&&(o=this.context.config.competitorRates.rates[i][r],u.push({css:"",name:this.context.config.competitorRates.competitorNames[r],amount:i18n.formatAmount(t,e*o,!1,!1)}));if(n){for(f=1,r=0;r<this.context.config.products.products.length;r++)this.context.config.products.products[r].currencyCode==t&&(f=this.context.config.products.products[r].rateDenomination);u.splice(0,0,{css:" active",name:m("UI3_Currency_Widget:CompetitorsRatesPartnerName"),amount:i18n.formatAmount(t,this.context.convert(ProductTypes.Cash,this.context.config.partnerInfo.currencyCode,t,e,f),!1,!1)})}return u},n.prototype.showRates=function(n){this.ratesSection.toggle(n);this.partnerTextContainer.toggle(n);this.noRates.toggle(!n)},n}(),TopRatesWidget=function(){function n(n,t){var u,f,e,i,r,o;for(this.context=n,this.root=t,u=[],i=0;i<n.config.topRates.length;i++)f=n.getRateForProductCode(n.config.topRates[i]),f&&u.push({name:n.config.topRates[i],value:i18n.formatRate(f)});for(this.container=t.find(".topRateContainer"),e=this.container.html(),this.container.children().remove(),i=0;i<u.length;i++)r={},r.leftCurrencyCode=n.config.topRates[i],r.leftRate=i18n.formatRate(n.getRateForProductCode(n.config.topRates[i])),i++,i<u.length?(r.rightCurrencyCode=n.config.topRates[i],r.rightRate=i18n.formatRate(n.getRateForProductCode(n.config.topRates[i]))):(r.rightCurrencyCode="&nbsp;",r.rightRate=""),o=templateReplace(e,r),this.container.append($(o))}return n.prototype.attach=function(n){var t=this;n&&n.setConversionEvent.addEventListener(function(n){t.selectCurrency(n.toCurrencyCode)})},n.prototype.selectCurrency=function(n){this.container.find(".active").removeClass("active");this.container.find("._"+n).addClass("active")},n}();B64_ALPHABET="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";_flexContext=null;ReloadFlex=function(){function n(n,t){_flexContext=this;this.cardTokenAttemptFail=!1;this._context=n;this.captureContext=n.config.flexPublicKeyDetails.captureContext;this.microformInstance=null;this.isValidCardNumber=!1;this.isEmpty=!0;this.cardErrorMessage=this._context.config.reloadErrorMessages.InvalidCard||"";this.intstantiateMicroform(this);this.$error=$(".rcp-error");this.hdcardToken=$("#hdcardTokenReload");this.cardNo=$("#flex-cardnumber");this.hdFlexResponse=$("#hdFlexResponse");this._instance=t}return n.prototype.intstantiateMicroform=function(n){var i=m("UI3_Funnel_Order:FlexMicroformStyle"),r=JSON.parse(i.replace(/'/gi,'"')),u=new Flex(this.captureContext),t;n.microformInstance=u.microform({styles:r});t=n.microformInstance.createField("number",{placeholder:"",description:this.cardErrorMessage});t.on("change",function(t){if(n.isValidCardNumber=t.valid,t.empty){n.isEmpty=!0;return}n.isEmpty=!1;console.log(t.card[0]);n.expectedCard=t.card[0]});t.on("inputSubmitRequest",function(){n.onCheckCard(null)});$("#cardNumber-container iframe").attr("tabindex",0).css("height",32);t.focus();t.load("#cardNumber-container");this.microformNumberField=t},n.prototype.onCheckCard=function(n){if(n===void 0&&(n=null),n!=null&&n.preventDefault(),!this.isValidCardNumber)return this.showError(!0),!1;this.createCardToken(this,-1)},n.prototype.focusCard=function(){(this.microformInstance!=null||this.microformInstance!=undefined)&&this.microformNumberField.focus()},n.prototype.showError=function(n){this.cardTokenAttemptFail?this.assignErrorMessage(this._context.config.reloadErrorMessages.TokenTriesFailed):this.assignErrorMessage(this._context.config.reloadErrorMessages.InvalidCard);this.$error.toggle(n)},n.prototype.assignErrorMessage=function(n){$("#reloadError").empty();setTimeout(function(){$("#reloadError").append('<span data-icon="&#x63;" aria-hidden="true"><\/span> '+n)},50)},n.prototype.getFlexKey=function(){$.ajax({type:"GET",url:makePath("~/payment/flexKey"),success:function(n){(n!=null||n!="")&&($("#cardNumber-container").empty(),_flexContext.showError(!1),_flexContext.jwk=n.jwk,_flexContext.flexPublickey=n.jwk.kid,_flexContext.intstantiateMicroform(_flexContext))},error:function(){}})},n.prototype.checkAndAttemptCreateToken=function(n){n>0?this.createCardToken(this,n):(this.cardTokenAttemptFail=!0,this.showError(!0))},n.prototype.createCardToken=function(n,t){var i;i=t==-1?Config_Token_noOfAttemps:t;n.cardTokenAttemptFail=!1;this.microformInstance.createToken({},function(t,r){var f;if(t){switch(t.reason){case"CREATE_TOKEN_NO_FIELDS_LOADED":case"CREATE_TOKEN_TIMEOUT":n.getFlexKey();LogError("Create-Token error : "+JSON.stringify(t));break;case"CREATE_TOKEN_XHR_ERROR":case"CREATE_TOKEN_VALIDATION_PARAMS":case"CREATE_TOKEN_VALIDATION_FIELDS":case"CREATE_TOKEN_VALIDATION_SERVERSIDE":LogError("Create-Token error : "+JSON.stringify(t));n.checkAndAttemptCreateToken(--i);break;case"CREATE_TOKEN_UNABLE_TO_START":case"CREATE_TOKEN_NO_FIELDS":LogError("Create-Token error : "+JSON.stringify(t));n.showError(!0);break;default:LogError("Create-Token error : "+JSON.stringify(t));n.checkAndAttemptCreateToken(--i)}return!1}n.hdFlexResponse.val(r);var e=r.substring(r.indexOf(".")+1,r.lastIndexOf(".")),u=JSON.parse(atob(e)),o=u.content.paymentInformation.card.number.bin,s=u.content.paymentInformation.card.number.maskedValue;return(n.cardNo.val(o+s.substring(6)),n.hdcardToken.val(u.jti),f=n._context.getPrePaidCardFromPAN(n.cardNo.val()),f==null)?(n.showError(!0),!1):(onCardTokenSuccessPrepaid(config,n.hdcardToken.val(),!0),n.microformNumberField.update({disabled:!0}),$("#cardNumber-container").css({"pointer-events":"none","background-color":"#f7f7f7"}),GetCardTokenResult("reload",f,n._instance,!1,null,n._context.config))})},n}(),function(){$(".faqs li").keypress(function(n){var i=n.which,t;if(i==13)return t=$(this).find("strong").next("div"),t.css("display")=="none"?(t.slideDown(),t.parent().attr("data-icon","z")):(t.slideUp(),t.parent().attr("data-icon","y")),!1})}(),function(){$(".summary-bar").keypress(function(n){var t=n.which;if(t==13)return $(".summary-drop").css("display")==="none"?$(".summary-inner").click():$(".summary-drop").click(),!1})}();$(document).ready(function(){var n=$("a.info-tooltip"),i=n.find($("button.closeDiv_widget")),t;initTooltips(n,i);$(".shippingbanner").length&&setShippingBannerBackground();$(".form-control input, .form-control select").blur(function(){var n=$(this);$(n).closest(".input-border").removeClass("focused")});$(".form-control input, .form-control select").on("focus",function(){var n=$(this);$(n).closest(".input-border").addClass("focused")});t='<svg xmlns="http://www.w3.org/2000/svg" height="40" viewBox="0 -960 960 960" width="40"><path d="M186.666-186.666h48l410.335-410.336-47.999-47.999-410.336 410.335v48Zm600.001-458.335L644.668-786.334 691.334-833q19-19 46.833-19 27.834 0 46.833 19l48 48q19 18.999 19.333 46.499.334 27.5-18.666 46.5l-47 47Zm-47.333 47.666L261.999-120H120v-141.999l477.335-477.335 141.999 141.999Zm-118.333-23.666-23.999-24 47.999 47.999-24-23.999Z"/><\/svg>';$(".review-page .edit-order, .payment-page .edit-order").prepend(t)});$(window).resize(function(){$(".shippingbanner").length&&setShippingBannerBackground()})