{"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","_toPropertyKey","_createClass","protoProps","staticProps","arg","_toPrimitive","String","hint","prim","toPrimitive","Number","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","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","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","./CalcWidgetsStyle","14","UpdateRCTradeSizeFields","secondCurrency","rebateType","rebateAmount","rebatePerLot","./CalculatorHelper","./CustomChartSymbolSelectPlugin","./InfiniteScrollSelectPlugin","13","buyOrSell","cookieBuyOrSell","UpdateOpenClosePrice","ToggleOnePipFields","pipResult","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 = '' + '' + '';\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 += \"\";\r\n tableResultHtml += \"\";\r\n tableResultHtml += \"\";\r\n tableResultHtml += \"\";\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 for (var i = 0; i < res.length; i++) {\r\n html += '';\r\n } else {\r\n html += '\" class=\"recent-conversion-item\">' + adjustedAmount + ' ' + res[i].Symbol.substring(0, 3) + \" to \" + res[i].Symbol.substring(3, 6) + '';\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 + '
\" + window.CalculatorHelper.ToLocaleNumberForResult((i + 1), \"\", 0, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].startingBalance, \"\", 2, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].totalGain, \"percent\", 2, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].endingBalance, \"\", 2, \"\") + \"
' + '' + '';\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 += \"\";\r\n tableResultHtml += \"\";\r\n tableResultHtml += \"\";\r\n tableResultHtml += \"\";\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.StartingBalanceLabel + '' + window.TotalGainLabel + '' + window.EndingBalanceLabel + '
\" + window.CalculatorHelper.ToLocaleNumberForResult((i + 1), \"\", 0, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].startingBalance, \"\", 2, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].totalLoss, 'percent', 2, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].endingBalance, \"\", 2, \"\") + \"
' + '';\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 += \"\";\r\n tableResultHtml += \"\"; \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 += \"
' + window.LevelLabel + '' + window.PriceLabel + '
\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].Level, 'percent', 1, \"\") + \"\" + window.CalculatorHelper.ToLocaleNumberForResult(data.tableResult[i].Price, \"\", 4, \"\") + \"