{"version":3,"sources":["calc-widget.min.js"],"names":["InitializeCalcWidgetMaker","$","length","theme","atob","window","CalcWidgetStyle","GetWidgetStyleTheme","CalcSlug","currency_converter_slug","GetCCWidgetStyleTheme","CalcDefaultStyles","value","SetStyleThemeSelectValue","currentStyleTheme","GenerateCalculatorWidgetRemoteScript","compactSelect","document","getElementById","ChangeCompactType","options","selectedIndex","infiniteselect","types","option","text","url","placeholder","default","showDescription","culture","CURRENT_LANG","btnClass","addEventListener","OnChangedFromCurrency","OnChangedToCurrency","calcMakerSymbolSelectControl","chartSymbolSearch","onChange","ticker","symbolData","calcMakerDefaultSymbol","symbol","calcMakerDefaultTicker","pipValueCalculator","UpdateCalculatorSymbol","marginCalculator","positionSizeCalculator","profitCalculator","rebateCalculator","cookieStartBalance","GetCalcCookieValue","val","parseInt","cookiePeriods","cookieGain","selectpicker","resetLink","style","setProperty","calcContent","querySelector","ResizeObserver","entries","OnChangedSizeCalcContent","observe","ChangeBodyContent","UpdateWidgetMakerCurrencyPairData","OnSetStyleValues","compactType","allDefaultStyles","concat","CCCalcDefaultStyles","i","styles","OnChangedCalcDefaultStyles","el","SetCCWidgetStyleTheme","SetWidgetStyleCookie","GetAllStylesFromCookie","compactTypeSelect","dispatchEvent","themeSelectEl","Event","topStyleValue","bottomStyleValue","buttonStyleValue","titleStyleValue","textboxStyleValue","containerWidth","highlightColor","attr","topBackColor","topSplits","split","topSplit","undefined","stylesSplits","trimKey","trim","replace","splits","arrowColor","backColor","newTextboxStyle","colors","includes","result1","ParseGradientFromString","ExtractColor","result2","mixedColor","CalculateDropdownArrowColor","mixedColorStr","r","g","b","mixedColorOpStr","css","head","getElementsByTagName","createElement","appendChild","type","id","styleSheet","innerHTML","createTextNode","match","regex","bottomStyles","exec","btColor","els","querySelectorAll","AddRemoveFormgroupWidthStyle","topStyles","isDisplayTitle","prop","isShowChartLinks","isShowEmbedButton","isShowBuyCryptoButton","show","hide","defaultBalace","defaultNumber","defaultPercent","widgetContents","getElementsByClassName","calcConverterIcon","widgetContent","classList","add","body","remove","GenerateCalculatorWidgetModel","CalcWidgetConfig","Object","TopPaneStyle","btoa","BottomPaneStyle","ButtonStyle","TitleStyle","TextboxStyle","ContainerWidth","HighlightColor","IsDisplayTitle","IsShowChartLinks","IsShowEmbedButton","language","Lang","hostUrl","location","protocol","hostname","port","Url","Calculator","compactValue","CompactType","exchange","DefaultInstrument","CalculatorHelper","GetToolSymbolSlugFromTicker","from","to","DefaultCurrencyFrom","DefaultCurrencyTo","DefaultBalance","DefaultPeriod","DefaultGain","DefaultExchange","IsShowBuyCryptoButton","GenerateCalcWidgetScript","GetCurrencyPairForUrl","cpair","lastCurrency","GetQuoteCurrency","index","indexOf","substring","OnChangeCalcDisplayTitle","e","OnChangeCalcShowChartLinks","OnChangeShowEmbedButton","OnChangeShowBuyCryptoButton","OnChangePointAffiliateLinksButton","clientId","checked","Access","LoginWithPurpose","OnCopyCalcEmbedScript","previewOutput","scriptVal","dummy","select","execCommand","removeChild","notificationEl","display","setTimeout","OnCalcStyleUpdated","styleType","SaveAllStylesToCookie","topPaneStyle","SetCCTopPaneStyle","bottomPaneStyle","SetCCBottomPaneStyle","buttonStyle","titleStyle","textboxStyle","SetCCSmallContainerWidth","SetCCContainerWidth","GetTopPaneStyle","GetCCTopPaneStyle","GetBottomPaneStyle","GetCCBottomPaneStyle","buttonPaneStyle","GetButtonStyle","titlePaneStyle","GetTitleStyle","GetTextboxStyle","containerMinMaxWidth","GetCCSmallContainerWidth","GetSmallContainerWidth","GetCCContainerWidth","GetContainerWidth","GetHighlightColor","decodedHighlightColor","width","addClass","removeClass","OnCalcChangedDefaultStyles","OnChangeCalcCompactType","CustomEvent","GenerateContentCalcModel","setInnerHTML","elm","html","Array","forEach","oldScriptEl","newScriptEl","attributes","setAttribute","name","scriptText","parentNode","replaceChild","FetchLocalizedContent","lang","ajax","data","bodyFileName","CalcWidgetPartialFileName","model","JSON","stringify","success","widgetContainers","content","InitializeCalcWidget","InitializeGlobalCalcContent","error","OnChangedWidgetLanguage","CurrentLang","ResetDefaultStyles","defaultStyleValue","ResetCustomStyles","defaultStyleObj","OnChangeDefaultExchange","defaultExchangeVal","UpdateExchangeInfo","OnChangeDefaultStatingBalance","OnChangeDefaultNumber","OnChangeDefaultPercent","InitializeCompoundingCalcParamsFromCookie","InitCompoundingCalcWidget","CalculateCompounding","OnCCChangeInput","OnCCStyleUpdated","GenerateCompoundingCalculatorRemoteScript","OpenCCEmbedOverlay","prefix","currentLocation","pathname","open","focus","href","ClearCompoundingCalcWdigetStyles","ResetCalcWidgetsStyles","OnCopyCCEmbedScript","CompoundingWidgetConfig","GenerateCalcPreviewLink","tableResultHtml","StartingBalanceLabel","TotalGainLabel","EndingBalanceLabel","CCResultLoading","form","checkValidity","reportValidity","startingBalance","ParseLocaleNumber","numberOfPeriods","gainPerPeriod","SetCalcCookieValue","cache","dataType","ToLocaleNumberForResult","endingBalance","totalGain","tableResult","InitializeCurrencyConverterParams","pathName","endsWith","defaultFrom","defaultTo","queryParams","URLSearchParams","search","get","sParam","amount","parseFloat","NaN","ToLongDecimalNumberForInput","cookieFrom","cookieTo","cookieAmount","urlParams","InitCurrencyConverterWidget","PrepareCurrencyConverterCalculation","ConvertCurrency","AdjustPageTitleAndUrl","OnCurrencyChanged","timerid","on","UpdateCurrencyConverterHrefAndTitle","this","clearTimeout","SaveConvertHistory","res","Code","Name","backToDefault","UpdateCurrenyConverterPageTitle","UpdateRecentSymbols","fromCurrencyName","toCurrencyName","RecentSymbolConversionsLabel","replaceAll","RecentConversionsLabel","Symbol","adjustedAmount","ToLongDecimalNumberForResult","Amount","OnCurrencyConverterStyleUpdated","GenerateCurrencyConverterulatorRemoteScript","OpenCurrencyConverterEmbedOverlay","CloseCurrencyConverterEmbedOverlay","ClearCurrencyConverterWdigetStyles","OnCopyCurrencyConverterEmbedScript","CurrencyConverterWidgetConfig","UpdateLiveChart","fromCurrency","toCurrency","hideToolBar","screen","tvSymbol","GetTVSymbol","ExchangeRateHistoryLabel","chartTitle","TradingViewChart","reload","TradingView","widget","autosize","interval","timezone","locale","tvLang","DEFAULT_LANG","toolbar_bg","enable_publishing","hide_side_toolbar","container_id","callback","PrevCCFromCurrency","PrevCCToCurrency","localizedToCurrency","localizedFromCurrency","GetExchangeRateAsync","then","rate","mins","RatesSecondsUpdatedLabel","RatesUpdatedLabel","TriggerGoogleAnalytics","CurrencyConverterCalculate","newUrl","GenerateCurrencyConverterNewLink","history","replaceState","path","isTo","fromAmount","toAmount","UpdateCurrencyConverterSymbol","oldUrl","newSymbol","urlPart","baseUrl","toLowerCase","link","defaultFromName","defaultToName","hash","title","CurrencyConverterPageTitle","CurrencyConverterOnePageTitle","h1Title","CurrencyConverterH1Title","newSEODesc","originArticlePageTitle","originArticleSEODescription","baseCanonical","canonical","hreflangs","langSelectors","newLink","langCode","getAttribute","langSlug","UpdateCurrencyConvertParamLinks","fromSymbol","toSymbol","fromSymbolLinks","curSymbol","toSymbolLinks","SwapCurrencyConverter","fromCur","toCur","fromCurDesc","toCurDesc","InitializeDrawdownCalcParamsFromCookie","InitDrawdownCalcWidget","CalculateDrawdown","OnDCChangeInput","OnDCStyleUpdated","GenerateDrawdownCalculatorRemoteScript","OpenDCEmbedOverlay","CloseDCEmbedOverlay","ClearDrawdownCalcWdigetStyles","OnCopyDCEmbedScript","DrawdownWidgetConfig","DCResultLoading","lossPerPeriod","totalLoss","InitializeExchangeFeeCalcParams","defaultFee","defaultBuy","defaultPay","defaultAmount","defaultExchange","parts","IsOnToolsExFeeCalculatorPage","InitExchangeFeeCalcWidget","UpdateExFeeParamLinks","UpdateExFeePageTitleAndHref","InitAmountInputLabels","InitializeExchangeRate","ExFeesUpdateAmounts","CalculateExchangeFee","OnExFeeCurrencyChanged","buyElem","payElem","ExFeeCalcResxStrings","buyCurrency","payCurrency","OnExFeeExchangeChanged","exchangeName","seoDesc","GenerateExFeeNewLink","newExchange","exchangeLinks","curExchange","OnExFeeSetCustomRate","replaceWith","code","ReferralLink","WebsiteLink","FeeDiscount","MakerFee","TakerFee","FeeLink","is","payAmount","feeCurrency","customFee","feeAmount","makerFee","takerFee","makerFeeAmount","takerFeeAmount","InitializeFibonacciCalcParamsFromCookie","cookieTrendDirrection","cookieType","cookieLowPrice","cookieHighPrice","cookieEndPrice","OnFCTypeChanged","InitFibonacciCalcWidget","CalculateFibonacci","OnFCChangeInput","OnFCStyleUpdated","GenerateFibonacciCalculatorRemoteScript","dir","isRetracement","removeAttr","img","src","OpenFCEmbedOverlay","CloseFCEmbedOverlay","ClearFibonacciCalcWdigetStyles","OnCopyFCEmbedScript","FibonacciWidgetConfig","LevelLabel","PriceLabel","FCResultLoading","highPrice","lowPrice","endPrice","Level","Price","ResizeCalcWidgetFrame","selector","top","height","bottom","left","right","element","targetContainerId","offset","outerHeight","outerWidth","parent","postMessage","func","targetHeight","targetWidth","containerId","SetPopoutLink","topPane","innerText","affiliateId","elementRect","getBoundingClientRect","topPaneRect","popoutColorEl","colorValue","color","WidgetConfig","Math","ceil","random","previewScript","RemoteScriptJsLink","SAID","OpenCalcPopup","CalcWidgetType","offsetHeight","OpenLiveChartPopupFromCalc","UpdateCalcLiveChartPopoutLink","chartSymbol","Live1HChartLinkText","LiveHistoricalChartLinkText","liveChartUrl","googletag","slots","Promotion","SlotWallpaper","push","SlotMobileFooter","cmd","pubads","refresh","dataLayer","gtaCode","gtag","page_path","send_page_view","debug_mode","OnClickedEmbedButton","AddHrefToElement","embedContent","embedSlug","slug","embedBtn","en","AddHrefToEmbedButtonToCalc","embedWidgetContents","calcBodies","calcBody","offsetWidth","formGroups","formInputContainers","calcInputLines","j","formgroup","formInputContainer","calcInputLine","k","convertlayout","formgroups","l","removeProperty","m","swapWrapper","icon","dropdownMenus","n","bootstrapSelectors","CalcCompactType","CalcIsShowEmbedButton","InitializeNewLiveChart","searchBoxControl","isChartWidget","defaultSymbol","defaultInterval","urlParam","urlExchange","urlSymbol","urlInterval","toUpperCase","GetValidInterval","cookieExchange","cookieSymbol","cookieInterval","oldSymbolMaps","UpdateNewLiveChartLanguageHrefs","CreateNewLiveChart","IsLoggedInUser","tvLivechartWidget","onChartReady","activeChart","onDataLoaded","subscribe","OnChartDataLoaded","onSymbolChanged","OnSymbolChanged","onIntervalChanged","OnIntervalChanged","symbolExt","console","log","tvLivechartWidgetLoaded","UpdateIntervalSwitchLinks","RefreshWatchList","pro_name","click","resolution","tvHrefTitleUpdateDisabled","setResolution","UpdateNewLiveChartHistory","matchMedia","matches","getCheckableActionState","executeActionById","localStorage","getItem","LoadNewLiveChartHistory","ResetChartHistory","setItem","InitializeNewLiveChartHandlers","DisableNewLiveChartInteract","tvLivechartWidgetPrevVisibleRange","setVisibleRange","lastMsg","getSeries","bars","last","OnNewStreamMessage","price","updatePriceHistoryTable","append","lcEnableInteractiveTooltip","mousemove","pageX","pageY","scrollX","scrollY","mousedown","preventDefault","UpdateNewLiveChartPageTitleAndMeta","UpdateNewLiveChartHref","range","fromDate","Date","toDate","timeframeVal","setFullYear","getFullYear","setTimeFrame","GetCurrentIntervalFromUrl","validInterval","intervalParam","keys","tvIntervalParam","key","SetPriceSpan","formattedData","orgVal","msgData","ask","bid","priceFormatter","format","loggedIn","langcode","PORTAL_CODE","timeframes","description","widgetConfig","debug","container","datafeed","TwelveDatafeed","host","streamCallback","symbolResolvedCallback","OnSymbolResolved","liveChartConnection","library_path","drawings_access","tools","Intl","DateTimeFormat","resolvedOptions","timeZone","time_frames","symbol_search_request_delay","overrides","mainSeriesProperties.highLowAvgPrice.highLowPriceLabelsVisible","mainSeriesProperties.showCountdown","LiveChartSaveLoadAdapter","displaySymbol","timeframeObj","resolutionPendingTimeframe","timeframe","queryString","GenerateNewLiveChartUrl","basePath","GenerateNewLiveChartUrlParam","UpdateAllLCHrefs","UpdateChartBreadcrumb","lastItem","breadcrumbSchema","parse","isArray","items","@type","position","item","baseQuery","each","queryParam","icMarketsIndices","symbolInfo","additional","stockDesc","hasOwnProperty","pageTitle","additionalTitle","pageText","metaDesc","baseCurrency","localisedbaseCurrencyName","quoteCurrency","localisedQuoteCurrencyName","lcPageText","lcMetaText","textObj","baseSymbol","quoteSymbol","baseSymbolName","quoteSymbolName","symbolShortName","symbolLongName","trimEnd","lcPageText_extra","lcMetaText_extra","OnNewLiveChartThemeChanged","hasClass","changeTheme","OnNewLiveChartFullScreen","scrollTo","InitializeLiveChartWatchList","InitializeLiveChartWatchListPopover","RefreshWatchListContent","SyncWatchListSymbols","symbols","watchList","GetWatchList","AddToWatchListIfNotExist","Ticker","Exchange","sort","CompareSymbol","popover","trigger","placement","boundary","template","_this","tooltip","CountWatchListItem","NewLiveChartSwitchSymbol","setSymbol","HasWatchListItem","OnRemoveFromWatchList","RemoveFromWatchList","OnAddToWatchList","AddToWatchList","isLogged","contentType","result","a","filter","watchListStr","uniqueList","newWatchList","count","OnNewLiveChartOpenNew","RefreshNewChartHistory","list","AddChartHistory","Timeframe","GetHrefOfChartHistory","GetHistoryItemDivStr","AppendWithDefaultSymbols","historyList","defaultList","cnt","GetChartHistory","slice","SetChartHistory","PopulateNewChartHistory","symbolHref","histories","itemTicker","itemSymbol","closest","itemExchange","prepend","RemoveFromRecentList","RemoveChartHistory","ClearChartHistory","ResizeSymbolColumn","firstColumns","maxWidth","max","columns","find","maxHeight","InitializePivotPointCalcParamsFromCookie","cookieHigh","cookieLow","cookieClose","cookieOpen","InitPivotPointCalcWidget","OnPPCChangeInput","UpdatePPCParamLinks","CalculatePivotPoint","OnPPCStyleUpdated","GeneratePivotPointCalculatorRemoteScript","OnPPCTypeChanged","UpdatePPCHrefAndTitle","newH1Title","originArticleH1Title","newPageTitle","GeneratePPCNewLink","symbolLinks","curType","OpenPPCEmbedOverlay","ClosePPCEmbedOverlay","ClearPivotPointCalcWdigetStyles","OnCopyPPCEmbedScript","PivotPointWidgetConfig","PPCResultLoading","closePrice","openPrice","isValid","Label","InitializeRiskOfRuinCalcParamsFromCookie","cookieWinRate","cookieAvgWinLoss","cookieRiskPerTrade","cookieTradesNum","cookieMaxDrawdown","InitRiskOfRuinCalcWidget","CalculateRiskOfRuin","OnRORCChangeInput","OnRORCChangeMaxDrawdownInput","OnRORCStyleUpdated","GenerateRiskOfRuinCalculatorRemoteScript","OpenRORCEmbedOverlay","CloseRORCEmbedOverlay","ClearRiskOfRuinCalcWdigetStyles","OnCopyRORCEmbedScript","RiskOfRuinWidgetConfig","RiskOfDrawdownTooltipLabel","RiskOfRuinResultTooltipLabel","winRate","avgWinAvgLoss","riskPerTrade","numberOfTrades","maxDrawdown","drawdown","ruin","InitializeStatsWidget","aisRoot","accountId","widgetElem","innerWidth","CopyStatsWidgetRemoteScriptToClipboard","APIHelper","SafeServiceAPICall","traditional","InitData","xhr","statusText","status","complete","InitStatsWidgetChart","GetDefaultChartOption","chartType","xaxisType","series","chart","foreColor","background","toolbar","zoom","enabled","mode","dataLabels","xaxis","categories","axisTicks","stroke","curve","markers","size","grid","borderColor","strokeDashArray","lines","yaxis","row","opacity","column","fill","gradient","shadeIntensity","opacityFrom","opacityTo","stops","tickAmount","labels","datetimeUTC","twr","statsStrings","aisHelper","AISHelper","duration","GetDuraction","lastUpdated","ToPercent","profitPercent","ToDecimal","equity","balance","openProfit","openProfitPercent","profit","monthlyProfit","peakDrawdown","aisAccountId","forceNiceScale","formatter","ApexCharts","render","GenerateStatsWidgetModel","said","script","modal","OnCopyStatsWidgetEmbedScript","navigator","clipboard","writeText","allowSlags","large","bottomPane","small","evt","topOffsetElement","event","t","o","f","c","require","u","Error","p","exports","call","1","module","_interopRequireDefault","obj","__esModule","_CalcWidgetsStyle","_CalculatorHelper","_PositionSizeCalculator","_TwelveDatafeed","_ProfitCalculator","_PipValueCalculator","_MarginCalculator","_RebateCalculator","_LiveChartSaveLoadAdapter","_APIHelper","_AISHelper","CalculatorHelperClass","CalcWidgetStyleClass","PositionSizeCalculator","ProfitCalculator","PipValueCalculator","MarginCalculator","RebateCalculator","that","tid","targetId","elem","RGBAtoRGB","r2","g2","b2","round","ParseColor","ctx","getContext","fillStyle","ColorToRGBA","cvs","fillRect","getImageData","txtBackColor","topPaneColor","textBoxColor","colorStopList","UpdateCalcDropdownArrowStyle","DropDownArrowBackFormat","RtlDropDownArrowBackFormat","TopPaneBackgroundColor","TextBoxBackgroundColor","rtlResult","CombineRegExp","regexpList","flags","source","RegExp","GenerateRegExp","rAngle","rSideCornerCapture","rComma","rColorHex","rDigits3","rDigits4","rValue","rKeyword","rColor","rColorStop","rColorStopList","rLineCapture","gradientSearch","colorStopSearch","ParseGradient","regExpLib","input","matchGradient","matchColorStop","stopResult","lastIndex","original","line","angle","sideCorner","ParseGradientFromCss","rGradientEnclosedInBrackets","parseWarning","str","fn","Constructor","BootstrapVersion","styleBase","noneSelectedText","pickers","initVal","target","srclink","isInViewport","isFully","elementTop","elementBottom","viewportTop","scrollTop","viewportBottom","../../includes/AISHelper.js","../../includes/APIHelper.js","../../includes/CalcWidgetsStyle.js","../../includes/CalculatorHelper.js","../../includes/CustomChartSymbolSelectPlugin","../../includes/InfiniteScrollSelectPlugin","../../includes/LiveChartSaveLoadAdapter.js","../../includes/MarginCalculator.js","../../includes/PipValueCalculator.js","../../includes/PositionSizeCalculator.js","../../includes/ProfitCalculator.js","../../includes/RebateCalculator.js","../../includes/TwelveDatafeed.js","15","_typeof","iterator","constructor","prototype","_classCallCheck","instance","TypeError","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","twelveDataHost","exchanges","current_exchange_timezone","subscribers","requestsPending","lastSearchCallAbortController","customSymbolResolvedCallback","myThis","setInterval","updateBars","initializeSignalR","hidden","listenerGuid","subscriptionRecord","getVisibleRange","resetCallback","resetData","state","invoke","getStreamSymbolInfo","err","start","msg","msgSymbol","subscribedRecordTicker","getStreamTickerName","subscribedRecordSymbol","feeds","time","high","low","close","volume","lastBar","lastBarTime","getAdjustedTime","toISOString","lastRealTimeUpdated","getTime","listener","onreconnected","_this2","updateDataForSubscriber","subscriberUID","rangeEndTime","now","toString","timeSeries","bar","previousBar","countback","fetch","json","query","abortController","signal","userInput","symbolType","onResultReadyCallback","abort","AbortController","twelveDataSymbolSearch","symbolName","onSymbolResolvedCallback","onResolveErrorCallback","periodParams","onHistoryCallback","onErrorCallback","firstDataRequest","countBack","noData","onRealtimeCallback","onResetCacheNeededCallback","hasSymbol","listenrId","lastRealTimeRecord","_this3","setUTCHours","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","_t","setUTCDate","_t2","getUTCDay","milliseconds","floor","next","adjustedTime","adding","setMonth","getMonth","9","storageUrl","studyTemplates","drawingTemplates","chartTemplates","Promise","reject","request","Request","method","chartData","formData","FormData","studyTemplateData","toolName","templateName","splice","resolve","map","x","_myThis$chartTemplate","structuredClone","3","isFetchingToken","tokenPromiseQueue","token","jsonStr","exp","removeItem","QueueTokenRequest","RetrieveTokenAsync","shift","ajaxRequest","GetAccessTokenAsync","headers","Authorization","_default","2","hasStyle","strWhenZero","Number","isNaN","localeCode","CURRENT_CULTURE","DEFAULT_CULTURE","toLocaleString","maximumFractionDigits","currency","minimumFractionDigits","digits","days","hours","minutes","t1","t2","span","date","yearType","toLocaleDateString","weekday","year","month","day","hour","minute","hasError","desc","abs","toFixed","InitializeCountryCodeTooltip","ele","_window$contestString","contestStrings","_window$contestString2","displayNames","DisplayNames","countryCode","of","currencyCode","regionCode","7","_createForOfIteratorHelper","allowArrayLike","it","_unsupportedIterableToArray","F","s","done","_e","normalCompletion","didErr","step","_e2","minLen","_arrayLikeToArray","test","arr","len","arr2","openModal","settings","$dialog","category","updateSymbols","dialogConfig","curControlSettings","getConfig","configEndpoint","isFirst","loadingNextPage","page","hasNext","retrieveSymbolsFromApi","pageSize","_step3","rows","_iterator3","watchlist","findIndex","watchListItem","popular","sources","dropdownHtml","Source","retrievedSymbols","baseUri","recentList","_step4","_iterator4","_step5","_iterator5","_symbol","recentListItemExchange","_ret","recentItem","aIndex","bIndex","recentListItem","sourceItem","v","_watchList","filtered","hasRemovedWatchlist","methods","init","searchDialogSelector","symbols_types","configData","extend","categoryHtml","_step","_iterator","_step2","exchangesHtml","_iterator2","$el","defaultSettings","orgUserInput","onSymbolSelected","methodOrOptions","apply","arguments","timerId","newCategory","scroll","scrollHeight","$itemRow","mainTicker","jQuery","8","LoadMore","first","defaultCurrency","noSearchingLabel","$parent","$dropdown","variables","isLoading","q","lastPage","flag","_that$variables8","pageCount","Search","UpdateSelectedValues","$selectedValueDiv","$button","multiSelect","valueList","multiValues","newValue","join","div","toLocaleLowerCase","RemoveValue","removed","foundIndex","inputClass","_that$variables","cryptos","cryptoList","defaultCryptos","lastNumber","wrap","after","$header","$headerInput","$headerOptions","$headerSelectedValues","$dropdownList","$inputBoxResizer","_that$variables2","stopPropagation","_that$variables3","removedValue","$selected","_that$variables4","_that$variables5","_that$variables6","_that$variables7","10","calcWidgetStyleInstance","calculatorHelperInstance","parameters","depositCurrency","tradeSize","tradeSizeType","leverage","symbolSearchControl","currencyControl","InitCalculatorParams","InitializeComponents","RetrieveToolSymbolInfo","info","OnSymbolInfoResolved","CalculateResult","toolParams","GetToolParamsFromUrlAndCache","tradeSizeParams","GetTradeSize","cookieLeverage","TradeSizeUnitsLabel","TradeSizeLotsLabel","RemoveResult","SwitchUnitsLots","accountCurrency","lotSize","lots","AddTradeSizeHistory","atInitialize","UpdateTradeSizeFields","UpdateConversationPrice","UpdatePopupLink","UpdateHrefAndTitle","showCurrency","ToLocaleNumberForInput","currentPrice","UpdateCalculatorTitle","UpdateCalculatorHrefs","SetTradeSizeFields","./CalcWidgetsStyle.js","./CalculatorHelper.js","./CustomChartSymbolSelectPlugin.js","./InfiniteScrollSelectPlugin.js","12","risk","riskType","stopLossPips","cookieBalance","cookieRisk","cookieRiskType","OnSwitchStopLossPopoverLink","OnContractSizeEnable","animate","onePipSize","accountBalance","riskTypeControl","moneyToRisk","displayMoneyOrRisk","pipAtRisk","exchangeRate","units","lotsQuestionMarkPopover","stopLossPriceLabel","switchToStopLossPipsLabel","stopLossPipsLabel","switchToStopLossPriceLabel","UpdateStopLossPriceFields","UpdateOnePipSizeLabel","UpdateOneLotSize","readOnly","_01PipSize","11","fromCookie","pipAmount","oneLotSize","pipSize","UpdateOneLotPipValueLabel","UpdateConversationPriceFields","H2PipValueLabel","ForexStandardLotPipValueText","ForexMiniLotPipValueText","ForexMacroLotPipValueText","NonForexPipValueText","digit","PipSizeLabel","13","buyOrSell","cookieBuyOrSell","UpdateOpenClosePrice","ToggleOnePipFields","pipResult","./CalcWidgetsStyle","./CalculatorHelper","./CustomChartSymbolSelectPlugin","./InfiniteScrollSelectPlugin","5","CurrencyPairs","StandardLotSize","ISOCurrencyList","CryptoCurrencies","Metals","CurrencyList","SymbolRates","AUDCAD","AUDCHF","AUDJPY","AUDNZD","AUDUSD","CADCHF","CADJPY","CHFJPY","GBPAUD","GBPCAD","GBPCHF","GBPJPY","GBPNZD","GBPUSD","EURAUD","EURCAD","EURCHF","EURGBP","EURJPY","EURNZD","EURUSD","NZDCAD","NZDCHF","NZDJPY","NZDUSD","USDCAD","USDCHF","USDCNH","USDJPY","USDMXN","XAGUSD","XAUUSD","BTCUSD","ETHUSD","XRPUSD","LTCUSD","EOSUSD","XLMUSD","BCHUSD","TRYJPY","USDSEK","EURSEK","EURNOK","USDNOK","USDZAR","USDHKD","USDTRY","EURTRY","USDILS","XTIUSD","XTI.USD","US500","NZDSGD","US30","AUS200","USDSGD","SGDJPY","AUDSGD","EURSGD","BTCJPY","STOXX50","UK100","EURDKK","USDDKK","EURMXN","NOKJPY","EURZAR","EURHKD","CHFSGD","GBPSGD","USDRUB","GBPNOK","CADSGD","EURRUB","CHINA50","USDPLN","EURPLN","XBRUSD","FRA40","GER40","JPN225","US100","US2000","GBPSEK","GBPMXN","ZARJPY","USDHUF","EURHUF","GBPTRY","SEKJPY","GBPDKK","USDTHB","GBPPLN","AUDPLN","AUDNOK","AUDSEK","GBPHUF","USDCZK","EURCZK","GBPCZK","XNGUSD","USDRON","EURRON","HK50","USDCNY","XAUEUR","XPTUSD","ES35","GBPZAR","XPDUSD","DSHUSD","USDINR","XCUUSD","XAUAUD","BTCEUR","IT40","GBPHKD","NOKSEK","USDBRL","XAGEUR","XAUGBP","XAUJPY","CA60","NETH25","SWI20","CHINAH","XAGAUD","CHFSEK","XAUCHF","USDTUSD","LINKUSD","USDCUSD","WBTCUSD","DOGEUSD","AAVEUSD","THETAUSD","ATOMUSD","SUSHIUSD","COMPUSD","HTUSD","IOTAUSD","EGLDUSD","AVAXUSD","DOTUSD","ADAUSD","BNBUSD","UNIUSD","BSVUSD","XMRUSD","XEMUSD","SNXUSD","TRXUSD","XTZUSD","VETUSD","CELUSD","NEOUSD","DAIUSD","OKBUSD","MKRUSD","CROUSD","LEOUSD","SOLUSD","FTTUSD","FILUSD","ZECUSD","LUNAUSD","SHIBUSD","GetCurrencyPairDataUrl","currencyPairs","SymbolName","BaseCurrency","QuoteCurrency","SymbolRate","cryptoCurrencies","metalCurrencies","currencyList","GlobalCurrencyName","LotSize","firstCur","secondCur","GetCurrencyPairPrice","currencies","first_usd","usd_sec","GetCalculatedExchangeRate","firstCurr","secondCurr","PipSize","currencyPair","CurrencyFullName","FullName","IsCryptoSymbol","IsMetalSymbol","DisplaySymbolName","stringNumber","number","thousandSeparator","decimalCount","toStandard","maximumDigit","SymbolType","qutoeCurrency","ExcludeFromLiveChart","TVSymbol","calculatorSlug","frameSrc","defaultInstrument","defaultTicker","defaultDepositCurrency","querySymbol","cookieTicker","GetDepositCurrencyCookie","portalCode","suffix","GetPrefix","GetSuffix","GetCalculatorH1Title","GetCalculatorPageTitle","GetCalculatorSEODescription","startsWith","GenerateNewLink","canonicalLink","symbolSlug","SwitchToLotsLabel","SwitchToUnitsLabel","14","UpdateRCTradeSizeFields","secondCurrency","rebateType","rebateAmount","rebatePerLot","4","_Cookie","Cookie","InitialiseWidgetsStyleAndCookie","calcCookie","calcCookieValues","cook","GetCookie","cookieValues","GetValue","logged","needSync","newHistory","hSymbol","usymbol","historyStr","./Cookie","6","CookieName","CookieValue","ExpiresInDays","d","setTime","expires","toUTCString","cookieToSet","encodeURIComponent","cookie","ExpiresInHours","cname","cvalue","ca","decodeURIComponent","charAt","requestedValue","nameEQ"],"mappings":"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","file":"../calc-widget.min.js","sourcesContent":["var CalcDefaultStyles = [\r\n {\r\n name: \"Gray theme\",\r\n value: \"gray\",\r\n allowSlags: ['all'],\r\n styles: {\r\n large: {\r\n topPane: \"background: linear-gradient(#fff 20%, #f5f5f5 45%); color: black; border: solid 1px #aaa; border-bottom: none; \",\r\n bottomPane: \"background: #f3f3f3; border: solid 1px #aaa; color: black;\",\r\n buttonStyle: \"background: #343540; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"665\"\r\n },\r\n small: {\r\n topPane: \"background: linear-gradient(#fff 20%, #f5f5f5 45%); color: black; border: solid 1px #aaa; border-bottom: none; \",\r\n bottomPane: \"background: #f3f3f3; border: solid 1px #aaa; color: black;\",\r\n buttonStyle: \"background: #343540; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 16px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"250\"\r\n }\r\n\r\n }\r\n },\r\n {\r\n name: \"Dark theme\",\r\n value: \"dark\",\r\n allowSlags: ['all'],\r\n styles: {\r\n large: {\r\n topPane: \"background: linear-gradient(#343540 0%, #242831 100%); color: white; border-bottom: none;\",\r\n bottomPane: \"background: #15181d; border: solid 0px #2a2e39; color: #9194a1;\",\r\n buttonStyle: \"background: #343540; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background: #15181d; color: #9194a1; border: solid 0px #9194a1;\",\r\n highlightColor: \"rgba(0,0,0,1.0)\",\r\n containerWidth: \"665\"\r\n },\r\n small: {\r\n topPane: \"background: linear-gradient(#343540 0%, #242831 100%); color: white; border-bottom: none;\",\r\n bottomPane: \"background: #15181d; border: solid 0px #2a2e39; color: #9194a1;\",\r\n buttonStyle: \"background: #343540; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background: #15181d; color: #9194a1; border: solid 0px #9194a1;\",\r\n highlightColor: \"rgba(0,0,0,1.0)\",\r\n containerWidth: \"250\"\r\n },\r\n }\r\n },\r\n {\r\n name: \"Blue Green theme\",\r\n value: \"bluegreen\",\r\n allowSlags: ['all'],\r\n styles: {\r\n large: {\r\n topPane: \"background: linear-gradient(#1ba1c4 20%, #49b9ad 45%); border: solid 0px; border-bottom: none; color: white;\",\r\n bottomPane: \"background: white; border: solid 1px #7a7a7a; border-top: none; color: black;\",\r\n buttonStyle: \"background: #1ba1c4; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"665\"\r\n },\r\n small: {\r\n topPane: \"background: linear-gradient(#1ba1c4 20%, #49b9ad 45%); border: solid 0px; border-bottom: none; color: white;\",\r\n bottomPane: \"background: white; border: solid 1px #7a7a7a; border-top: none;color: black;\",\r\n buttonStyle: \"background: #1ba1c4; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 16px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"250\"\r\n }\r\n\r\n }\r\n },\r\n\r\n {\r\n name: \"Plain theme\",\r\n value: \"plain\",\r\n allowSlags: ['all'],\r\n styles: {\r\n large: {\r\n topPane: \"background: white; color: black; border: solid 1px black; border-bottom: none; \",\r\n bottomPane: \"background: white; border: solid 1px black; color: black;\",\r\n buttonStyle: \"background: black; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"665\"\r\n },\r\n small: {\r\n topPane: \"background: white; color: black; border: solid 1px black; border-bottom: none; \",\r\n bottomPane: \"background: white; border: solid 1px black; color: black;\",\r\n buttonStyle: \"background: black; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 16px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"250\"\r\n }\r\n\r\n }\r\n },\r\n]\r\nvar CCCalcDefaultStyles = [\r\n {\r\n name: \"Minimalist\",\r\n allowSlags: ['currency-converter'],\r\n value: \"minimalist\",\r\n styles: {\r\n large: {\r\n topPane: \"background: transparent; color: #aaa; border: none;\",\r\n bottomPane: \"display: none !important;\",\r\n buttonStyle: \"background: black; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa;\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"350\"\r\n },\r\n small: {\r\n topPane: \"background: transparent; color: #aaa; border: none;\",\r\n bottomPane: \"display: none !important;\",\r\n buttonStyle: \"background: black; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 16px; font-weight: 500;\",\r\n textboxStyle: \"background-color: white; color: black; border: solid 1px #aaaaaa;\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"250\"\r\n }\r\n\r\n }\r\n },\r\n {\r\n name: \"MinimalistDark\",\r\n allowSlags: ['currency-converter'],\r\n value: \"minimalist-dark\",\r\n styles: {\r\n large: {\r\n topPane: \"background: linear-gradient(#343540 0%, #242831 100%); color: #777; border-bottom: none;\",\r\n bottomPane: \"display: none !important;\",\r\n buttonStyle: \"background: black; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 40px; font-weight: 500;\",\r\n textboxStyle: \"background: #15181d; color: #9194a1; border: solid 0px #9194a1;\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"350\"\r\n },\r\n small: {\r\n topPane: \"background: linear-gradient(#343540 0%, #242831 100%); color: #777; border-bottom: none;\",\r\n bottomPane: \"display: none !important;\",\r\n buttonStyle: \"background: black; color: white; border-radius: 20px;\",\r\n titleStyle: \"text-align: left; font-size: 16px; font-weight: 500;\",\r\n textboxStyle: \"background: #15181d; color: #9194a1; border: solid 0px #9194a1;\",\r\n highlightColor: \"#ffff00\",\r\n containerWidth: \"250\"\r\n }\r\n\r\n }\r\n },\r\n]\r\nconst containerMinMaxWidth = 150;\r\nconst defaultStyleValue = 'gray';\r\nconst currency_converter_slug = 'currency-converter';\r\n\r\ndocument.addEventListener('DOMContentLoaded', function (evt) {\r\n var element = document.querySelector('.widget-content-wrapper');\r\n var topOffsetElement = document.getElementById('fix-wrap');\r\n var top = 0; \r\n if (topOffsetElement !== null) {\r\n top = topOffsetElement.offsetHeight;\r\n \r\n }\r\n \r\n\r\n if (element !== null) {\r\n element.style.position = \"sticky\";\r\n element.style.top = top + \"px\";\r\n }\r\n\r\n\r\n})\r\n\r\nfunction InitializeCalcWidgetMaker() {\r\n if ($('#calc-embed-script-overlay').length == 0)\r\n return;\r\n \r\n var theme = atob(window.CalcWidgetStyle.GetWidgetStyleTheme());\r\n if (window.CalcSlug === currency_converter_slug) {\r\n theme = atob(window.CalcWidgetStyle.GetCCWidgetStyleTheme());\r\n }\r\n if (theme === '') {\r\n theme = CalcDefaultStyles[0].value;\r\n }\r\n SetStyleThemeSelectValue(theme, true);\r\n currentStyleTheme = theme;\r\n GenerateCalculatorWidgetRemoteScript();\r\n\r\n var compactSelect = document.getElementById('widget-compact-type-select');\r\n if (compactSelect) {\r\n var cmpValue = compactSelect.options[compactSelect.selectedIndex].value;\r\n ChangeCompactType(cmpValue);\r\n }\r\n\r\n if (window.CalcSlug == currency_converter_slug) {\r\n $(\"#maker-currency-converter-from-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: 'EUR',\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n $(\"#maker-currency-converter-to-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: 'USD',\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n document.getElementById('maker-currency-converter-from-select').addEventListener('change', OnChangedFromCurrency);\r\n document.getElementById('maker-currency-converter-to-select').addEventListener('change', OnChangedToCurrency);\r\n }\r\n\r\n if ($(\"#maker-symbol-select-control\").length > 0) {\r\n window.calcMakerSymbolSelectControl = $(\"#maker-symbol-select-control\").chartSymbolSearch('init', '/api/live-chart/datafeed', {\r\n onChange: function (ticker, symbolData) {\r\n window.calcMakerDefaultSymbol = symbolData.symbol;\r\n window.calcMakerDefaultTicker = ticker;\r\n\r\n if (window.CalcSlug == \"pip-value-calculator\" && window.pipValueCalculator) {\r\n window.pipValueCalculator.UpdateCalculatorSymbol(ticker, symbolData.symbol);\r\n } else if (window.CalcSlug == \"margin-calculator\" && window.marginCalculator) {\r\n window.marginCalculator.UpdateCalculatorSymbol(ticker, symbolData.symbol);\r\n } else if (window.CalcSlug == \"position-size-calculator\" && window.positionSizeCalculator) {\r\n window.positionSizeCalculator.UpdateCalculatorSymbol(ticker, symbolData.symbol);\r\n } else if (window.CalcSlug == \"profit-calculator\" && window.profitCalculator) {\r\n window.profitCalculator.UpdateCalculatorSymbol(ticker, symbolData.symbol);\r\n } else if (window.CalcSlug == \"forex-rebate-calculator\" && window.rebateCalculator) {\r\n window.rebateCalculator.UpdateCalculatorSymbol(ticker, symbolData.symbol);\r\n }\r\n GenerateCalculatorWidgetRemoteScript();\r\n }\r\n });\r\n }\r\n\r\n if (window.CalcSlug === \"compounding-calculator\") {\r\n var cookieStartBalance = window.CalcWidgetStyle.GetCalcCookieValue('comc-balance');\r\n if (cookieStartBalance === \"\") {\r\n cookieStartBalance = 2000;\r\n }\r\n $('#default-starting-balance-input').val(parseInt(cookieStartBalance));\r\n\r\n var cookiePeriods = window.CalcWidgetStyle.GetCalcCookieValue('comc-periods');\r\n if (cookiePeriods === \"\") {\r\n cookiePeriods = 12;\r\n }\r\n $('#default-number-input').val(parseInt(cookiePeriods));\r\n\r\n var cookieGain = window.CalcWidgetStyle.GetCalcCookieValue('comc-gain');\r\n if (cookieGain === '') {\r\n cookieGain = 5;\r\n\r\n }\r\n $('#default-percent-input').val(parseInt(cookieGain));\r\n\r\n\r\n } else if (window.CalcSlug === \"drawdown-calculator\") {\r\n\r\n var cookieStartBalance = window.CalcWidgetStyle.GetCalcCookieValue('dc-balance');\r\n if (cookieStartBalance === \"\") {\r\n cookieStartBalance = 2000;\r\n }\r\n $('#default-starting-balance-input').val(parseInt(cookieStartBalance));\r\n\r\n var cookiePeriods = window.CalcWidgetStyle.GetCalcCookieValue('dc-periods');\r\n if (cookiePeriods === \"\") {\r\n cookiePeriods = 12;\r\n }\r\n $('#default-number-input').val(parseInt(cookiePeriods));\r\n\r\n var cookieGain = window.CalcWidgetStyle.GetCalcCookieValue('dc-gain');\r\n if (cookieGain === \"\") {\r\n cookieGain = 2;\r\n }\r\n $('#default-percent-input').val(parseInt(cookieGain));\r\n }\r\n\r\n\r\n if (window.CalcSlug == \"exchange-fees-calculator\") {\r\n $(\"#widget-default-exchange-select\").selectpicker();\r\n $(\"#widget-default-exchange-select\").selectpicker('val', 'bitstamp');\r\n }\r\n\r\n var resetLink = document.getElementById('widget-default-style-reset');\r\n if (resetLink) {\r\n if (currentStyleTheme === 'custom') {\r\n resetLink.style.setProperty('display', 'flex', 'important');\r\n } else {\r\n resetLink.style.setProperty('display', 'none', 'important');\r\n }\r\n }\r\n\r\n var calcContent = document.querySelector('.calc-widget-content');\r\n if (calcContent) {\r\n const calcContentReseizeObserver = new ResizeObserver(function (entries) {\r\n OnChangedSizeCalcContent();\r\n });\r\n calcContentReseizeObserver.observe(calcContent);\r\n }\r\n\r\n ChangeBodyContent();\r\n}\r\n\r\nfunction UpdateWidgetMakerCurrencyPairData() {\r\n if ($('#calc-embed-script-overlay').length == 0)\r\n return;\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\nfunction OnSetStyleValues(value, compactType) {\r\n var allDefaultStyles = [].concat(CalcDefaultStyles);\r\n if (window.CalcSlug === currency_converter_slug) {\r\n allDefaultStyles = allDefaultStyles.concat(CCCalcDefaultStyles);\r\n } \r\n for (var i = 0; i < allDefaultStyles.length; i++) {\r\n var style = allDefaultStyles[i];\r\n if (style.value === value) {\r\n $(\"[cbf-widget-style-input-id='top-pane-style-input']\").val(style.styles[compactType]['topPane']);\r\n $(\"[cbf-widget-style-input-id='bottom-pane-style-input']\").val(style.styles[compactType]['bottomPane']);\r\n $(\"[cbf-widget-style-input-id='button-style-input']\").val(style.styles[compactType]['buttonStyle']);\r\n $(\"[cbf-widget-style-input-id='title-style-input']\").val(style.styles[compactType]['titleStyle']);\r\n $(\"[cbf-widget-style-input-id='textbox-style-input']\").val(style.styles[compactType]['textboxStyle']);\r\n $(\"[cbf-widget-style-input-id='container-width-input']\").val(style.styles[compactType]['containerWidth']);\r\n $(\"[cbf-widget-style-input-id='highlight-color-input']\").val(style.styles[compactType]['highlightColor']); \r\n }\r\n\r\n }\r\n}\r\nfunction OnChangedCalcDefaultStyles() {\r\n var el = document.getElementById('widget-default-style-select');\r\n var value = el.options[el.selectedIndex].value;\r\n currentStyleTheme = value;\r\n if (window.CalcSlug === currency_converter_slug) { \r\n window.CalcWidgetStyle.SetCCWidgetStyleTheme(value);\r\n } else { \r\n window.CalcWidgetStyle.SetWidgetStyleCookie('WidgetTheme', value);\r\n }\r\n \r\n if (value === 'custom') {\r\n GetAllStylesFromCookie();\r\n } else {\r\n var compactType = \"large\";\r\n var compactTypeSelect = document.getElementById('widget-compact-type-select');\r\n if (compactTypeSelect) {\r\n compactType = compactTypeSelect.options[compactTypeSelect.selectedIndex].value;\r\n }\r\n OnSetStyleValues(value, compactType);\r\n }\r\n ChangeBodyContent();\r\n}\r\n\r\nfunction SetStyleThemeSelectValue(value, dispatchEvent) {\r\n var themeSelectEl = document.getElementById('widget-default-style-select');\r\n currentStyleTheme = value;\r\n if (themeSelectEl) {\r\n themeSelectEl.value = value;\r\n }\r\n if (dispatchEvent && themeSelectEl) {\r\n themeSelectEl.dispatchEvent(new Event('change'));\r\n }\r\n}\r\n\r\n\r\nfunction ChangeBodyContent() {\r\n\r\n var topStyleValue = $('[cbf-widget-style-input-id=top-pane-style-input]').val();\r\n var bottomStyleValue = $('[cbf-widget-style-input-id=bottom-pane-style-input]').val();\r\n var buttonStyleValue = $('[cbf-widget-style-input-id=button-style-input]').val();\r\n var titleStyleValue = $('[cbf-widget-style-input-id=title-style-input]').val();\r\n var textboxStyleValue = $('[cbf-widget-style-input-id=textbox-style-input]').val();\r\n var containerWidth = $('[cbf-widget-style-input-id=container-width-input]').val();\r\n var highlightColor = $('[cbf-widget-style-input-id=highlight-color-input]').val();\r\n\r\n $('.widget-top-pane').attr('style', topStyleValue);\r\n $('.widget-bottom-pane').attr('style', bottomStyleValue);\r\n $('.calculate-button').attr('style', buttonStyleValue);\r\n $('.widget-title').attr('style', titleStyleValue);\r\n $('.calc-widget-content').attr('style', 'max-width: ' + containerWidth + 'px !important');\r\n OnChangedSizeCalcContent();\r\n $('.converter-main-result-span').attr('style', 'background: ' + highlightColor);\r\n\r\n $('.widget-top-pane button.widget-input-override').attr('style', textboxStyleValue);\r\n $('.widget-top-pane input.widget-input-override').attr('style', textboxStyleValue);\r\n\r\n var topBackColor = '';\r\n var topSplits = topStyleValue.split(';');\r\n for (var i = 0; i < topSplits.length; i++) {\r\n var topSplit = topSplits[i];\r\n if (topSplit !== undefined && split !== '') {\r\n var stylesSplits = topSplit.split(':');\r\n if (stylesSplits.length > 0) {\r\n var trimKey = stylesSplits[0].trim();\r\n if (trimKey === 'background' || trimKey === 'background-color') {\r\n topBackColor = stylesSplits[1];\r\n topBackColor = topBackColor.replace('!important', '');\r\n topBackColor = topBackColor.replace(' ', '');\r\n topBackColor = topBackColor.trim()\r\n }\r\n }\r\n }\r\n }\r\n\r\n var splits = textboxStyleValue.split(';');\r\n var arrowColor = '';\r\n var backColor = '';\r\n var newTextboxStyle = '';\r\n for (var i = 0; i < splits.length; i++) {\r\n var split = splits[i];\r\n if (split !== undefined && split !== '') {\r\n var colors = split.split(':');\r\n if (colors.length > 0) {\r\n var trimKey = colors[0].trim();\r\n if (trimKey === 'color') {\r\n arrowColor = colors[1];\r\n arrowColor = arrowColor.replace('!important', '');\r\n arrowColor = arrowColor.replace(' ', '');\r\n arrowColor = arrowColor.trim();\r\n }\r\n if (!colors[1].includes('!important')) {\r\n newTextboxStyle += colors[0] + ':' + colors[1] + ' !important;';\r\n } else {\r\n newTextboxStyle += colors[0] + ':' + colors[1] + ';';\r\n }\r\n\r\n\r\n if (trimKey === 'background' || trimKey === 'background-color') {\r\n backColor = colors[1];\r\n backColor = backColor.replace('!important', '');\r\n backColor = backColor.replace(' ', '');\r\n backColor = backColor.trim()\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n var result1 = window.ParseGradientFromString(topBackColor);\r\n \r\n if (result1 !== false) {\r\n topBackColor = window.ExtractColor(0, result1);\r\n } \r\n var result2 = window.ParseGradientFromString(backColor);\r\n if (result2 !== false) {\r\n backColor = window.ExtractColor(0, result2);\r\n } \r\n var mixedColor = window.CalculateDropdownArrowColor(topBackColor, backColor);\r\n var mixedColorStr = 'rgb(' + mixedColor.r + ', ' + mixedColor.g + ', ' + mixedColor.b + ')';\r\n var mixedColorOpStr = 'rgb(' + mixedColor.r + ', ' + mixedColor.g + ', ' + mixedColor.b + ', 0)';\r\n var style = document.querySelector('head style[id=\"calc_textbox_style\"]');\r\n var css = '.widget-top-pane button.widget-input-override:after, .widget-top-pane div.widget-symbol-select:after { background-color: ' + arrowColor + ' !important; } .widget-top-pane button.widget-input-override:before, .widget-top-pane div.widget-symbol-select:before { background: linear-gradient(90deg, ' + mixedColorOpStr + ' -6.25%, ' + mixedColorStr + ' 27.46%); } html[dir=rtl] .widget-top-pane button.widget-input-override:before, html[dir=rtl] .widget-top-pane div.widget-symbol-select:before {background: linear-gradient(-90deg, ' + mixedColorOpStr + ' -6.25%, ' + mixedColorStr + ' 27.46%); } .widget-top-pane button.widget-input-override, .widget-top-pane input.widget-input-override, .widget-top-pane div.widget-symbol-select {' + newTextboxStyle + '} .widget-top-pane div.selectdiv, .widget-top-pane select.widget-input-override {' + newTextboxStyle + '} .widget-top-pane div.selectdiv:after, .widget-top-pane select.widget-input-override:after { border-top-color: ' + arrowColor + ' !important; }';\r\n\r\n if (style === null) {\r\n head = document.head || document.getElementsByTagName('head')[0];\r\n style = document.createElement('style');\r\n head.appendChild(style);\r\n style.type = 'text/css';\r\n style.id = 'calc_textbox_style';\r\n }\r\n if (style.styleSheet) {\r\n style.styleSheet.style = css;\r\n } else {\r\n style.innerHTML = '';\r\n style.appendChild(document.createTextNode(css));\r\n }\r\n\r\n var regex = /([\\w-]*)\\s*:\\s*([^;]*)/g;\r\n var match, bottomStyles = {};\r\n while (match = regex.exec(bottomStyleValue)) bottomStyles[match[1]] = match[2].trim();\r\n if (bottomStyles['color']) {\r\n var btColor = bottomStyles['color'];\r\n var els = document.querySelectorAll('.calc-live-chart-links a');\r\n for (var i = 0; i < els.length; i++) {\r\n var el = els[i];\r\n el.style.setProperty('color', btColor, 'important');\r\n }\r\n }\r\n\r\n AddRemoveFormgroupWidthStyle(containerWidth);\r\n\r\n var topStyles = topStyleValue.split(\";\");\r\n for (var i = 0; i < topStyles.length; i++) {\r\n var style = topStyles[i];\r\n if (style.includes(\"color\")) {\r\n $('.widget-top-pane .calc-popup-icon i').attr('style', style);\r\n break;\r\n }\r\n }\r\n\r\n var isDisplayTitle = $('#display-tool-title-input').prop(\"checked\");\r\n var isShowChartLinks = $('#show-chart-links-input').prop(\"checked\");\r\n var isShowEmbedButton = $('#show-embed-button').prop(\"checked\");\r\n var isShowBuyCryptoButton = $(\"#show-buy-crypto-button\").prop(\"checked\");\r\n\r\n if (isDisplayTitle) {\r\n $('.widget-title').show();\r\n } else {\r\n $('.widget-title').hide();\r\n }\r\n if (isShowChartLinks) {\r\n $('.calc-live-chart-links').attr('style', 'display: flex !important');\r\n } else {\r\n $('.calc-live-chart-links').attr('style', 'display: none !important');\r\n }\r\n\r\n if (isShowEmbedButton) {\r\n $('.embed-button').show();\r\n } else {\r\n $('.embed-button').hide();\r\n }\r\n if (isShowBuyCryptoButton) {\r\n $(\"#buy-crypto-button-area\").attr('style', 'display:flex');\r\n } else {\r\n $(\"#buy-crypto-button-area\").attr('style', 'display: none !important');\r\n }\r\n if (window.CalcSlug === 'compounding-calculator') {\r\n var defaultBalace = $('#default-starting-balance-input').val();\r\n var defaultNumber = $('#default-number-input').val();\r\n var defaultPercent = $('#default-percent-input').val();\r\n $('#cc-starting-balance').val(parseInt(defaultBalace));\r\n $('#cc-periods').val(parseInt(defaultNumber));\r\n $('#cc-gain-percent').val(parseInt(defaultPercent));\r\n\r\n } else if (window.CalcSlug === 'drawdown-calculator') {\r\n var defaultBalace = $('#default-starting-balance-input').val();\r\n var defaultNumber = $('#default-number-input').val();\r\n var defaultPercent = $('#default-percent-input').val();\r\n $('#dc-starting-balance').val(parseInt(defaultBalace));\r\n $('#dc-periods').val(parseInt(defaultNumber));\r\n $('#dc-gain-percent').val(parseInt(defaultPercent));\r\n }\r\n\r\n}\r\nfunction ChangeCompactType(type) {\r\n var widgetContents = document.getElementsByClassName('calc-widget-content');\r\n var calcConverterIcon = document.getElementById('calc-converter-icon');\r\n if (type === \"small\") {\r\n if (widgetContents.length > 0) {\r\n var widgetContent = widgetContents[0];\r\n widgetContent.classList.add('widget-content-compact-small');\r\n document.body.classList.add('body-widget-content-small');\r\n if (calcConverterIcon) {\r\n calcConverterIcon.classList.remove('mdi-swap-horizontal');\r\n calcConverterIcon.classList.add('mdi-swap-vertical');\r\n }\r\n }\r\n } else {\r\n if (widgetContents.length > 0) {\r\n var widgetContent = widgetContents[0];\r\n widgetContent.classList.remove('widget-content-compact-small');\r\n document.body.classList.remove('body-widget-content-small');\r\n if (calcConverterIcon) {\r\n calcConverterIcon.classList.add('mdi-swap-horizontal');\r\n calcConverterIcon.classList.remove('mdi-swap-vertical');\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction GenerateCalculatorWidgetModel() {\r\n CalcWidgetConfig = new Object();\r\n CalcWidgetConfig.TopPaneStyle = btoa($('[cbf-widget-style-input-id=\"top-pane-style-input\"]').val());\r\n CalcWidgetConfig.BottomPaneStyle = btoa($('[cbf-widget-style-input-id=\"bottom-pane-style-input\"]').val());\r\n var buttonStyleValue = $('[cbf-widget-style-input-id=\"button-style-input\"]').val();\r\n if (buttonStyleValue) {\r\n CalcWidgetConfig.ButtonStyle = btoa(buttonStyleValue);\r\n }\r\n\r\n CalcWidgetConfig.TitleStyle = btoa($('[cbf-widget-style-input-id=\"title-style-input\"]').val());\r\n CalcWidgetConfig.TextboxStyle = btoa($('[cbf-widget-style-input-id=\"textbox-style-input\"]').val());\r\n CalcWidgetConfig.ContainerWidth = $('[cbf-widget-style-input-id=\"container-width-input\"]').val();\r\n CalcWidgetConfig.HighlightColor = $('[cbf-widget-style-input-id=\"highlight-color-input\"]').val();\r\n\r\n CalcWidgetConfig.IsDisplayTitle = $('#display-tool-title-input').prop('checked');\r\n CalcWidgetConfig.IsShowChartLinks = $('#show-chart-links-input').prop('checked');\r\n CalcWidgetConfig.IsShowEmbedButton = $('#show-embed-button').prop('checked'); \r\n\r\n var language = document.getElementById('widget-language-select').value;\r\n if (language != \"browser\") {\r\n CalcWidgetConfig.Lang = language;\r\n }\r\n\r\n var hostUrl = window.location.protocol + \"//\" + window.location.hostname;\r\n if (window.location.port !== \"\")\r\n hostUrl += \":\" + window.location.port;\r\n\r\n CalcWidgetConfig.Url = hostUrl;\r\n CalcWidgetConfig.Calculator = window.CalcSlug;\r\n\r\n var compactSelect = document.getElementById('widget-compact-type-select');\r\n if (compactSelect) {\r\n var compactValue = compactSelect.options[compactSelect.selectedIndex].value;\r\n CalcWidgetConfig.CompactType = compactValue;\r\n }\r\n\r\n const symbol = window.calcMakerDefaultSymbol;\r\n const ticker = window.calcMakerDefaultTicker;\r\n if (symbol && ticker) {\r\n var exchange = '';\r\n if (ticker.includes(':')) exchange = ticker.split(\":\")[0];\r\n CalcWidgetConfig.DefaultInstrument = window.CalculatorHelper.GetToolSymbolSlugFromTicker(exchange, symbol);\r\n }\r\n\r\n if (window.CalcSlug === \"currency-converter\") {\r\n var from = $('#maker-currency-converter-from-select').val();\r\n var to = $('#maker-currency-converter-to-select').val();\r\n CalcWidgetConfig.DefaultCurrencyFrom = from;\r\n CalcWidgetConfig.DefaultCurrencyTo = to;\r\n }\r\n\r\n CalcWidgetConfig.DefaultBalance = $('#default-starting-balance-input').val();\r\n CalcWidgetConfig.DefaultPeriod = $('#default-number-input').val();\r\n CalcWidgetConfig.DefaultGain = $('#default-percent-input').val();\r\n\r\n if (window.CalcSlug == \"exchange-fees-calculator\") {\r\n CalcWidgetConfig.DefaultExchange = $(\"#widget-default-exchange-select\").val();\r\n CalcWidgetConfig.IsShowBuyCryptoButton = $(\"#show-buy-crypto-button\").prop(\"checked\");\r\n }\r\n\r\n return CalcWidgetConfig;\r\n}\r\nfunction GenerateCalculatorWidgetRemoteScript() {\r\n\r\n var CalcWidgetConfig = GenerateCalculatorWidgetModel();\r\n document.getElementById('embed-script-preview-output').value = GenerateCalcWidgetScript(CalcWidgetConfig);\r\n}\r\n\r\nfunction GetCurrencyPairForUrl(cpair) {\r\n var lastCurrency = window.CalculatorHelper.GetQuoteCurrency(cpair);\r\n if (lastCurrency && lastCurrency !== '') {\r\n var index = cpair.indexOf(lastCurrency);\r\n if (index === -1) {\r\n return cpair\r\n }\r\n return cpair.substring(0, index) + '-' + lastCurrency;\r\n } else {\r\n return cpair;\r\n }\r\n\r\n}\r\n\r\nfunction OnChangeCalcDisplayTitle(e) {\r\n ChangeBodyContent();\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\nfunction OnChangeCalcShowChartLinks(e) {\r\n ChangeBodyContent();\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\nfunction OnChangeShowEmbedButton(e) {\r\n ChangeBodyContent();\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\nfunction OnChangeShowBuyCryptoButton(e) {\r\n ChangeBodyContent();\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\nfunction OnChangePointAffiliateLinksButton(e) {\r\n\r\n var clientId = $(\"#client-profile-id\").val();\r\n\r\n if (!clientId || clientId == \"0\") {\r\n e.checked = false;\r\n window.Access.LoginWithPurpose('OnChangePointAffiliateLinksButton', '', 'signup', '', '');\r\n } else {\r\n GenerateCalculatorWidgetRemoteScript();\r\n }\r\n}\r\n\r\nfunction OnCopyCalcEmbedScript() {\r\n var previewOutput = document.getElementById('embed-script-preview-output');\r\n if (previewOutput) {\r\n var scriptVal = previewOutput.value;\r\n var dummy = document.createElement(\"textarea\");\r\n document.body.appendChild(dummy);\r\n dummy.value = scriptVal;\r\n dummy.select();\r\n document.execCommand(\"copy\");\r\n document.body.removeChild(dummy);\r\n\r\n document.execCommand(\"copy\");\r\n var notificationEl = document.getElementById('embed-copy-notification-panel');\r\n if (notificationEl) {\r\n notificationEl.style.display = 'block';\r\n setTimeout(function () {\r\n notificationEl.style.display = 'none';\r\n }, 3000);\r\n }\r\n }\r\n\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\n\r\nfunction OnCalcStyleUpdated(e, styleType) {\r\n var resetLink = document.getElementById('widget-default-style-reset');\r\n if (currentStyleTheme !== 'custom') {\r\n SetStyleThemeSelectValue('custom', false);\r\n if (window.CalcSlug === currency_converter_slug) {\r\n window.CalcWidgetStyle.SetCCWidgetStyleTheme('custom');\r\n } else {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('WidgetTheme', 'custom');\r\n }\r\n \r\n if (resetLink) {\r\n resetLink.style.setProperty('display', 'flex', 'important');\r\n }\r\n }\r\n SaveAllStylesToCookie();\r\n\r\n GenerateCalculatorWidgetRemoteScript();\r\n ChangeBodyContent();\r\n\r\n}\r\n\r\nfunction SaveAllStylesToCookie() {\r\n var topPaneStyle = $('[cbf-widget-style-input-id=\"top-pane-style-input\"]').val();\r\n if (window.CalcSlug === currency_converter_slug) {\r\n window.CalcWidgetStyle.SetCCTopPaneStyle(topPaneStyle);\r\n } else {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('TopPaneStyle', topPaneStyle);\r\n }\r\n var bottomPaneStyle = $('[cbf-widget-style-input-id=\"bottom-pane-style-input\"]').val();\r\n if (window.CalcSlug === currency_converter_slug) {\r\n window.CalcWidgetStyle.SetCCBottomPaneStyle(bottomPaneStyle);\r\n } else {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('BottomPaneStyle', bottomPaneStyle);\r\n } \r\n var buttonStyle = $('[cbf-widget-style-input-id=\"button-style-input\"]').val();\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('ButtonStyle', buttonStyle);\r\n var titleStyle = $('[cbf-widget-style-input-id=\"title-style-input\"]').val();\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('TitleStyle', titleStyle);\r\n var textboxStyle = $('[cbf-widget-style-input-id=\"textbox-style-input\"]').val();\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('TextboxStyle', textboxStyle);\r\n var containerWidth = $('[cbf-widget-style-input-id=\"container-width-input\"]').val();\r\n\r\n var compactSelect = document.querySelector('#widget-compact-type-select');\r\n if (compactSelect) {\r\n var cmpValue = compactSelect.options[compactSelect.selectedIndex].value;\r\n if (cmpValue === 'small') {\r\n if (window.CalcSlug === currency_converter_slug) {\r\n window.CalcWidgetStyle.SetCCSmallContainerWidth(containerWidth);\r\n } else {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('SmallContainerWidth', containerWidth);\r\n } \r\n } else {\r\n if (window.CalcSlug === currency_converter_slug) {\r\n window.CalcWidgetStyle.SetCCContainerWidth(containerWidth);\r\n } else {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('ContainerWidth', containerWidth);\r\n } \r\n }\r\n }\r\n \r\n var highlightColor = $('[cbf-widget-style-input-id=\"highlight-color-input\"]').val();\r\n if (highlightColor !== undefined) {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('HighlightColor', highlightColor);\r\n }\r\n}\r\n\r\nfunction GetAllStylesFromCookie() {\r\n var topPaneStyle = window.CalcWidgetStyle.GetTopPaneStyle();\r\n if (window.CalcSlug === currency_converter_slug) {\r\n topPaneStyle = window.CalcWidgetStyle.GetCCTopPaneStyle();\r\n }\r\n if (!!topPaneStyle) { \r\n $('[cbf-widget-style-input-id=\"top-pane-style-input\"]').val(atob(topPaneStyle));\r\n }\r\n var bottomPaneStyle = window.CalcWidgetStyle.GetBottomPaneStyle();\r\n if (window.CalcSlug === currency_converter_slug) {\r\n bottomPaneStyle = window.CalcWidgetStyle.GetCCBottomPaneStyle(); \r\n }\r\n\r\n if (!!bottomPaneStyle) {\r\n $('[cbf-widget-style-input-id=\"bottom-pane-style-input\"]').val(atob(bottomPaneStyle));\r\n }\r\n var buttonPaneStyle = window.CalcWidgetStyle.GetButtonStyle();\r\n if (!!buttonPaneStyle) {\r\n $('[cbf-widget-style-input-id=\"button-style-input\"]').val(atob(buttonPaneStyle));\r\n }\r\n var titlePaneStyle = window.CalcWidgetStyle.GetTitleStyle();\r\n if (!!titlePaneStyle) {\r\n $('[cbf-widget-style-input-id=\"title-style-input\"]').val(atob(titlePaneStyle));\r\n }\r\n\r\n var textboxStyle = window.CalcWidgetStyle.GetTextboxStyle();\r\n if (!!textboxStyle) {\r\n $('[cbf-widget-style-input-id=\"textbox-style-input\"]').val(atob(textboxStyle));\r\n }\r\n\r\n var containerWidth = containerMinMaxWidth;\r\n var compactSelect = document.querySelector('#widget-compact-type-select');\r\n if (compactSelect) {\r\n var cmpValue = compactSelect.options[compactSelect.selectedIndex].value;\r\n if (cmpValue === 'small') {\r\n if (window.CalcSlug === currency_converter_slug) {\r\n containerWidth = window.CalcWidgetStyle.GetCCSmallContainerWidth();\r\n } else {\r\n containerWidth = window.CalcWidgetStyle.GetSmallContainerWidth();\r\n } \r\n } else {\r\n if (window.CalcSlug === currency_converter_slug) {\r\n containerWidth = window.CalcWidgetStyle.GetCCContainerWidth();\r\n } else {\r\n containerWidth = window.CalcWidgetStyle.GetContainerWidth();\r\n }\r\n \r\n }\r\n }\r\n\r\n if (!!containerWidth) {\r\n $('[cbf-widget-style-input-id=\"container-width-input\"]').val(atob(containerWidth));\r\n }\r\n var highlightColor = window.CalcWidgetStyle.GetHighlightColor();\r\n var decodedHighlightColor = atob(highlightColor);\r\n\r\n if (!!highlightColor && decodedHighlightColor !== undefined) {\r\n $('[cbf-widget-style-input-id=\"highlight-color-input\"]').val(decodedHighlightColor);\r\n }\r\n}\r\nfunction AddRemoveFormgroupWidthStyle(width) {\r\n if (width <= 500) {\r\n $('.form-group').addClass('form-group-less-500');\r\n } else {\r\n $('.form-group').removeClass('form-group-less-500');\r\n }\r\n}\r\nfunction OnCalcChangedDefaultStyles(e) {\r\n currentStyleTheme = e.value;\r\n var resetLink = document.getElementById('widget-default-style-reset');\r\n if (resetLink) {\r\n if (currentStyleTheme === 'custom') {\r\n resetLink.style.setProperty('display', 'flex', 'important');\r\n } else {\r\n resetLink.style.setProperty('display', 'none', 'important');\r\n }\r\n }\r\n\r\n OnChangedCalcDefaultStyles();\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\nfunction OnChangeCalcCompactType(e) {\r\n ChangeCompactType(e.value);\r\n OnChangedCalcDefaultStyles();\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\n\r\nfunction OnChangedFromCurrency() {\r\n var val = $('#maker-currency-converter-from-select').val();\r\n $('#currency-converter-from-select').infiniteselect('val', val);\r\n document.getElementById('currency-converter-from-select').dispatchEvent(new CustomEvent('change'));\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\nfunction OnChangedToCurrency() {\r\n var val = $('#maker-currency-converter-to-select').val();\r\n $('#currency-converter-to-select').infiniteselect('val', val);\r\n document.getElementById('currency-converter-to-select').dispatchEvent(new CustomEvent('change'));\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\nfunction GenerateContentCalcModel() {\r\n\r\n}\r\nfunction setInnerHTML(elm, html) {\r\n elm.innerHTML = html;\r\n\r\n Array.from(elm.querySelectorAll(\"script\"))\r\n .forEach(function (oldScriptEl) {\r\n const newScriptEl = document.createElement(\"script\");\r\n\r\n Array.from(oldScriptEl.attributes).forEach(function (attr) {\r\n newScriptEl.setAttribute(attr.name, attr.value)\r\n });\r\n\r\n const scriptText = document.createTextNode(oldScriptEl.innerHTML);\r\n newScriptEl.appendChild(scriptText);\r\n\r\n oldScriptEl.parentNode.replaceChild(newScriptEl, oldScriptEl);\r\n });\r\n}\r\nfunction FetchLocalizedContent(lang) {\r\n var url = '/widgets/' + window.CalcSlug + '-content';\r\n if (lang !== '') {\r\n url = '/' + lang + url;\r\n }\r\n var CalcWidgetConfig = GenerateCalculatorWidgetModel();\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n url: url,\r\n data: {\r\n bodyFileName: window.CalcWidgetPartialFileName,\r\n lang: lang,\r\n model: JSON.stringify(CalcWidgetConfig)\r\n },\r\n success: function (data) {\r\n var widgetContainers = document.getElementsByClassName('widget-content-container');\r\n if (widgetContainers.length > 0) {\r\n var widgetContainer = widgetContainers[0];\r\n setInnerHTML(widgetContainer, data.content);\r\n // widgetContainer.innerHTML = data.content;\r\n window.InitializeCalcWidget();\r\n InitializeGlobalCalcContent();\r\n ChangeBodyContent();\r\n }\r\n },\r\n error: function () {\r\n\r\n }\r\n })\r\n}\r\n\r\nfunction OnChangedWidgetLanguage(e) {\r\n GenerateCalculatorWidgetRemoteScript();\r\n var value = e.value;\r\n if (value === \"browser\") {\r\n value = '';\r\n } else if (value === \"page\") {\r\n value = window.CurrentLang;\r\n }\r\n var compactType = 'large';\r\n var compactTypeSelect = document.getElementById('widget-compact-type-select');\r\n if (compactTypeSelect) {\r\n compactType = compactTypeSelect.options[compactTypeSelect.selectedIndex].value;\r\n }\r\n\r\n FetchLocalizedContent(value, compactType);\r\n}\r\n\r\nfunction ResetDefaultStyles() {\r\n SetStyleThemeSelectValue(defaultStyleValue, true);\r\n ResetCustomStyles();\r\n var resetLink = document.getElementById('widget-default-style-reset');\r\n if (resetLink) {\r\n resetLink.style.setProperty('display', 'none', 'important');\r\n }\r\n\r\n\r\n}\r\n\r\nfunction ResetCustomStyles() {\r\n var defaultCustomTheme = 'plain';\r\n var defaultStyleObj;\r\n for (var i = 0; i < CalcDefaultStyles.length; i++) {\r\n if (CalcDefaultStyles[i].value === defaultCustomTheme) {\r\n defaultStyleObj = CalcDefaultStyles[i];\r\n }\r\n }\r\n if (defaultStyleObj) {\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('TopPaneStyle', defaultStyleObj.styles['large']['topPane']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('BottomPaneStyle', defaultStyleObj.styles['large']['bottomPane']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('ButtonStyle', defaultStyleObj.styles['large']['buttonStyle']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('TitleStyle', defaultStyleObj.styles['large']['titleStyle']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('TextboxStyle', defaultStyleObj.styles['large']['textboxStyle']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('HighlightColor', defaultStyleObj.styles['large']['highlightColor']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('SmallContainerWidth', defaultStyleObj.styles['small']['containerWidth']);\r\n window.CalcWidgetStyle.SetWidgetStyleCookie('ContainerWidth', defaultStyleObj.styles['large']['containerWidth']);\r\n }\r\n}\r\nfunction OnChangeDefaultExchange(e) {\r\n\r\n var defaultExchangeVal = $('#widget-default-exchange-select').selectpicker('val');\r\n $('#exfee-exchange-select').selectpicker('val', defaultExchangeVal);\r\n\r\n $('span.result-span').html('--');\r\n UpdateExchangeInfo();\r\n\r\n GenerateCalculatorWidgetRemoteScript();\r\n}\r\n\r\n\r\nfunction OnChangeDefaultStatingBalance(e) {\r\n GenerateCalculatorWidgetRemoteScript();\r\n ChangeBodyContent();\r\n}\r\n\r\n\r\nfunction OnChangeDefaultNumber(e) {\r\n GenerateCalculatorWidgetRemoteScript();\r\n ChangeBodyContent();\r\n}\r\n\r\n\r\nfunction OnChangeDefaultPercent(e) {\r\n GenerateCalculatorWidgetRemoteScript();\r\n ChangeBodyContent();\r\n}\r\n\r\n\nfunction InitializeCompoundingCalcParamsFromCookie() {\r\n if (window.DefaultBalance !== '-1' && window.DefaultBalance !== '' && window.DefaultBalance !== undefined) {\r\n $(\"#cc-starting-balance\").val(parseInt(window.DefaultBalance));\r\n } else {\r\n var cookieStartBalance = window.CalcWidgetStyle.GetCalcCookieValue('comc-balance');\r\n if (cookieStartBalance != \"\") {\r\n $(\"#cc-starting-balance\").val(parseInt(cookieStartBalance));\r\n }\r\n }\r\n\r\n if (window.DefaultPeriod !== '-1' && window.DefaultPeriod !== '' && window.DefaultPeriod !== undefined) {\r\n $(\"#cc-periods\").val(parseInt(window.DefaultPeriod));\r\n } else {\r\n var cookiePeriods = window.CalcWidgetStyle.GetCalcCookieValue('comc-periods');\r\n if (cookiePeriods != \"\") {\r\n $(\"#cc-periods\").val(parseInt(cookiePeriods));\r\n }\r\n }\r\n\r\n if (window.DefaultGain !== '-1' && window.DefaultGain !== '' && window.DefaultGain !== undefined) {\r\n $(\"#cc-gain-percent\").val(parseInt(window.DefaultGain));\r\n } else {\r\n var cookieGain = window.CalcWidgetStyle.GetCalcCookieValue('comc-gain');\r\n if (cookieGain != \"\") {\r\n $(\"#cc-gain-percent\").val(parseInt(cookieGain));\r\n }\r\n }\r\n \r\n}\r\n\r\nfunction InitCompoundingCalcWidget() {\r\n\r\n if ($(\"#cc-starting-balance\").length <= 0)\r\n return;\r\n InitializeCompoundingCalcParamsFromCookie();\r\n\r\n CalculateCompounding();\r\n\r\n document.getElementById('cc-starting-balance').addEventListener('change', OnCCChangeInput);\r\n document.getElementById('cc-periods').addEventListener('change', OnCCChangeInput);\r\n document.getElementById('cc-gain-percent').addEventListener('change', OnCCChangeInput);\r\n}\r\n\r\nfunction OnCCStyleUpdated(e, styleType) {\r\n\r\n window.CalcWidgetStyle.SetWidgetStyleCookie(styleType, e.value);\r\n\r\n GenerateCompoundingCalculatorRemoteScript();\r\n}\r\n\r\nfunction OpenCCEmbedOverlay() {\r\n var prefix = 'compounding-calculator';\r\n var currentLocation = window.location.pathname;\r\n if (currentLocation.includes('/widgets/' + prefix + '-widget')) {\r\n var url = '/widgets/' + prefix + '-widget-maker';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n var width = 398;\r\n window.open(url, \"\", \"width=\" + width);\r\n }\r\n } else if (currentLocation.includes('/widgets/' + prefix)) {\r\n var url = '/widgets/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.open(url, '_blank').focus();\r\n } else if (currentLocation.includes('/tools/' + prefix)) {\r\n var url = '/tools/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.location.href = url;\r\n }\r\n}\r\n\r\n\r\nfunction ClearCompoundingCalcWdigetStyles() {\r\n\r\n window.CalcWidgetStyle.ResetCalcWidgetsStyles();\r\n\r\n GenerateCompoundingCalculatorRemoteScript();\r\n}\r\n\r\nfunction OnCopyCCEmbedScript() {\r\n document.getElementById('cc-embed-script-preview-output').select();\r\n document.execCommand(\"copy\");\r\n\r\n GenerateCompoundingCalculatorRemoteScript();\r\n}\r\n\r\nfunction GenerateCompoundingCalculatorRemoteScript() {\r\n\r\n CompoundingWidgetConfig = new Object();\r\n\r\n CompoundingWidgetConfig.TopPaneStyle = window.CalcWidgetStyle.GetTopPaneStyle();\r\n CompoundingWidgetConfig.BottomPaneStyle = window.CalcWidgetStyle.GetBottomPaneStyle();\r\n CompoundingWidgetConfig.ButtonStyle = window.CalcWidgetStyle.GetButtonStyle();\r\n\r\n CompoundingWidgetConfig.IsDisplayTitle = document.getElementById('cc-display-tool-title-input').checked;\r\n\r\n var language = document.getElementById('cc-widget-language-select').value;\r\n if (language != \"browser\") {\r\n CompoundingWidgetConfig.Lang = language;\r\n }\r\n\r\n var hostUrl = window.location.protocol + \"//\" + window.location.hostname;\r\n if (window.location.port !== \"\")\r\n hostUrl += \":\" + window.location.port;\r\n\r\n CompoundingWidgetConfig.Url = hostUrl;\r\n CompoundingWidgetConfig.Calculator = \"compounding-calculator\";\r\n\r\n document.getElementById('cc-embed-script-preview-output').value = GenerateCalcWidgetScript(CompoundingWidgetConfig);\r\n\r\n document.getElementById('compounding-preview-link').href = window.CalculatorHelper.GenerateCalcPreviewLink(CompoundingWidgetConfig, \"compounding-calculator\");\r\n}\r\n\r\nfunction OnCCChangeInput() {\r\n document.getElementById('compounding-ending-balance-result').innerHTML = \"--\";\r\n document.getElementById('compounding-total-gain-result').innerHTML = \"--\";\r\n var tableResultHtml = '
| ' + window.StartingBalanceLabel + ' | ' + '' + window.TotalGainLabel + ' | ' + '' + window.EndingBalanceLabel + ' |
';\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n\r\n tableResultHtml += '
';\r\n\r\n document.getElementById('compounding-table-result').innerHTML = tableResultHtml;\r\n}\r\n\r\nfunction CCResultLoading() {\r\n\r\n $(\"#compounding-calc-form span.result-span\").html('
');\r\n\r\n var tableResultHtml = ' | ' + window.StartingBalanceLabel + ' | ' + '' + window.TotalGainLabel + ' | ' + '' + window.EndingBalanceLabel + ' |
';\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n\r\n tableResultHtml += '
';\r\n\r\n document.getElementById('compounding-table-result').innerHTML = tableResultHtml;\r\n}\r\n\r\nfunction CalculateCompounding() {\r\n\r\n var form = document.getElementById('compounding-calc-form');\r\n if (form.checkValidity() == false) {\r\n form.reportValidity();\r\n //form.classList.add('was-validated');\r\n return;\r\n }\r\n \r\n var startingBalance = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('cc-starting-balance').value);\r\n var numberOfPeriods = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('cc-periods').value);\r\n var gainPerPeriod = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('cc-gain-percent').value);\r\n\r\n window.CalcWidgetStyle.SetCalcCookieValue('comc-balance', startingBalance);\r\n window.CalcWidgetStyle.SetCalcCookieValue('comc-periods', numberOfPeriods);\r\n window.CalcWidgetStyle.SetCalcCookieValue('comc-gain', gainPerPeriod);\r\n \r\n CCResultLoading();\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n cache: false,\r\n dataType: \"json\",\r\n url: \"/widgets/calculation/compounding\",\r\n data: { startingBalance: startingBalance, numberOfPeriods: numberOfPeriods, gainPerPeriod: gainPerPeriod },\r\n success: function (data) {\r\n if (data.success === true) {\r\n document.getElementById('compounding-ending-balance-result').innerHTML = window.CalculatorHelper.ToLocaleNumberForResult(data.endingBalance, \"\", 2, \"\");\r\n document.getElementById('compounding-total-gain-result').innerHTML = window.CalculatorHelper.ToLocaleNumberForResult(data.totalGain, 'percent', 1, \"\");\r\n\r\n var tableResultHtml = ' | ' + window.StartingBalanceLabel + ' | ' + '' + window.TotalGainLabel + ' | ' + '' + window.EndingBalanceLabel + ' |
';\r\n for (var i = 0; i < numberOfPeriods; i++) {\r\n if (data.tableResult[i] != undefined) {\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult((i + 1), \"\", 0, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].startingBalance, \"\", 2, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].totalGain, \"percent\", 2, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].endingBalance, \"\", 2, \"\") + \" | \";\r\n\r\n tableResultHtml += '
';\r\n }\r\n }\r\n\r\n document.getElementById('compounding-table-result').innerHTML = tableResultHtml;\r\n \r\n } else {\r\n document.getElementById('compounding-ending-balance-result').innerHTML = \"NaN\";\r\n document.getElementById('compounding-total-gain-result').innerHTML = \"NaN\";\r\n }\r\n },\r\n error: function () {\r\n document.getElementById('compounding-ending-balance-result').innerHTML = \"NaN\";\r\n document.getElementById('compounding-total-gain-result').innerHTML = \"NaN\";\r\n }\r\n });\r\n}\r\n\n\r\nfunction InitializeCurrencyConverterParams() {\r\n\r\n var pathName = window.location.pathname;\r\n if (pathName.endsWith(\"/\")) pathName = pathName.substring(0, pathName.length - 1);\r\n\r\n var defaultFrom = 'EUR';\r\n var defaultTo = 'USD';\r\n\r\n\r\n if (pathName.endsWith(\"currency-converter\")) {\r\n var queryParams = new URLSearchParams(window.location.search);\r\n if (queryParams.get('s')) {\r\n var sParam = queryParams.get('s');\r\n if (sParam.length >= 6 && sParam.includes('-')) {\r\n defaultFrom = sParam.split('-')[0];\r\n defaultTo = sParam.split('-')[1];\r\n }\r\n\r\n var amount = 1;\r\n if (queryParams.get('v')) {\r\n\r\n amount = parseFloat(queryParams.get('v'));\r\n\r\n if (amount === NaN) {\r\n amount = 1;\r\n }\r\n\r\n document.getElementById(\"currency-converter-from-amount\").value = window.CalculatorHelper.ToLongDecimalNumberForInput(amount);\r\n }\r\n\r\n var e = document.querySelector(\"link[rel='canonical']\");\r\n if (!!e) {\r\n e.href = e.href.split(\"?\")[0] + window.location.search;\r\n }\r\n }\r\n else if (window.DefaultCurrencyFrom && window.DefaultCurrencyFrom !== '' && window.DefaultCurrencyTo && window.DefaultCurrencyTo !== '') {\r\n defaultFrom = window.DefaultCurrencyFrom;\r\n defaultTo = window.DefaultCurrencyTo;\r\n } else {\r\n var cookieFrom = window.CalcWidgetStyle.GetCalcCookieValue('cc-from');\r\n var cookieTo = window.CalcWidgetStyle.GetCalcCookieValue('cc-to');\r\n if (cookieFrom != \"\" && cookieTo != \"\") {\r\n defaultFrom = cookieFrom;\r\n defaultTo = cookieTo;\r\n }\r\n var cookieAmount = window.CalcWidgetStyle.GetCalcCookieValue('cc-amount');\r\n if (cookieAmount != '') {\r\n $(\"#currency-converter-from-amount\").val(window.CalculatorHelper.ToLongDecimalNumberForInput(cookieAmount));\r\n }\r\n }\r\n } else if (pathName.includes(\"tools/currency-converter/\")) {\r\n var urlParams = window.location.pathname.split(\"/tools/currency-converter/\")[1].split(\"/\");\r\n if (urlParams[0].length >= 6 && urlParams[0].includes('-')) {\r\n defaultFrom = urlParams[0].split('-')[0];\r\n defaultTo = urlParams[0].split('-')[1];\r\n\r\n var e = document.querySelector(\"link[rel='canonical']\");\r\n if (!!e) {\r\n e.href += \"?s=\" + urlParams[0];\r\n }\r\n }\r\n\r\n var amount = 1;\r\n if (urlParams.length == 2) {\r\n amount = parseFloat(urlParams[1]);\r\n\r\n if (amount === NaN) {\r\n amount = 1;\r\n }\r\n\r\n document.getElementById(\"currency-converter-from-amount\").value = window.CalculatorHelper.ToLongDecimalNumberForInput(amount);\r\n\r\n if (amount != 1) {\r\n var e = document.querySelector(\"link[rel='canonical']\");\r\n if (!!e) {\r\n e.href += \"&v=\" + amount;\r\n }\r\n }\r\n }\r\n }\r\n\r\n $(\"#currency-converter-from-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: defaultFrom,\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n $(\"#currency-converter-to-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: defaultTo,\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n}\r\n\r\nfunction InitCurrencyConverterWidget() {\r\n\r\n if ($(\"#currency-converter-form\").length <= 0)\r\n return;\r\n\r\n InitializeCurrencyConverterParams();\r\n\r\n \r\n PrepareCurrencyConverterCalculation(ConvertCurrency);\r\n \r\n\r\n var from = $('#currency-converter-from-select').infiniteselect('val');\r\n var to = $('#currency-converter-to-select').infiniteselect('val');\r\n AdjustPageTitleAndUrl(from, to);\r\n\r\n \r\n document.getElementById('currency-converter-from-select').addEventListener('change', OnCurrencyChanged); \r\n document.getElementById('currency-converter-to-select').addEventListener('change', OnCurrencyChanged);\r\n\r\n var timerid;\r\n\r\n $(\"#currency-converter-from-amount\").on('input', function () {\r\n UpdateCurrencyConverterHrefAndTitle();\r\n ConvertCurrency();\r\n var value = $(this).val();\r\n if ($(this).data(\"lastval\") != value) {\r\n\r\n $(this).data(\"lastval\", value);\r\n clearTimeout(timerid);\r\n\r\n timerid = setTimeout(function () {\r\n //your change action goes here\r\n SaveConvertHistory();\r\n }, 3000);\r\n };\r\n });\r\n $(\"#currency-converter-to-amount\").on('input', function () {\r\n UpdateCurrencyConverterHrefAndTitle();\r\n ConvertCurrency(true);\r\n\r\n var value = $(this).val();\r\n if ($(this).data(\"lastval\") != value) {\r\n\r\n $(this).data(\"lastval\", value);\r\n clearTimeout(timerid);\r\n\r\n timerid = setTimeout(function () {\r\n //your change action goes here\r\n SaveConvertHistory();\r\n }, 3000);\r\n };\r\n });\r\n \r\n $(\"#currency-converter-from-amount\").on('click', function () {\r\n $(this).select();\r\n });\r\n $(\"#currency-converter-to-amount\").on('click', function () {\r\n $(this).select();\r\n });\r\n /* \r\n UpdateCurrenyConverterPageTitle(from, to, from, to);\r\n */\r\n \r\n}\r\n\r\nfunction AdjustPageTitleAndUrl(from, to) {\r\n\r\n $.ajax({\r\n type: 'GET',\r\n cache: 'true',\r\n dataType: 'json',\r\n url: \"/\" + window.CURRENT_LANG + \"/api/widgets/converter-currencies-adjust\",\r\n data: { from: from, to: to },\r\n success: function (res) {\r\n\r\n $('#currency-converter-from-select').infiniteselect('val', res.from.Code, res.from.Name);\r\n $('#currency-converter-to-select').infiniteselect('val', res.to.Code, res.to.Name);\r\n\r\n if (res.backToDefault) {\r\n\r\n PrepareCurrencyConverterCalculation(ConvertCurrency);\r\n }\r\n \r\n UpdateCurrenyConverterPageTitle(res.from.Code, res.to.Code, res.from.Name, res.to.Name);\r\n ConvertCurrency();\r\n UpdateRecentSymbols();\r\n }\r\n });\r\n \r\n\r\n}\r\n\r\nfunction UpdateRecentSymbols() {\r\n if ($(\"#cc-recent-symbols\").length == 0 || !window.location.pathname.includes(\"tools/currency-converter\"))\r\n return;\r\n var symbol = '';\r\n var queryParms = new URLSearchParams(window.location.search);\r\n if (queryParms.get('s'))\r\n symbol = $('#currency-converter-from-select').val() + '-' + $('#currency-converter-to-select').val();\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n cache: false,\r\n dataType: \"json\",\r\n url: \"/api/widgets/recent-convert-symbols\",\r\n data: { symbol: symbol },\r\n success: function (res) {\r\n\r\n if (res.length > 0) {\r\n var html = '';\r\n if (!symbol) {\r\n if (!window.RecentConversionsLabel) window.RecentConversionsLabel = \"Recent Conversions\";\r\n html += '' + window.RecentConversionsLabel + '';\r\n } else {\r\n \r\n var fromCurrencyName = $(\"#currency-converter-from-select\").infiniteselect('description');\r\n var toCurrencyName = $(\"#currency-converter-to-select\").infiniteselect('description');\r\n\r\n if (!window.RecentSymbolConversionsLabel) window.RecentSymbolConversionsLabel = \"Recent {0} to {1} Conversions\"; \r\n var title = window.RecentSymbolConversionsLabel.replaceAll(\"{0}\", fromCurrencyName).replaceAll(\"{1}\", toCurrencyName);\r\n html += '' + title + '';\r\n }\r\n \r\n html += '\";\r\n $(\"#cc-recent-symbols\").html(html);\r\n } else {\r\n $(\"#cc-recent-symbols\").html(\"\");\r\n }\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction OnCurrencyConverterStyleUpdated(e, styleType) {\r\n\r\n window.CalcWidgetStyle.SetWidgetStyleCookie(styleType, e.value);\r\n\r\n GenerateCurrencyConverterulatorRemoteScript();\r\n}\r\n\r\nfunction OpenCurrencyConverterEmbedOverlay() {\r\n var prefix = 'currency-converter';\r\n var currentLocation = window.location.pathname;\r\n if (currentLocation.includes('/widgets/' + prefix + '-widget')) {\r\n var url = '/widgets/' + prefix + '-widget-maker';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n var width = 398;\r\n window.open(url, \"\", \"width=\" + width);\r\n }\r\n } else if (currentLocation.includes('/widgets/' + prefix)) {\r\n var url = '/widgets/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.open(url, '_blank').focus();\r\n } else if (currentLocation.includes('/tools/' + prefix)) {\r\n var url = '/tools/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.location.href = url;\r\n }\r\n}\r\n\r\nfunction CloseCurrencyConverterEmbedOverlay() {\r\n $(\"#currency-converter-embed-script-overlay\").css(\"display\", \"none\");\r\n}\r\n\r\nfunction ClearCurrencyConverterWdigetStyles() {\r\n\r\n window.CalcWidgetStyle.ResetCalcWidgetsStyles();\r\n\r\n GenerateCurrencyConverterulatorRemoteScript();\r\n}\r\n\r\nfunction OnCopyCurrencyConverterEmbedScript() {\r\n document.getElementById('currency-converter-embed-script-preview-output').select();\r\n document.execCommand(\"copy\");\r\n\r\n GenerateCurrencyConverterulatorRemoteScript();\r\n}\r\n\r\nfunction GenerateCurrencyConverterulatorRemoteScript() {\r\n\r\n CurrencyConverterWidgetConfig = new Object();\r\n\r\n CurrencyConverterWidgetConfig.TopPaneStyle = window.CalcWidgetStyle.GetTopPaneStyle();\r\n CurrencyConverterWidgetConfig.BottomPaneStyle = window.CalcWidgetStyle.GetBottomPaneStyle();\r\n CurrencyConverterWidgetConfig.ButtonStyle = window.CalcWidgetStyle.GetButtonStyle();\r\n\r\n CurrencyConverterWidgetConfig.IsDisplayTitle = document.getElementById('currency-converter-display-tool-title-input').checked;\r\n\r\n var language = document.getElementById('currency-converter-widget-language-select').value;\r\n if (language != \"browser\") {\r\n CurrencyConverterWidgetConfig.Lang = language;\r\n }\r\n\r\n var hostUrl = window.location.protocol + \"//\" + window.location.hostname;\r\n if (window.location.port !== \"\")\r\n hostUrl += \":\" + window.location.port;\r\n\r\n CurrencyConverterWidgetConfig.Url = hostUrl;\r\n\r\n CurrencyConverterWidgetConfig.Calculator = \"currency-converter\";\r\n\r\n document.getElementById('currency-converter-embed-script-preview-output').value = GenerateCalcWidgetScript(CurrencyConverterWidgetConfig);\r\n\r\n document.getElementById('currency-converter-preview-link').href = window.CalculatorHelper.GenerateCalcPreviewLink(CurrencyConverterWidgetConfig, \"currency-converter\");\r\n}\r\n\r\nfunction UpdateLiveChart() {\r\n\r\n if ($(\"#cc-tv-chart-pane\").length == 0 || !window.location.pathname.includes(\"tools/currency-converter\")) return;\r\n\r\n var fromCurrency = $(\"#currency-converter-from-select\").val();\r\n var toCurrency = $(\"#currency-converter-to-select\").val();\r\n\r\n var symbol = fromCurrency + toCurrency;\r\n\r\n var hideToolBar = false;\r\n if (screen.width <= 767) {\r\n hideToolBar = true;\r\n }\r\n var tvSymbol = window.CalculatorHelper.GetTVSymbol(symbol);\r\n if (tvSymbol === \"\") {\r\n $(\"#cc-tv-chart-pane\").hide();\r\n } else {\r\n $(\"#cc-tv-chart-pane\").show();\r\n\r\n \r\n var fromCurrencyName = $(\"#currency-converter-from-select\").infiniteselect('description');\r\n var toCurrencyName = $(\"#currency-converter-to-select\").infiniteselect('description');\r\n\r\n if (!fromCurrencyName) fromCurrencyName = fromCurrency;\r\n if (!toCurrencyName) toCurrencyName = toCurrency;\r\n\r\n if (!window.ExchangeRateHistoryLabel) window.ExchangeRateHistoryLabel = \"{0} to {1} Exchange Rate History\";\r\n var chartTitle = window.ExchangeRateHistoryLabel.replaceAll(\"{0}\", fromCurrencyName).replaceAll(\"{1}\", toCurrencyName);\r\n\r\n $(\"#cc-tv-chart-title\").html(chartTitle);\r\n\r\n if (!window.TradingViewChart) {\r\n window.TradingViewChart = new TradingView.widget(\r\n {\r\n \"autosize\": true,\r\n \"symbol\": tvSymbol,\r\n \"interval\": \"60\",\r\n \"timezone\": \"Atlantic/Reykjavik\",\r\n \"theme\": \"light\",\r\n \"style\": \"1\",\r\n \"locale\": window.tvLang[window.DEFAULT_LANG],\r\n \"toolbar_bg\": \"#f1f3f6\",\r\n \"enable_publishing\": false,\r\n \"hide_side_toolbar\": hideToolBar,\r\n \"container_id\": \"cc-tv-chart-container\"\r\n }\r\n );\r\n } else {\r\n\r\n window.TradingViewChart.options[\"symbol\"] = tvSymbol;\r\n window.TradingViewChart.reload();\r\n }\r\n }\r\n \r\n}\r\n\r\nfunction PrepareCurrencyConverterCalculation(callback) {\r\n\r\n var e = document.getElementById('currency-converter-from-select');\r\n var fromCurrency = e.value;\r\n \r\n var e = document.getElementById('currency-converter-to-select');\r\n var toCurrency = e.value;\r\n\r\n if (fromCurrency == toCurrency) {\r\n if (!window.PrevCCFromCurrency || window.PrevCCFromCurrency == window.PrevCCToCurrency) {\r\n toCurrency = \"USD\";\r\n } else {\r\n toCurrency = window.PrevCCFromCurrency;\r\n }\r\n if (!window.PrevCCToCurrency || window.PrevCCFromCurrency == window.PrevCCToCurrency) {\r\n fromCurrency = \"EUR\";\r\n } else {\r\n fromCurrency = window.PrevCCToCurrency;\r\n }\r\n\r\n $(\"#currency-converter-from-select\").infiniteselect('val', fromCurrency);\r\n $(\"#currency-converter-to-select\").infiniteselect('val', toCurrency);\r\n \r\n e = document.getElementById('currency-converter-to-select')\r\n localizedToCurrency = e.value;\r\n\r\n e = document.getElementById('currency-converter-from-select');\r\n localizedFromCurrency = e.value;\r\n }\r\n\r\n window.PrevCCFromCurrency = fromCurrency;\r\n window.PrevCCToCurrency = toCurrency;\r\n \r\n /*\r\n $(\"#currency-converter-to-select option\").removeAttr('disabled');\r\n $(\"#currency-converter-to-select option[value='\" + fromCurrency + \"']\").attr('disabled', true);\r\n\r\n $(\"#currency-converter-from-select option\").removeAttr('disabled');\r\n $(\"#currency-converter-from-select option[value='\" + toCurrency + \"']\").attr('disabled', true);\r\n \r\n\r\n $(\"#currency-converter-to-select\").selectpicker('refresh');\r\n $(\"#currency-converter-from-select\").selectpicker('refresh');\r\n */\r\n UpdateLiveChart();\r\n\r\n window.CalculatorHelper.GetExchangeRateAsync(fromCurrency, toCurrency)\r\n .then(function (res) {\r\n \r\n if (res.rate < 0)\r\n res.rate = \"NaN\";\r\n\r\n $(\"#cc-current-exchange-rate\").val(res.rate);\r\n if (res.mins == 0) {\r\n $(\"#converter-updated-desc\").html(window.RatesSecondsUpdatedLabel.replaceAll(\"{0}\", 1));\r\n } else {\r\n $(\"#converter-updated-desc\").html(window.RatesUpdatedLabel.replaceAll(\"{0}\", res.mins));\r\n }\r\n \r\n /*\r\n document.getElementById(\"currency-converter-CurrentPrice\").value = window.CalculatorHelper.ToLocaleNumberForInput(currentPrice, { minimumFractionDigits: 5 });\r\n if (!window.PriceLabel) window.PriceLabel = \"1 {0} to {1}\";\r\n document.getElementById(\"currency-converter-CurrentPriceLabel\").innerHTML = window.PriceLabel.replaceAll(\"{0}\", localizedFromCurrency).replaceAll(\"{1}\", localizedToCurrency);\r\n\r\n if (currentPrice == 1) {\r\n\r\n $(\"#currency-converter-current-price-form-group\").css(\"display\", \"none\");\r\n\r\n } else {\r\n\r\n $(\"#currency-converter-current-price-form-group\").css(\"display\", \"block\");\r\n }\r\n */\r\n if (!!callback && typeof callback === \"function\")\r\n callback();\r\n });\r\n}\r\nfunction OnCurrencyChanged() {\r\n\r\n //update title, page and all href\r\n UpdateCurrencyConverterHrefAndTitle();\r\n\r\n PrepareCurrencyConverterCalculation(ConvertCurrency);\r\n \r\n //update ParamLinks\r\n //UpdateCurrencyConvertParamLinks();\r\n UpdateRecentSymbols();\r\n\r\n TriggerGoogleAnalytics();\r\n}\r\n\r\nfunction CurrencyConverterCalculate() {\r\n\r\n var queryParams = new URLSearchParams(window.location.search);\r\n\r\n if (window.UpdateCurrenyConverterPageTitle != undefined && queryParams.get('s') != null) {\r\n\r\n var fromCurrency = document.getElementById('currency-converter-from-select').value;\r\n var amount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('currency-converter-from-amount').value);\r\n var toCurrency = document.getElementById('currency-converter-to-select').value;\r\n\r\n var newUrl = GenerateCurrencyConverterNewLink(window.location.href, fromCurrency + toCurrency, amount);\r\n if (newUrl != window.location.href) {\r\n window.history.replaceState({ path: newUrl }, '', newUrl);\r\n }\r\n UpdateCurrencyConverterHrefAndTitle();\r\n }\r\n\r\n ConvertCurrency();\r\n}\r\n\r\nfunction ConvertCurrency(isTo) {\r\n\r\n var form = document.getElementById('currency-converter-form');\r\n if (form.checkValidity() == false) {\r\n form.reportValidity();\r\n //form.classList.add('was-validated');\r\n return;\r\n }\r\n\r\n var fromCurrency = document.getElementById('currency-converter-from-select').value;\r\n var fromAmount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('currency-converter-from-amount').value);\r\n var toCurrency = document.getElementById('currency-converter-to-select').value;\r\n var toAmount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('currency-converter-to-amount').value);\r\n\r\n window.CalcWidgetStyle.SetCalcCookieValue('cc-from', fromCurrency);\r\n window.CalcWidgetStyle.SetCalcCookieValue('cc-amount', fromAmount);\r\n window.CalcWidgetStyle.SetCalcCookieValue('cc-to', toCurrency);\r\n \r\n //var rate = window.CalculatorHelper.GetCalculatedExchangeRate(fromCurrency, toCurrency);\r\n var rate = document.getElementById(\"cc-current-exchange-rate\").value;\r\n if (rate == \"NaN\") {\r\n return;\r\n }\r\n if (isTo) {\r\n fromAmount = toAmount / rate;\r\n $('#currency-converter-from-amount').val(window.CalculatorHelper.ToLongDecimalNumberForInput(fromAmount));\r\n } else {\r\n toAmount = fromAmount * rate;\r\n $('#currency-converter-to-amount').val(window.CalculatorHelper.ToLongDecimalNumberForInput(toAmount));\r\n }\r\n\r\n var fromCurrencyName = $(\"#currency-converter-from-select\").infiniteselect('description');\r\n var toCurrencyName = $(\"#currency-converter-to-select\").infiniteselect('description');\r\n $(\"#currency-converter-result\").html(window.CalculatorHelper.ToLongDecimalNumberForResult(fromAmount) + ' ' + fromCurrencyName + ' = ' + window.CalculatorHelper.ToLongDecimalNumberForResult(toAmount) + ' ' + toCurrencyName);\r\n if (fromAmount == 1) {\r\n $(\"#currency-converter-one-result\").html('1 ' + toCurrencyName + ' = ' + window.CalculatorHelper.ToLongDecimalNumberForResult(1 / rate) + ' ' + fromCurrencyName);\r\n } else {\r\n $(\"#currency-converter-one-result\").html('1 ' + fromCurrencyName + ' = ' + window.CalculatorHelper.ToLongDecimalNumberForResult(rate) + ' ' + toCurrencyName);\r\n }\r\n\r\n var queryParams = new URLSearchParams(window.location.search);\r\n if (queryParams.get('s') != null) {\r\n $(\"title\").html($(\"title\").html().replaceAll(\"{4}\", window.CalculatorHelper.ToLongDecimalNumberForInput(toAmount) + \" \" + toCurrency));\r\n $(\"title\").html($(\"title\").html().replaceAll(\"{5}\", window.CalculatorHelper.ToLongDecimalNumberForInput(toAmount)));\r\n }\r\n}\r\n\r\nfunction SaveConvertHistory() {\r\n\r\n var fromCurrency = document.getElementById('currency-converter-from-select').value;\r\n var fromAmount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('currency-converter-from-amount').value);\r\n var toCurrency = document.getElementById('currency-converter-to-select').value; \r\n\r\n $.ajax({\r\n type: \"POST\",\r\n cache: false,\r\n dataType: \"json\",\r\n url: \"/api/widgets/recent-convert-symbol\",\r\n data: { symbol: fromCurrency + '-' + toCurrency, amount: fromAmount },\r\n success: function (res) {\r\n\r\n }\r\n });\r\n}\r\n\r\nfunction UpdateCurrencyConverterSymbol(symbol) {\r\n\r\n if (symbol.length != 6)\r\n return;\r\n var from = symbol.substring(0, 3);\r\n var to = symbol.substring(3, 6);\r\n\r\n $(\"#currency-converter-from-select\").infiniteselect('val', from);\r\n $(\"#currency-converter-to-select\").infiniteselect('val', to);\r\n\r\n OnCurrencyChanged();\r\n\r\n}\r\n\r\nfunction GenerateCurrencyConverterNewLink(oldUrl, newSymbol, amount) {\r\n\r\n var urlPart = \"tools/currency-converter\";\r\n var baseUrl = oldUrl.substring(0, oldUrl.toLowerCase().indexOf(urlPart) + urlPart.length);\r\n var link = baseUrl + \"?s=\" + newSymbol;\r\n if (amount != undefined && amount != 1)\r\n link += \"&v=\" + window.CalculatorHelper.ToLongDecimalNumberForInput(amount);\r\n return link;\r\n}\r\n\r\nfunction UpdateCurrenyConverterPageTitle(defaultFrom, defaultTo, defaultFromName, defaultToName) {\r\n\r\n var queryParams = new URLSearchParams(window.location.search);\r\n if (queryParams.get('s') != null && window.location.hash != '#popout') {\r\n\r\n var amount = 1;\r\n if (queryParams.get('v')) {\r\n amount = parseFloat(queryParams.get('v'));\r\n }\r\n if (amount != 1) {\r\n title = window.CurrencyConverterPageTitle\r\n .replaceAll(\"{0}\", window.CalculatorHelper.ToLongDecimalNumberForResult(amount))\r\n .replaceAll(\"{1}\", defaultFrom)\r\n .replaceAll(\"{2}\", defaultTo)\r\n .replaceAll(\"{3}\", defaultFromName)\r\n .replaceAll(\"{4}\", defaultToName);\r\n } else {\r\n title = window.CurrencyConverterOnePageTitle\r\n .replaceAll(\"{0}\", defaultFrom)\r\n .replaceAll(\"{1}\", defaultTo)\r\n .replaceAll(\"{2}\", defaultFromName)\r\n .replaceAll(\"{3}\", defaultToName);\r\n }\r\n\r\n document.getElementsByTagName(\"title\")[0].innerHTML = title;\r\n\r\n var h1Title = window.CurrencyConverterH1Title\r\n .replaceAll(\"{0}\", window.CalculatorHelper.ToLongDecimalNumberForResult(amount))\r\n .replaceAll(\"{1}\", defaultFromName)\r\n .replaceAll(\"{2}\", defaultToName);\r\n\r\n document.querySelector(\"h1.article-title\").innerHTML = h1Title;\r\n }\r\n}\r\n\r\nfunction UpdateCurrencyConverterHrefAndTitle() {\r\n\r\n var urlPart = \"/tools/currency-converter\";\r\n\r\n if (!window.location.pathname.includes(urlPart) || window.location.hash == '#popout' || window.location.pathname.includes('-widget'))\r\n return;\r\n\r\n var symbol = $(\"#currency-converter-from-select\").val() + \"-\" + $(\"#currency-converter-to-select\").val();\r\n\r\n //var newH1Title = symbol + \" \" + window.originArticleH1Title;\r\n var newPageTitle = symbol + \" \" + window.originArticlePageTitle;\r\n var newSEODesc = symbol + \": \" + window.originArticleSEODescription;\r\n\r\n /*\r\n if (window.originArticleH1Title != \"\")\r\n $(\"h1.article-title\").html(newH1Title);\r\n */\r\n /*\r\n if (window.originArticlePageTitle != \"\")\r\n $(\"title\").html(newPageTitle);\r\n */\r\n if (window.originArticleSEODescription != \"\")\r\n $('meta[name=\"description\"]').attr(\"content\", newSEODesc);\r\n\r\n\r\n // update current page link\r\n var amount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('currency-converter-from-amount').value);\r\n\r\n var newUrl = GenerateCurrencyConverterNewLink(window.location.href, symbol, amount);\r\n \r\n window.history.replaceState({ path: newUrl }, '', newUrl);\r\n\r\n // update canonical links\r\n var baseCanonical = $(\"link[rel='canonical']\").attr('href');\r\n var canonical = GenerateCurrencyConverterNewLink(baseCanonical, symbol, amount);\r\n $(\"link[rel='canonical']\").attr('href', canonical);\r\n \r\n // update href links\r\n var hreflangs = $(\"link[hreflang]\");\r\n for (var i = 0; i < hreflangs.length; i++) {\r\n hreflangs[i].href = GenerateCurrencyConverterNewLink(hreflangs[i].href, symbol, amount);\r\n }\r\n\r\n //update language switch links\r\n var langSelectors = $(\"#lang-select li a\")\r\n for (var i = 0; i < langSelectors.length; i++) {\r\n\r\n var newLink = GenerateCurrencyConverterNewLink(langSelectors[i].href, symbol, amount);\r\n\r\n var langCode = $(\"#lang-select li a i\")[i].getAttribute(\"data-id\").split('-')[0];\r\n\r\n langSelectors[i].href = newLink;\r\n var langSlug = \"\";\r\n if (langCode != 'en') langSlug += \"/\" + langCode;\r\n\r\n if (amount != 1) {\r\n $(langSelectors[i]).attr(\"onclick\", \"return window.Language.Select('\" + langSlug + urlPart + \"?s=\" + symbol + \"&v=\" + window.CalculatorHelper.ToLongDecimalNumberForResult(amount, true) + \"','\" + langCode + \"')\");\r\n } else {\r\n $(langSelectors[i]).attr(\"onclick\", \"return window.Language.Select('\" + langSlug + urlPart + \"?s=\" + symbol + \"','\" + langCode + \"')\");\r\n }\r\n \r\n }\r\n\r\n if (window.UpdateCurrenyConverterPageTitle != undefined) {\r\n\r\n var fromCurrency = document.getElementById('currency-converter-from-select').value;\r\n var toCurrency = document.getElementById('currency-converter-to-select').value;\r\n\r\n var defaultFromName = $(\"#currency-converter-from-select\").infiniteselect('description');\r\n var defaultToName = $(\"#currency-converter-to-select\").infiniteselect('description');\r\n\r\n UpdateCurrenyConverterPageTitle(fromCurrency, toCurrency, defaultFromName, defaultToName); \r\n }\r\n}\r\n\r\nfunction UpdateCurrencyConvertParamLinks() {\r\n\r\n var urlPart = \"/tools/currency-converter\";\r\n\r\n if (!window.location.pathname.includes(urlPart) || window.location.hash == '#popout' || window.location.pathname.includes('-widget'))\r\n return;\r\n\r\n var fromSymbol = $(\"#currency-converter-from-select\").val();\r\n var toSymbol = $(\"#currency-converter-to-select\").val();\r\n\r\n if ($('#currency-converter-from-select-group .dropdown-menu a[role=\"option\"]').length == 0)\r\n $(\"#currency-converter-from-select\").selectpicker(\"refresh\");\r\n var fromSymbolLinks = $('#currency-converter-from-select-group .dropdown-menu a[role=\"option\"]');\r\n\r\n for (var i = 0; i < fromSymbolLinks.length; i++) {\r\n\r\n var curSymbol = document.getElementById(\"currency-converter-from-select\").options[i].getAttribute(\"value\");\r\n if (curSymbol != toSymbol) {\r\n fromSymbolLinks[i].href = GenerateCurrencyConverterNewLink(window.location.pathname, curSymbol + toSymbol);\r\n } else {\r\n fromSymbolLinks[i].href = '#';\r\n }\r\n }\r\n\r\n if ($('#currency-converter-to-select-group .dropdown-menu a[role=\"option\"]').length == 0)\r\n $(\"#currency-converter-to-select\").selectpicker(\"refresh\");\r\n var toSymbolLinks = $('#currency-converter-to-select-group .dropdown-menu a[role=\"option\"]');\r\n\r\n for (var i = 0; i < toSymbolLinks.length; i++) {\r\n\r\n var curSymbol = document.getElementById(\"currency-converter-to-select\").options[i].getAttribute(\"value\");\r\n if (fromSymbol != curSymbol) {\r\n toSymbolLinks[i].href = GenerateCurrencyConverterNewLink(window.location.pathname, fromSymbol + curSymbol);\r\n } else {\r\n toSymbolLinks[i].href = '#';\r\n }\r\n }\r\n}\r\n\r\nfunction SwapCurrencyConverter() {\r\n var fromCur = $(\"#currency-converter-from-select\").val();\r\n var toCur = $(\"#currency-converter-to-select\").val();\r\n var fromCurDesc = $(\"#currency-converter-from-select\").infiniteselect('description');\r\n var toCurDesc = $(\"#currency-converter-to-select\").infiniteselect('description');\r\n\r\n var rate = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('cc-current-exchange-rate').value);\r\n\r\n rate = 1.0 / rate;\r\n\r\n document.getElementById('cc-current-exchange-rate').value = rate;\r\n\r\n $(\"#currency-converter-from-select\").infiniteselect('val', toCur, toCurDesc);\r\n $(\"#currency-converter-to-select\").infiniteselect('val', fromCur, fromCurDesc);\r\n\r\n //update title, page and all href\r\n UpdateCurrencyConverterHrefAndTitle();\r\n //update ParamLinks\r\n //UpdateCurrencyConvertParamLinks();\r\n UpdateLiveChart();\r\n\r\n ConvertCurrency();\r\n UpdateRecentSymbols();\r\n}\nfunction InitializeDrawdownCalcParamsFromCookie() {\r\n if (window.DefaultBalance !== '-1' && window.DefaultBalance !== '' && window.DefaultBalance !== undefined) {\r\n $(\"#dc-starting-balance\").val(parseInt(window.DefaultBalance));\r\n } else {\r\n var cookieStartBalance = window.CalcWidgetStyle.GetCalcCookieValue('dc-balance');\r\n if (cookieStartBalance != \"\") {\r\n $(\"#dc-starting-balance\").val(parseInt(cookieStartBalance));\r\n }\r\n }\r\n if (window.DefaultPeriod !== '-1' && window.DefaultPeriod !== '' && window.DefaultPeriod !== undefined) {\r\n $(\"#dc-periods\").val(parseInt(window.DefaultPeriod));\r\n } else {\r\n var cookiePeriods = window.CalcWidgetStyle.GetCalcCookieValue('dc-periods');\r\n if (cookiePeriods != \"\") {\r\n $(\"#dc-periods\").val(parseInt(cookiePeriods));\r\n }\r\n }\r\n\r\n if (window.DefaultGain !== '-1' && window.DefaultGain !== '' && window.DefaultGain !== undefined) {\r\n $(\"#dc-gain-percent\").val(parseInt(window.DefaultGain));\r\n } else {\r\n var cookieGain = window.CalcWidgetStyle.GetCalcCookieValue('dc-gain');\r\n if (cookieGain != \"\") {\r\n $(\"#dc-gain-percent\").val(parseInt(cookieGain));\r\n }\r\n }\r\n\r\n\r\n}\r\n\r\nfunction InitDrawdownCalcWidget() {\r\n\r\n if ($('#dc-starting-balance').length <= 0)\r\n return; \r\n InitializeDrawdownCalcParamsFromCookie();\r\n\r\n CalculateDrawdown();\r\n\r\n document.getElementById('dc-starting-balance').addEventListener('change', OnDCChangeInput);\r\n document.getElementById('dc-periods').addEventListener('change', OnDCChangeInput);\r\n document.getElementById('dc-gain-percent').addEventListener('change', OnDCChangeInput);\r\n\r\n}\r\n\r\nfunction OnDCStyleUpdated(e, styleType) {\r\n\r\n window.CalcWidgetStyle.SetWidgetStyleCookie(styleType, e.value);\r\n\r\n GenerateDrawdownCalculatorRemoteScript();\r\n}\r\n\r\nfunction OpenDCEmbedOverlay() {\r\n var prefix = 'drawdown-calculator';\r\n var currentLocation = window.location.pathname;\r\n if (currentLocation.includes('/widgets/' + prefix + '-widget')) {\r\n var url = '/widgets/' + prefix + '-widget-maker';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n var width = 398;\r\n window.open(url, \"\", \"width=\" + width);\r\n }\r\n } else if (currentLocation.includes('/widgets/' + prefix)) {\r\n var url = '/widgets/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.open(url, '_blank').focus();\r\n } else if (currentLocation.includes('/tools/' + prefix)) {\r\n var url = '/tools/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.location.href = url;\r\n }\r\n}\r\n\r\nfunction CloseDCEmbedOverlay() {\r\n $(\"#dc-embed-script-overlay\").css(\"display\", \"none\");\r\n}\r\n\r\nfunction ClearDrawdownCalcWdigetStyles() {\r\n\r\n window.CalcWidgetStyle.ResetCalcWidgetsStyles();\r\n\r\n GenerateDrawdownCalculatorRemoteScript();\r\n}\r\n\r\nfunction OnCopyDCEmbedScript() {\r\n document.getElementById('dc-embed-script-preview-output').select();\r\n document.execCommand(\"copy\");\r\n\r\n GenerateDrawdownCalculatorRemoteScript();\r\n}\r\n\r\nfunction GenerateDrawdownCalculatorRemoteScript() {\r\n\r\n DrawdownWidgetConfig = new Object();\r\n\r\n DrawdownWidgetConfig.TopPaneStyle = window.CalcWidgetStyle.GetTopPaneStyle();\r\n DrawdownWidgetConfig.BottomPaneStyle = window.CalcWidgetStyle.GetBottomPaneStyle();\r\n DrawdownWidgetConfig.ButtonStyle = window.CalcWidgetStyle.GetButtonStyle();\r\n\r\n DrawdownWidgetConfig.IsDisplayTitle = document.getElementById('dc-display-tool-title-input').checked;\r\n\r\n var language = document.getElementById('dc-widget-language-select').value;\r\n if (language != \"browser\") {\r\n DrawdownWidgetConfig.Lang = language;\r\n }\r\n\r\n var hostUrl = window.location.protocol + \"//\" + window.location.hostname;\r\n if (window.location.port !== \"\")\r\n hostUrl += \":\" + window.location.port;\r\n\r\n DrawdownWidgetConfig.Url = hostUrl;\r\n DrawdownWidgetConfig.Calculator = \"drawdown-calculator\";\r\n \r\n document.getElementById('dc-embed-script-preview-output').value = GenerateCalcWidgetScript(DrawdownWidgetConfig);\r\n\r\n document.getElementById('drawdown-preview-link').href = window.CalculatorHelper.GenerateCalcPreviewLink(DrawdownWidgetConfig, \"drawdown-calculator\");\r\n}\r\n\r\nfunction OnDCChangeInput() {\r\n document.getElementById('drawdown-ending-balance-result').innerHTML = \"--\";\r\n document.getElementById('drawdown-total-gain-result').innerHTML = \"--\";\r\n var tableResultHtml = '
| ' + window.StartingBalanceLabel + ' | ' + '' + window.TotalGainLabel + ' | ' + '' + window.EndingBalanceLabel + ' |
';\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n\r\n tableResultHtml += '
';\r\n\r\n document.getElementById('drawdown-table-result').innerHTML = tableResultHtml;\r\n}\r\n\r\nfunction DCResultLoading() {\r\n\r\n $(\"#drawdown-calc-form span.result-span\").html('
');\r\n\r\n \r\n var tableResultHtml = ' | ' + window.StartingBalanceLabel + ' | ' + '' + window.TotalGainLabel + ' | ' + '' + window.EndingBalanceLabel + ' |
';\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n\r\n tableResultHtml += '
';\r\n\r\n document.getElementById('drawdown-table-result').innerHTML = tableResultHtml;\r\n}\r\n\r\nfunction CalculateDrawdown() {\r\n\r\n var form = document.getElementById('drawdown-calc-form');\r\n if (form.checkValidity() == false) {\r\n form.reportValidity();\r\n //form.classList.add('was-validated');\r\n return;\r\n }\r\n\r\n var startingBalance = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('dc-starting-balance').value);\r\n var numberOfPeriods = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('dc-periods').value);\r\n var lossPerPeriod = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('dc-gain-percent').value);\r\n\r\n window.CalcWidgetStyle.SetCalcCookieValue('dc-balance', startingBalance);\r\n window.CalcWidgetStyle.SetCalcCookieValue('dc-periods', numberOfPeriods);\r\n window.CalcWidgetStyle.SetCalcCookieValue('dc-gain', lossPerPeriod);\r\n \r\n DCResultLoading();\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n cache: false,\r\n dataType: \"json\",\r\n url: \"/widgets/calculation/drawdown\",\r\n data: { startingBalance: startingBalance, numberOfPeriods: numberOfPeriods, lossPerPeriod: lossPerPeriod },\r\n success: function (data) {\r\n if (data.success === true) {\r\n document.getElementById('drawdown-ending-balance-result').innerHTML = window.CalculatorHelper.ToLocaleNumberForResult(data.endingBalance, \"\", 2, \"\");\r\n document.getElementById('drawdown-total-gain-result').innerHTML = window.CalculatorHelper.ToLocaleNumberForResult(data.totalLoss, \"percent\", 1, \"\");\r\n\r\n var tableResultHtml = ' | ' + window.StartingBalanceLabel + ' | ' + '' + window.TotalGainLabel + ' | ' + '' + window.EndingBalanceLabel + ' |
';\r\n for (var i = 0; i < numberOfPeriods; i++) {\r\n if (data.tableResult[i] != undefined) {\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult((i + 1), \"\", 0, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].startingBalance, \"\", 2, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].totalLoss, 'percent', 2, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].endingBalance, \"\", 2, \"\") + \" | \";\r\n\r\n tableResultHtml += '
';\r\n }\r\n }\r\n\r\n document.getElementById('drawdown-table-result').innerHTML = tableResultHtml;\r\n\r\n } else {\r\n document.getElementById('drawdown-ending-balance-result').innerHTML = \"NaN\";\r\n document.getElementById('drawdown-total-gain-result').innerHTML = \"NaN\";\r\n }\r\n },\r\n error: function () {\r\n document.getElementById('drawdown-ending-balance-result').innerHTML = \"NaN\";\r\n document.getElementById('drawdown-total-gain-result').innerHTML = \"NaN\";\r\n }\r\n });\r\n}\r\n\nfunction InitializeExchangeFeeCalcParams() {\r\n\r\n var defaultFee = \"\";\r\n var defaultBuy = \"\";\r\n var defaultPay = \"\";\r\n var defaultAmount = \"\";\r\n var defaultExchange = \"\";\r\n\r\n var pathname = document.location.pathname;\r\n\r\n if (!pathname.includes(\"/widgets/\")) {\r\n\r\n defaultBuy = window.CalcWidgetStyle.GetCalcCookieValue('exfee-buy-currency');\r\n defaultFee = window.CalcWidgetStyle.GetCalcCookieValue('exfee-fee-currency');\r\n defaultPay = window.CalcWidgetStyle.GetCalcCookieValue('exfee-pay-currency');\r\n defaultAmount = window.CalcWidgetStyle.GetCalcCookieValue('exfee-buy-amount');\r\n\r\n if (pathname.endsWith(\"tools/exchange-fees-calculator\")) {\r\n var queryParams = new URLSearchParams(window.location.search);\r\n if (queryParams.get('s')) defaultExchange = queryParams.get('s');\r\n else defaultExchange = window.CalcWidgetStyle.GetCalcCookieValue('exfee-exchange');\r\n } else if (pathname.includes(\"tools/exchange-fees-calculator/\")) {\r\n parts = pathname.split('/');\r\n defaultExchange = parts[parts.length - 1].split('?')[0];\r\n }\r\n\r\n if (defaultExchange != \"\" && $(\"#exfee-exchange-select option[value='\" + defaultExchange + \"']\").length > 0) {\r\n $(\"#exfee-exchange-select\").selectpicker('val', defaultExchange);\r\n }\r\n }\r\n\r\n if (defaultBuy == \"\")\r\n defaultBuy = \"BTC\";\r\n if (defaultFee == \"\")\r\n defaultFee = \"USD\";\r\n if (defaultPay == \"\")\r\n defaultPay = \"USD\";\r\n if (defaultAmount == \"\")\r\n defaultAmount = \"1\";\r\n\r\n $(\"#exfee-fee-currency-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: defaultFee,\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n $(\"#exfee-buy-currency-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: defaultBuy,\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n $(\"#exfee-pay-currency-select\").infiniteselect({\r\n types: [\r\n { option: 'all', text: 'All' },\r\n { option: 'forex', text: 'Forex' },\r\n { option: 'crypto', text: 'Crypto' }],\r\n url: '/api/widgets/currencies',\r\n placeholder: 'Select',\r\n default: defaultPay,\r\n showDescription: true,\r\n culture: window.CURRENT_LANG,\r\n btnClass: 'widget-input-override frn-override'\r\n });\r\n $(\"#exfee-buy-amount\").val(defaultAmount);\r\n}\r\n\r\nfunction IsOnToolsExFeeCalculatorPage() {\r\n if (window.location.pathname.endsWith(\"/tools/exchange-fees-calculator\") || window.location.pathname.includes(\"/tools/exchange-fees-calculator/\"))\r\n return true;\r\n return false;\r\n\r\n}\r\nfunction InitExchangeFeeCalcWidget() {\r\n\r\n if ($(\"#exfee-current-exchange-rate\").length == 0)\r\n return;\r\n\r\n InitializeExchangeFeeCalcParams();\r\n\r\n UpdateExFeeParamLinks();\r\n\r\n var queryParams = new URLSearchParams(window.location.search);\r\n\r\n if (queryParams.get('s')) {\r\n UpdateExFeePageTitleAndHref();\r\n }\r\n\r\n InitAmountInputLabels();\r\n setTimeout(InitAmountInputLabels, 1000);\r\n\r\n UpdateExchangeInfo(InitializeExchangeRate(function () {\r\n ExFeesUpdateAmounts();\r\n CalculateExchangeFee();\r\n }));\r\n\r\n $(\"#exfee-buy-amount\").on('input', function () {\r\n ExFeesUpdateAmounts();\r\n });\r\n $(\"#exfee-pay-amount\").on('input', function () { \r\n ExFeesUpdateAmounts(true);\r\n });\r\n\r\n document.getElementById('exfee-buy-currency-select').addEventListener('change', OnExFeeCurrencyChanged);\r\n document.getElementById('exfee-pay-currency-select').addEventListener('change', OnExFeeCurrencyChanged);\r\n document.getElementById('exfee-fee-currency-select').addEventListener('change', function () {\r\n window.CalcWidgetStyle.SetCalcCookieValue('exfee-fee-currency', $(\"#exfee-fee-currency-select\").val());\r\n $('span.result-span').html('--');\r\n });\r\n}\r\n\r\nfunction ExFeesUpdateAmounts(isTo) {\r\n\r\n var buyElem = document.getElementById('exfee-buy-amount');\r\n if (buyElem.checkValidity() == false) {\r\n buyElem.reportValidity();\r\n return;\r\n }\r\n var payElem = document.getElementById('exfee-pay-amount');\r\n if (payElem.checkValidity() == false) {\r\n payElem.reportValidity();\r\n return;\r\n }\r\n\r\n var fromCurrency = document.getElementById('exfee-buy-currency-select').value;\r\n var fromAmount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('exfee-buy-amount').value);\r\n var toCurrency = document.getElementById('exfee-pay-currency-select').value;\r\n var toAmount = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('exfee-pay-amount').value);\r\n\r\n window.CalcWidgetStyle.SetCalcCookieValue('exfee-buy-currency', fromCurrency);\r\n window.CalcWidgetStyle.SetCalcCookieValue('exfee-buy-amount', fromAmount);\r\n window.CalcWidgetStyle.SetCalcCookieValue('exfee-pay-currency', toCurrency);\r\n\r\n //var rate = window.CalculatorHelper.GetCalculatedExchangeRate(fromCurrency, toCurrency);\r\n var rate = document.getElementById(\"exfee-current-exchange-rate\").value;\r\n if (rate == \"NaN\") {\r\n return;\r\n }\r\n if (isTo) {\r\n fromAmount = toAmount / rate;\r\n $('#exfee-buy-amount').val(window.CalculatorHelper.ToLongDecimalNumberForInput(fromAmount));\r\n } else {\r\n toAmount = fromAmount * rate;\r\n $('#exfee-pay-amount').val(window.CalculatorHelper.ToLongDecimalNumberForInput(toAmount));\r\n }\r\n}\r\n\r\nfunction InitializeExchangeRate(callback) {\r\n\r\n var e = document.getElementById('exfee-buy-currency-select');\r\n var fromCurrency = e.value;\r\n\r\n var e = document.getElementById('exfee-pay-currency-select');\r\n var toCurrency = e.value;\r\n\r\n window.CalculatorHelper.GetExchangeRateAsync(fromCurrency, toCurrency)\r\n .then(function (res) {\r\n\r\n if (res.rate < 0)\r\n res.rate = \"NaN\";\r\n\r\n $(\"#exfee-current-exchange-rate\").val(res.rate);\r\n \r\n if (!!callback && typeof callback === \"function\")\r\n callback();\r\n });\r\n}\r\n\r\n\r\nfunction OnExFeeCurrencyChanged() {\r\n\r\n $('span.result-span').html('--');\r\n\r\n var name = $(this).infiniteselect('description');\r\n if ($(this).attr('id').includes(\"-buy-\")) {\r\n \r\n $(\"label[for=exfee-buy-amount]\").html(window.ExFeeCalcResxStrings[\"_0Amount\"].replace(\"{0}\", name));\r\n }\r\n if ($(this).attr('id').includes(\"-pay-\")) {\r\n $(\"label[for=exfee-pay-amount]\").html(window.ExFeeCalcResxStrings[\"_0Amount\"].replace(\"{0}\", name));\r\n }\r\n InitializeExchangeRate(ExFeesUpdateAmounts);\r\n}\r\n\r\nfunction InitAmountInputLabels() {\r\n\r\n var buyCurrency = $(\"#exfee-buy-currency-select\").infiniteselect('description');\r\n $(\"label[for=exfee-buy-amount]\").html(window.ExFeeCalcResxStrings[\"_0Amount\"].replace(\"{0}\", buyCurrency));\r\n\r\n var payCurrency = $(\"#exfee-pay-currency-select\").infiniteselect('description');\r\n $(\"label[for=exfee-pay-amount]\").html(window.ExFeeCalcResxStrings[\"_0Amount\"].replace(\"{0}\", payCurrency));\r\n}\r\n\r\nfunction OnExFeeExchangeChanged() {\r\n\r\n $('span.result-span').html('--');\r\n\r\n UpdateExFeePageTitleAndHref();\r\n window.CalcWidgetStyle.SetCalcCookieValue('exfee-exchange', $(\"#exfee-exchange-select\").val());\r\n UpdateExchangeInfo();\r\n}\r\n\r\nfunction UpdateExFeePageTitleAndHref() {\r\n\r\n var urlPart = \"/tools/exchange-fees-calculator\";\r\n \r\n if (!IsOnToolsExFeeCalculatorPage() || window.location.hash == '#popout')\r\n return;\r\n\r\n var exchange = $('#exfee-exchange-select').val();\r\n var exchangeName = $($(\"#exfee-exchange-select option\")[document.getElementById('exfee-exchange-select').selectedIndex]).text();\r\n var title = window.ExFeeCalcResxStrings[\"_0FeesCalculator\"].replace(\"{0}\", exchangeName);\r\n var seoDesc = window.ExFeeCalcResxStrings[\"ExchangeFeesCalculatorSEODescription\"].replace(\"{0}\", exchangeName);\r\n\r\n\r\n $(\"h1.article-title\").html(title);\r\n $(\"title\").html(title);\r\n $('meta[name=\"description\"]').attr('content', seoDesc);\r\n\r\n // update current page link\r\n var newUrl = GenerateExFeeNewLink(window.location.href, exchange);\r\n window.history.replaceState({ path: newUrl }, '', newUrl);\r\n\r\n // update canonical links\r\n var baseCanonical = $(\"link[rel='canonical']\").attr('href');\r\n $(\"link[rel='canonical']\").attr('href', GenerateExFeeNewLink(baseCanonical, exchange));\r\n\r\n // update href links\r\n var hreflangs = $(\"link[hreflang]\");\r\n for (var i = 0; i < hreflangs.length; i++) {\r\n hreflangs[i].href = GenerateExFeeNewLink(hreflangs[i].href, exchange);\r\n }\r\n\r\n //update language switch links\r\n var langSelectors = $(\"#lang-select li a\")\r\n for (var i = 0; i < langSelectors.length; i++) {\r\n\r\n var newLink = GenerateExFeeNewLink(langSelectors[i].href, exchange);\r\n\r\n var langCode = $(\"#lang-select li a i\")[i].getAttribute(\"data-id\").split('-')[0];\r\n\r\n langSelectors[i].href = newLink;\r\n if (langCode == \"en\")\r\n $(langSelectors[i]).attr(\"onclick\", \"return window.Language.Select('\" + urlPart + \"/\" + exchange + \"','\" + langCode + \"')\");\r\n else\r\n $(langSelectors[i]).attr(\"onclick\", \"return window.Language.Select('/\" + langCode + urlPart + \"/\" + exchange + \"','\" + langCode + \"')\");\r\n }\r\n}\r\n\r\nfunction GenerateExFeeNewLink(oldUrl, newExchange) {\r\n\r\n var urlPart = \"tools/exchange-fees-calculator\";\r\n var baseUrl = oldUrl.substring(0, oldUrl.toLowerCase().indexOf(urlPart) + urlPart.length);\r\n return baseUrl + \"?s=\" + newExchange;\r\n}\r\n\r\nfunction UpdateExFeeParamLinks() {\r\n\r\n if (!IsOnToolsExFeeCalculatorPage())\r\n return;\r\n\r\n if ($('#exfee-exchange-select-group .dropdown-menu a[role=\"option\"]').length == 0)\r\n $(\"#exfee-exchange-select\").selectpicker(\"refresh\");\r\n var exchangeLinks = $('#exfee-exchange-select-group .dropdown-menu a[role=\"option\"]');\r\n\r\n for (var i = 0; i < exchangeLinks.length; i++) {\r\n\r\n var curExchange = document.getElementById(\"exfee-exchange-select\").options[i].getAttribute(\"value\");\r\n\r\n exchangeLinks[i].href = GenerateExFeeNewLink(window.location.pathname, curExchange);\r\n }\r\n}\r\n\r\nfunction OnExFeeSetCustomRate() {\r\n\r\n $('span.result-span').html('--');\r\n $(\"#exfee-custom-fee\").val('');\r\n\r\n $('#exfee-custom-fee-group').show();\r\n\r\n $(\"#exfee-fee-result-group\").hide();\r\n $(\"#exfee-custom-fee-result-group\").show();\r\n $(\"#custom-fees-link\").replaceWith('' + window.ExFeeCalcResxStrings[\"CustomFeesRate\"] + '');\r\n \r\n}\r\n\r\nfunction UpdateExchangeInfo(callback) {\r\n\r\n var code = $('#exfee-exchange-select').val();\r\n var name = $($(\"#exfee-exchange-select option\")[document.getElementById('exfee-exchange-select').selectedIndex]).text();\r\n \r\n $(\"#exfee-maker-fee\").val(-1);\r\n $(\"#exfee-taker-fee\").val(-1);\r\n\r\n $.ajax({\r\n url: '/api/widgets/exchange-fees/exchange-info',\r\n data: { code: code },\r\n success: function (res) {\r\n\r\n if (res.data.ReferralLink !== undefined && res.data.ReferralLink !== null) {\r\n $(\"#exchange-link\").attr('href', res.data.ReferralLink);\r\n } else {\r\n $(\"#exchange-link\").attr('href', res.data.WebsiteLink);\r\n }\r\n\r\n if (!!res.data.FeeDiscount) {\r\n $(\"#exfee-off-fee-desc\").html(window.ExFeeCalcResxStrings[\"ExchangeOffFeePromoteMsg\"]\r\n .replace(\"{0}\", name)\r\n .replace(\"{1}\", window.CalculatorHelper.ToLocaleNumberForResult(res.data.FeeDiscount / 100, \"percent\", 2)));\r\n $(\"#exfee-off-fee-desc\").show();\r\n\r\n $(\"#exchange-link div\").html(window.ExFeeCalcResxStrings[\"_0OffFees\"].replace(\"{0}\", window.CalculatorHelper.ToLocaleNumberForResult(res.data.FeeDiscount / 100, \"percent\", 2)) + \" - \" + window.ExFeeCalcResxStrings[\"BuySellCryptoAt0\"].replace(\"{0}\", name));\r\n } else {\r\n $(\"#exfee-off-fee-desc\").hide();\r\n $(\"#exchange-link div\").html(window.ExFeeCalcResxStrings[\"BuySellCryptoAt0\"].replace(\"{0}\", name));\r\n }\r\n\r\n if (!!res.data.MakerFee && !!res.data.TakerFee) {\r\n $('#exfee-custom-fee-group').hide();\r\n $(\"#exfee-maker-fee\").val(res.data.MakerFee);\r\n $(\"#exfee-taker-fee\").val(res.data.TakerFee);\r\n\r\n $(\"#exfee-maker-fee-desc\").html(window.ExFeeCalcResxStrings[\"_0MakerFees\"].replace(\"{0}\", window.CalculatorHelper.ToLocaleNumberForResult(res.data.MakerFee / 100, \"percent\", 2)));\r\n $(\"#exfee-taker-fee-desc\").html(window.ExFeeCalcResxStrings[\"_0TakerFees\"].replace(\"{0}\", window.CalculatorHelper.ToLocaleNumberForResult(res.data.TakerFee / 100, \"percent\", 2)));\r\n $(\"#exfee-fee-result-group\").show();\r\n $(\"#exfee-custom-fee-result-group\").hide();\r\n\r\n $(\"#custom-fees-link\").replaceWith('' + window.ExFeeCalcResxStrings[\"ClickToSetACustomFeesRate\"] + '');\r\n } else {\r\n OnExFeeSetCustomRate();\r\n }\r\n\r\n if (!!res.data.FeeLink) {\r\n $(\"#exfee-exchange-fee-link\").html(window.ExFeeCalcResxStrings[\"ClickFor0FeesSchedule\"].replace(\"{0}\", name));\r\n $(\"#exfee-exchange-fee-link\").attr('href', res.data.FeeLink);\r\n $(\"#exfee-exchange-fee-link\").show();\r\n } else {\r\n $(\"#exfee-exchange-fee-link\").hide();\r\n }\r\n\r\n if (callback != undefined)\r\n callback();\r\n },\r\n });\r\n}\r\n\r\nfunction CalculateExchangeFee() {\r\n \r\n if ($(\"#exfee-custom-fee-group\").is(\":visible\")) {\r\n var form = document.getElementById(\"exfee-form\");\r\n if (!form.checkValidity()) {\r\n form.reportValidity();\r\n return;\r\n }\r\n }\r\n\r\n var payAmount = window.CalculatorHelper.ParseLocaleNumber($(\"#exfee-pay-amount\").val());\r\n\r\n var payCurrency = $(\"#exfee-pay-currency-select\").val();\r\n var feeCurrency = $(\"#exfee-fee-currency-select\").val();\r\n\r\n $(\"#exfee-form span.result-span\").html('
');\r\n\r\n window.CalculatorHelper.GetExchangeRateAsync(payCurrency, feeCurrency)\r\n .then(function (res) {\r\n if ($(\"#exfee-custom-fee-group\").is(\":visible\")) {\r\n var customFee = $(\"#exfee-custom-fee\").val();\r\n var feeAmount = payAmount * customFee / 100;\r\n\r\n $(\"#exfee-custom-fee-result\").html(window.CalculatorHelper.ToLocaleNumberForResult(feeAmount * res.rate, \"currency\", 2, feeCurrency));\r\n\r\n } else {\r\n var makerFee = $(\"#exfee-maker-fee\").val();\r\n var takerFee = $(\"#exfee-taker-fee\").val();\r\n var makerFeeAmount = payAmount * makerFee / 100;\r\n var takerFeeAmount = payAmount * takerFee / 100;\r\n\r\n\r\n $(\"#exfee-maker-fee-result\").html(window.CalculatorHelper.ToLocaleNumberForResult(makerFeeAmount * res.rate, \"currency\", 2, feeCurrency));\r\n $(\"#exfee-taker-fee-result\").html(window.CalculatorHelper.ToLocaleNumberForResult(takerFeeAmount * res.rate, \"currency\", 2, feeCurrency));\r\n }\r\n }, function () {\r\n $(\"#exfee-form span.result-span\").html('NaN');\r\n })\r\n}\n\r\nfunction InitializeFibonacciCalcParamsFromCookie() {\r\n\r\n var cookieTrendDirrection = window.CalcWidgetStyle.GetCalcCookieValue('fc-trend-direction');\r\n if (cookieTrendDirrection != \"\") {\r\n $(\"#fc-type-select\").selectpicker('val', cookieTrendDirrection);\r\n }\r\n\r\n var cookieType = window.CalcWidgetStyle.GetCalcCookieValue('fc-type');\r\n \r\n if (cookieType !== \"\") {\r\n if (cookieType == true) {\r\n document.getElementById(\"fc-retracement\").checked = true;\r\n } else {\r\n document.getElementById(\"fc-projection\").checked = true;\r\n }\r\n }\r\n var cookieLowPrice = window.CalcWidgetStyle.GetCalcCookieValue('fc-lowprice');\r\n if (cookieLowPrice != \"\") {\r\n $(\"#fc-low-price\").val(cookieLowPrice);\r\n }\r\n\r\n var cookieHighPrice = window.CalcWidgetStyle.GetCalcCookieValue('fc-high-price');\r\n if (cookieHighPrice != \"\") {\r\n $(\"#fc-high-price\").val(cookieHighPrice);\r\n }\r\n\r\n var cookieEndPrice = window.CalcWidgetStyle.GetCalcCookieValue('fc-end-price');\r\n if (cookieEndPrice != \"\") {\r\n $(\"#fc-end-price\").val(cookieEndPrice);\r\n }\r\n OnFCTypeChanged();\r\n}\r\n\r\nfunction InitFibonacciCalcWidget() {\r\n\r\n if ($(\"#fc-low-price\").length <= 0)\r\n return;\r\n InitializeFibonacciCalcParamsFromCookie();\r\n\r\n CalculateFibonacci();\r\n\r\n document.getElementById('fc-type-select').addEventListener('change', OnFCChangeInput);\r\n document.getElementById('fc-retracement').addEventListener('change', OnFCChangeInput);\r\n document.getElementById('fc-projection').addEventListener('change', OnFCChangeInput);\r\n document.getElementById('fc-low-price').addEventListener('change', OnFCChangeInput);\r\n document.getElementById('fc-high-price').addEventListener('change', OnFCChangeInput);\r\n document.getElementById('fc-end-price').addEventListener('change', OnFCChangeInput);\r\n\r\n}\r\n\r\nfunction OnFCStyleUpdated(e, styleType) {\r\n\r\n window.CalcWidgetStyle.SetWidgetStyleCookie(styleType, e.value);\r\n\r\n GenerateFibonacciCalculatorRemoteScript();\r\n}\r\nfunction OnFCTypeChanged() {\r\n\r\n var dir = document.getElementById('fc-type-select').value;\r\n var isRetracement = document.getElementById('fc-retracement').checked;\r\n\r\n if (isRetracement != true) {\r\n $('#fc-end-price-group').css(\"display\", \"block\");\r\n $('#fc-end-price').attr(\"required\", true);\r\n } else {\r\n $('#fc-end-price-group').css(\"display\", \"none\");\r\n $('#fc-end-price').removeAttr(\"required\");\r\n }\r\n var img = document.getElementById('fc-type-logo');\r\n if (dir == 'up') {\r\n if (isRetracement == true) {\r\n img.src = \"/Content/dist/images/PageElements/uptrend-retracement.png\";\r\n } else {\r\n img.src = \"/Content/dist/images/PageElements/uptrend-projection.png\";\r\n }\r\n } else {\r\n if (isRetracement == true) {\r\n img.src = \"/Content/dist/images/PageElements/downtrend-retracement.png\";\r\n } else {\r\n img.src = \"/Content/dist/images/PageElements/downtrend-projection.png\";\r\n }\r\n }\r\n}\r\nfunction OpenFCEmbedOverlay() {\r\n var prefix = 'fibonacci-calculator';\r\n var currentLocation = window.location.pathname;\r\n if (currentLocation.includes('/widgets/' + prefix + '-widget')) {\r\n var url = '/widgets/' + prefix + '-widget-maker';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n var width = 398;\r\n window.open(url, \"\", \"width=\" + width);\r\n }\r\n } else if (currentLocation.includes('/widgets/' + prefix)) {\r\n var url = '/widgets/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.open(url, '_blank').focus();\r\n } else if (currentLocation.includes('/tools/' + prefix)) {\r\n var url = '/tools/' + prefix + '-widget';\r\n if (window.CurrentLang !== '') {\r\n url = '/' + window.CurrentLang + url;\r\n }\r\n window.location.href = url;\r\n }\r\n}\r\n\r\nfunction CloseFCEmbedOverlay() {\r\n $(\"#fc-embed-script-overlay\").css(\"display\", \"none\");\r\n}\r\n\r\nfunction ClearFibonacciCalcWdigetStyles() {\r\n\r\n window.CalcWidgetStyle.ResetCalcWidgetsStyles();\r\n\r\n GenerateFibonacciCalculatorRemoteScript();\r\n}\r\n\r\nfunction OnCopyFCEmbedScript() {\r\n document.getElementById('fc-embed-script-preview-output').select();\r\n document.execCommand(\"copy\");\r\n\r\n GenerateFibonacciCalculatorRemoteScript();\r\n}\r\n\r\nfunction GenerateFibonacciCalculatorRemoteScript() {\r\n\r\n FibonacciWidgetConfig = new Object();\r\n\r\n FibonacciWidgetConfig.TopPaneStyle = window.CalcWidgetStyle.GetTopPaneStyle();\r\n FibonacciWidgetConfig.BottomPaneStyle = window.CalcWidgetStyle.GetBottomPaneStyle();\r\n FibonacciWidgetConfig.ButtonStyle = window.CalcWidgetStyle.GetButtonStyle();\r\n\r\n FibonacciWidgetConfig.IsDisplayTitle = document.getElementById('fc-display-tool-title-input').checked;\r\n\r\n var language = document.getElementById('fc-widget-language-select').value;\r\n if (language != \"browser\") {\r\n FibonacciWidgetConfig.Lang = language;\r\n }\r\n\r\n var hostUrl = window.location.protocol + \"//\" + window.location.hostname;\r\n if (window.location.port !== \"\")\r\n hostUrl += \":\" + window.location.port;\r\n\r\n FibonacciWidgetConfig.Url = hostUrl;\r\n FibonacciWidgetConfig.Calculator = \"fibonacci-calculator\";\r\n\r\n document.getElementById('fc-embed-script-preview-output').value = GenerateCalcWidgetScript(FibonacciWidgetConfig);\r\n\r\n document.getElementById('fibonacci-preview-link').href = window.CalculatorHelper.GenerateCalcPreviewLink(FibonacciWidgetConfig, \"fibonacci-calculator\");\r\n}\r\n\r\nfunction OnFCChangeInput() {\r\n var tableResultHtml = '' + window.LevelLabel + ' | ' + '' + window.PriceLabel + ' |
';\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += \"-- | \";\r\n tableResultHtml += \"-- | \";\r\n\r\n tableResultHtml += '
';\r\n \r\n document.getElementById('fibonacci-table-result').innerHTML = tableResultHtml;\r\n}\r\n\r\nfunction FCResultLoading() {\r\n var tableResultHtml = '' + window.LevelLabel + ' | ' + '' + window.PriceLabel + ' |
';\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += ' | ';\r\n tableResultHtml += ' | ';\r\n\r\n tableResultHtml += '
';\r\n\r\n document.getElementById('fibonacci-table-result').innerHTML = tableResultHtml;\r\n}\r\n\r\nfunction CalculateFibonacci() {\r\n\r\n var form = document.getElementById('fibonacci-calc-form');\r\n if (form.checkValidity() == false) {\r\n form.reportValidity();\r\n //form.classList.add('was-validated');\r\n return;\r\n }\r\n\r\n var dir = document.getElementById('fc-type-select').value;\r\n var isRetracement = document.getElementById('fc-retracement').checked;\r\n var highPrice = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('fc-high-price').value);\r\n var lowPrice = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('fc-low-price').value);\r\n\r\n var endPrice = 0;\r\n if (isRetracement != true) {\r\n endPrice = window.CalculatorHelper.ParseLocaleNumber(document.getElementById('fc-end-price').value);\r\n window.CalcWidgetStyle.SetCalcCookieValue('fc-end-price', endPrice);\r\n }\r\n\r\n window.CalcWidgetStyle.SetCalcCookieValue('fc-trend-direction', dir);\r\n window.CalcWidgetStyle.SetCalcCookieValue('fc-type', isRetracement);\r\n window.CalcWidgetStyle.SetCalcCookieValue('fc-lowprice', lowPrice);\r\n window.CalcWidgetStyle.SetCalcCookieValue('fc-high-price', highPrice);\r\n \r\n \r\n var isValid = true;\r\n if (highPrice < lowPrice) {\r\n $(\"#invalid-high-low-price\").css(\"display\", \"block\");\r\n return;\r\n } else {\r\n $(\"#invalid-high-low-price\").css(\"display\", \"none\");\r\n }\r\n \r\n FCResultLoading();\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n cache: false,\r\n dataType: \"json\",\r\n url: \"/widgets/calculation/fibonacci\",\r\n data: { dir: dir, isRetracement: isRetracement, lowPrice: lowPrice, highPrice: highPrice, endPrice: endPrice },\r\n success: function (data) {\r\n if (data.success === true) { \r\n\r\n var tableResultHtml = '' + window.LevelLabel + ' | ' + '' + window.PriceLabel + ' |
';\r\n for (var i = 0; i < data.tableResult.length; i++) {\r\n if (data.tableResult[i] != undefined) {\r\n tableResultHtml += '';\r\n\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].Level, 'percent', 1, \"\") + \" | \";\r\n tableResultHtml += \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].Price, \"\", 4, \"\") + \" | \"; \r\n\r\n tableResultHtml += '
';\r\n }\r\n }\r\n\r\n document.getElementById('fibonacci-table-result').innerHTML = tableResultHtml;\r\n\r\n } else {\r\n \r\n }\r\n },\r\n error: function () { \r\n }\r\n });\r\n}\r\n\nfunction ResizeCalcWidgetFrame(selector) {\r\n\r\n if (!selector) selector = '#calculator-body';\r\n\r\n var top, height, bottom, left, width, right;\r\n\r\n var element = $(selector);\r\n if (element.length <= 0)\r\n return;\r\n\r\n var targetContainerId = element.attr(\"container-id\");\r\n\r\n top = element.offset().top; // Vert offset of element\r\n height = element.outerHeight(true); // Height of element\r\n\r\n left = element.offset().left;\r\n width = element.outerWidth(true);\r\n\r\n // Offset to bottom of element\r\n // + 16 px for luck\r\n bottom = top + height + 16;\r\n\r\n right = left + width + 16;\r\n\r\n var title = $('title').html();\r\n\r\n window.parent.postMessage({\r\n 'func': 'resizeCBFCalcWidget',\r\n 'targetHeight': bottom,\r\n 'targetWidth': right,\r\n 'containerId': targetContainerId,\r\n 'title': title,\r\n }, \"*\");\r\n\r\n // console.log('resize cbf embed widget height', targetContainerId, bottom);\r\n}\r\n\r\nfunction SetPopoutLink() {\r\n\r\n var element = document.getElementById('calculator-body');\r\n if (element === null)\r\n return;\r\n\r\n var targetContainerId = element.getAttribute(\"container-id\");\r\n\r\n var topPane = element.querySelector('.calc-widgit-top-pane');\r\n if (topPane === null) return;\r\n\r\n var title = document.querySelector('title').innerText;\r\n var link = document.querySelector('head > link[rel=canonical]').getAttribute('href');\r\n\r\n if ($(\"input[name='embed-widget-affiliate-id']\").length > 0) {\r\n var affiliateId = $(\"input[name='embed-widget-affiliate-id']\").val();\r\n if (!!affiliateId && affiliateId != \"0\")\r\n link += \"?aid=\" + affiliateId;\r\n }\r\n var elementRect = element.getBoundingClientRect();\r\n var topPaneRect = topPane.getBoundingClientRect();\r\n var top = topPaneRect.top + 7;\r\n var right = elementRect.right - topPaneRect.right + 7;\r\n var popoutColorEl = document.getElementById('popout-color-value');\r\n if (popoutColorEl) {\r\n colorValue = popoutColorEl.getAttribute('value');\r\n }\r\n window.parent.postMessage({\r\n 'func': 'popoutPositionCalcWidget',\r\n 'containerId': targetContainerId,\r\n 'top': top,\r\n 'right': right,\r\n 'title': title,\r\n 'link': link,\r\n 'color': colorValue\r\n }, \"*\");\r\n}\r\n\r\nfunction GenerateCalcWidgetScript(WidgetConfig) {\r\n var containerId = WidgetConfig.Calculator + \"-\" + Math.ceil(Math.random() * 1000000);\r\n\r\n var affiliateId = \"\";\r\n if ($(\"#client-profile-id\").length > 0) {\r\n if ($(\"#point-affailiate-links\").length > 0 && $(\"#point-affailiate-links\")[0].checked == true)\r\n affiliateId = $(\"#client-profile-id\").val();\r\n }\r\n else if ($(\"input[name='embed-widget-affiliate-id']\").length > 0) {\r\n affiliateId = $(\"input[name='embed-widget-affiliate-id']\").val();\r\n }\r\n\r\n var previewScript = \"\";\r\n\r\n previewScript += \"