var frCrExRs = {"usd":{"name":"U.S. Dollar","rate":"1","left":"$","decimals":"2"},"eur":{"name":"Euro","rate":"0.87247211399168","left":"\u20ac","decimals":"2"},"gbp":{"name":"U.K. Pound Sterling","rate":"0.73726210930731","left":"\u00a3","decimals":"2"},"aud":{"name":"Australian Dollar","rate":"1.4082524672407","left":"A$ ","decimals":"2"},"cad":{"name":"Canadian Dollar","rate":"1.2716586230751","left":"C$ ","decimals":"2"},"jpy":{"name":"Japanese Yen","rate":"114.97731798247","left":"\u00a5","decimals":"0"},"chf":{"name":"Swiss Franc","rate":"0.92205388902283","left":"CHF ","decimals":"2"},"kmf":{"name":"\tComoro franc","rate":"430.77340864652","decimals":"0"},"afn":{"name":"Afghan afghani","rate":"97.913683274899","decimals":"2"},"all":{"name":"Albanian lek","rate":"105.82819630134","decimals":"2"},"dzd":{"name":"Algerian Dinar","rate":"139.00261296806","decimals":"2"},"aoa":{"name":"Angolan kwanza","rate":"521.80263157894","decimals":"2"},"ars":{"name":"Argentine Peso","rate":"104.48400397082","left":"$","decimals":"2"},"amd":{"name":"Armenia Dram","rate":"477.80129381314"},"awg":{"name":"Aruban florin","rate":"1.7806564590723","decimals":"2"},"azn":{"name":"Azerbaijan Manat","rate":"1.6789794773925"},"bsd":{"name":"Bahamian Dollar","rate":"0.98445994588285","decimals":"2"},"bhd":{"name":"Bahrain Dinar","rate":"0.37468878595719","left":"BD ","decimals":"3","point":"."},"bdt":{"name":"Bangladeshi taka","rate":"85.164381896082","decimals":"2"},"bbd":{"name":"Barbadian Dollar","rate":"1.9999339508061","left":"Bds$ ","decimals":"2","point":"."},"byn":{"name":"Belarussian Ruble","rate":"2.5750586517788"},"bzd":{"name":"Belize dollar","rate":"1.98344503351","decimals":"2"},"bob":{"name":"Bolivian Boliviano","rate":"6.8171711650153","left":"Bs. ","decimals":"2","point":"."},"bam":{"name":"Bosnia and Herzegovina convertible mark","rate":"1.704650962861","decimals":"2"},"bwp":{"name":"Botswana Pula","rate":"11.363037249284","decimals":"2"},"brl":{"name":"Brazilian Real","rate":"5.3135210298014","left":"R$","decimals":"2"},"bnd":{"name":"Brunei Dollar","rate":"1.3267648042824","decimals":"2"},"bgn":{"name":"Bulgarian Lev","rate":"1.7058151137488","decimals":"2"},"bif":{"name":"Burundian franc","rate":"1965.1635282458","decimals":"0"},"khr":{"name":"Cambodian riel","rate":"4001.7154389506","decimals":"2"},"cve":{"name":"Cape Verde escudo","rate":"96.489051094889","decimals":"0"},"xaf":{"name":"Central African CFA Franc","rate":"574.6713517465","decimals":"2"},"xpf":{"name":"CFP Franc","rate":"104.08934617706","decimals":"2"},"clp":{"name":"Chilean Peso","rate":"823.0929611851","decimals":"2"},"cny":{"name":"Chinese Yuan","rate":"6.3572795039647","decimals":"2"},"cop":{"name":"Colombian Peso","rate":"3913.379504815","decimals":"2"},"cdf":{"name":"Congolese franc","rate":"1970.044709389","decimals":"2"},"crc":{"name":"Costa Rican Col\u00f3n","rate":"640.63023727902","left":"\u20a1","decimals":"2","point":"."},"hrk":{"name":"Croatian Kuna","rate":"6.5658798857869","decimals":"2"},"cup":{"name":"Cuban peso","rate":"0.98445994588285","decimals":"2"},"czk":{"name":"Czech Koruna","rate":"21.251124533826","right":" K\u010d","decimals":"2","point":"."},"dkk":{"name":"Danish Krone","rate":"6.4922828915054","left":"kr ","decimals":"2"},"djf":{"name":"Djiboutian franc","rate":"175.1711648041","decimals":"0"},"dop":{"name":"Dominican Peso","rate":"57.265837768864","left":"RD$ ","decimals":"2","point":"."},"xcd":{"name":"East Caribbean Dollar","rate":"2.6670926087833","decimals":"2"},"egp":{"name":"Egyptian Pound","rate":"15.693915361461","left":"E\u00a3","decimals":"2","point":"."},"ern":{"name":"Eritrean nakfa","rate":"14.830590875093","decimals":"2"},"etb":{"name":"Ethiopian birr","rate":"49.080445544552","decimals":"2"},"fjd":{"name":"Fiji Dollar","rate":"2.1098638008087","decimals":"2"},"gmd":{"name":"Gambian dalasi","rate":"52.387054161162","decimals":"2"},"gel":{"name":"Georgian lari","rate":"3.0100955878906","decimals":"2"},"ghs":{"name":"Ghanaian Cedi","rate":"6.3077779545091","decimals":"2"},"gip":{"name":"Gibraltar pound","rate":"0.73134696941046","decimals":"2"},"gtq":{"name":"Guatemalan Quetzal","rate":"7.5666857469949","decimals":"2"},"gnf":{"name":"Guinean franc","rate":"8852.0089285715","decimals":"0"},"gyd":{"name":"Guyanese dollar","rate":"205.86067275747","decimals":"2"},"htg":{"name":"Haitian gourde","rate":"101.09645448982","decimals":"2"},"hnl":{"name":"Honduran Lempira","rate":"24.225412339645","decimals":"2"},"hkd":{"name":"Hong Kong Dollar","rate":"7.7893439196108","left":"HK$ ","decimals":"2"},"huf":{"name":"Hungarian Forint","rate":"307.9157549621","decimals":"2"},"isk":{"name":"Icelandic Krona","rate":"124.56071366355","decimals":"2"},"inr":{"name":"Indian Rupee","rate":"74.713135429275","decimals":"2"},"idr":{"name":"Indonesian Rupiah","rate":"14370.711736152","decimals":"2"},"irr":{"name":"Iranian rial","rate":"41523.105952981","decimals":"2"},"iqd":{"name":"Iraqi dinar","rate":"1443.4536189611","decimals":"3"},"ils":{"name":"Israeli New Sheqel","rate":"3.2040155096023","left":"\u20aa","decimals":"2"},"jmd":{"name":"Jamaican Dollar","rate":"153.70930232558","decimals":"2"},"jod":{"name":"Jordanian Dinar","rate":"0.70616962155436","left":"JD","decimals":"3","point":"."},"kzt":{"name":"Kazakhstani Tenge","rate":"431.67702437243","decimals":"2"},"kes":{"name":"Kenyan shilling","rate":"111.7791307289","decimals":"2"},"kwd":{"name":"Kuwaiti Dinar","rate":"0.30082368445845","decimals":"2"},"kgs":{"name":"Kyrgyzstan Som","rate":"83.922434506138"},"lak":{"name":"Lao kip","rate":"11170.985915493","decimals":"2"},"lbp":{"name":"Lebanese Pound","rate":"1493.7551676642","decimals":"2"},"lsl":{"name":"Lesotho loti","rate":"15.027283061766","decimals":"2"},"lrd":{"name":"Liberian dollar","rate":"150.21590909091","decimals":"2"},"lyd":{"name":"Libyan Dinar","rate":"4.5666276734228","decimals":"2"},"mop":{"name":"Macanese pataca","rate":"7.9029493822238","decimals":"2"},"mkd":{"name":"Macedonian denar","rate":"53.867887366033","decimals":"2"},"mga":{"name":"Malagasy ariary","rate":"3926.4356435643","decimals":"2"},"mwk":{"name":"Malawian kwacha","rate":"803.91242651529","decimals":"2"},"myr":{"name":"Malaysian Ringgit","rate":"4.1676152957201","decimals":"2"},"mvr":{"name":"Maldivian rufiyaa","rate":"15.211737629459","decimals":"2"},"mro":{"name":"Mauritanian Ouguiya","rate":"36.309561006091","left":"UM","decimals":"2","point":"."},"mru":{"name":"Mauritanian ouguiya","rate":"35.727027027027","decimals":"2"},"mur":{"name":"Mauritian Rupee","rate":"43.293668122272","decimals":"2"},"mxn":{"name":"Mexican Peso","rate":"20.615257584102","left":"Mex$ ","decimals":"2"},"mdl":{"name":"Moldova Lei","rate":"17.978443974083"},"mnt":{"name":"Mongolian togrog","rate":"2818.5501066098","decimals":"2"},"mad":{"name":"Moroccan Dirham","rate":"9.3295021697245","decimals":"2"},"mzn":{"name":"Mozambican metical","rate":"63.047694753577","decimals":"2"},"mmk":{"name":"Myanma Kyat","rate":"1749.3162770181","decimals":"2"},"nad":{"name":"Namibian dollar","rate":"15.027283061766","decimals":"2"},"npr":{"name":"Nepalese Rupee","rate":"118.80866473238","decimals":"2"},"ang":{"name":"Neth. Antillean Guilder","rate":"1.7772153650572","decimals":"2"},"twd":{"name":"New Taiwan Dollar ","rate":"27.79501951276","decimals":"2"},"tmt":{"name":"New Turkmenistan Manat","rate":"3.4628130093255"},"nzd":{"name":"New Zealand Dollar","rate":"1.5067934648355","left":"NZ$ ","decimals":"2"},"nio":{"name":"Nicaraguan C\u00f3rdoba","rate":"34.878627968337","left":"C$ ","decimals":"2","point":"."},"ngn":{"name":"Nigerian Naira","rate":"412.24989502933","left":"\u20a6"},"nok":{"name":"Norwegian Krone","rate":"8.7642671453149","left":"kr ","decimals":"2"},"omr":{"name":"Omani Rial","rate":"0.38293457433205","decimals":"2"},"pkr":{"name":"Pakistani Rupee","rate":"174.60076568287","left":"\u20a8 ","decimals":"2"},"pab":{"name":"Panamanian Balboa","rate":"0.99222997294142","decimals":"2"},"pgk":{"name":"Papua New Guinean kina","rate":"3.5039233019036","left":"K","decimals":"2"},"pyg":{"name":"Paraguayan Guaran\u00ed","rate":"6960.4712041884","right":"\u20b2","decimals":"0","point":"."},"pen":{"name":"Peruvian Nuevo Sol","rate":"3.8568548518627","decimals":"2"},"php":{"name":"Philippine Peso","rate":"51.228448003178","decimals":"2"},"pln":{"name":"Polish Zloty","rate":"3.9662491366061","decimals":"2"},"qar":{"name":"Qatari Rial","rate":"3.6272247100621","decimals":"2"},"ron":{"name":"Romanian New Leu","rate":"4.3149008888477","decimals":"2"},"rub":{"name":"Russian Rouble","rate":"76.062191608086","decimals":"2"},"rwf":{"name":"Rwandan franc","rate":"1022.351121423","decimals":"0"},"svc":{"name":"Salvadoran colon","rate":"8.613596872285","decimals":"2"},"wst":{"name":"Samoan tala","rate":"2.5798204527712","decimals":"2"},"stn":{"name":"S\u00e3o Tom\u00e9 and Pr\u00edncipe Dobra","rate":"21.576169749728","decimals":"2"},"sar":{"name":"Saudi Riyal","rate":"3.7491767948338","decimals":"2"},"rsd":{"name":"Serbian Dinar","rate":"103.96044633015","decimals":"2"},"scr":{"name":"Seychelles rupee","rate":"12.99377457405","decimals":"2"},"sll":{"name":"Sierra Leonean leone","rate":"11234.277620396","decimals":"2"},"sgd":{"name":"Singapore Dollar","rate":"1.3446251270245","left":"S$ ","decimals":"2"},"sbd":{"name":"Solomon Islands dollar","rate":"7.9013747758515","decimals":"2"},"sos":{"name":"Somali shilling","rate":"569.21199942585","decimals":"2"},"zar":{"name":"South African Rand","rate":"15.371292040055","left":"R ","decimals":"2"},"krw":{"name":"South Korean Won","rate":"1198.4206094812","left":"\u20a9","decimals":"2"},"ssp":{"name":"South Sudanese pound","rate":"425.093793547","decimals":"2"},"lkr":{"name":"Sri Lanka Rupee","rate":"200.72272758092","decimals":"2"},"sdg":{"name":"Sudanese pound","rate":"435.7912087912","decimals":"2"},"srd":{"name":"Surinamese dollar","rate":"20.751962323391","decimals":"2"},"szl":{"name":"Swazi lilangeni","rate":"15.027283061766","decimals":"2"},"sek":{"name":"Swedish Krona","rate":"9.121221154219","left":"kr ","decimals":"2"},"syp":{"name":"Syrian pound","rate":"2478.5625","decimals":"2"},"tjs":{"name":"Tajikistan Ruble","rate":"11.181769488503"},"tzs":{"name":"Tanzanian shilling","rate":"2275.2151462995","decimals":"2"},"thb":{"name":"Thai Baht","rate":"32.963092080798","left":"\u0e3f","decimals":"2"},"top":{"name":"Tongan pa\u02bbanga","rate":"2.2661142857142","decimals":"2"},"ttd":{"name":"Trinidad Tobago Dollar","rate":"6.6684042374304","decimals":"2"},"tnd":{"name":"Tunisian Dinar","rate":"2.870514231525","decimals":"2"},"try":{"name":"Turkish Lira","rate":"13.546907467477","decimals":"2"},"aed":{"name":"U.A.E Dirham","rate":"3.6425014544","decimals":"2"},"ugx":{"name":"Ugandan shilling","rate":"3439.462272333","decimals":"0"},"uah":{"name":"Ukrainian Hryvnia","rate":"28.147895256968"},"uyu":{"name":"Uruguayan Peso","rate":"43.449590389517","left":"U$ ","decimals":"2","point":"."},"uzs":{"name":"Uzbekistan Sum","rate":"10695.239047419"},"vuv":{"name":"Vanuatu vatu","rate":"111.64067338551","decimals":"2"},"ves":{"name":"Venezuelan Bolivar","rate":"4.4986279910696","decimals":"2","point":"."},"vnd":{"name":"Vietnamese Dong","rate":"22541.69479058","right":"\u20ab","decimals":"0"},"xof":{"name":"West African CFA Franc","rate":"574.29079697889","decimals":"2"},"yer":{"name":"Yemeni rial","rate":"246.22500931329","decimals":"2"},"zmw":{"name":"Zambian kwacha","rate":"17.807364167041","decimals":"2"}}; // var frForms = new Array(); function frExCalc(inverseCalc) { } function frCalcRate(formObj, inverseCalc) { if (formObj) { // form exists and we can proceed var baseCurObj = formObj.base_currency; var targetCurObj = formObj.target_currency; var baseValueObj = formObj.base_value; var targetValueObj = formObj.target_value; if (baseCurObj && targetCurObj && baseValueObj && targetValueObj) { if (baseCurObj.type == "select-one") { var baseCurrency = baseCurObj.options[baseCurObj.selectedIndex].value.toLowerCase(); } else { var baseCurrency = baseCurObj.value; } if (targetCurObj.type == "select-one") { var targetCurrency = targetCurObj.options[targetCurObj.selectedIndex].value.toLowerCase(); } else { var targetCurrency = targetCurObj.value; } var targetExRate = frCrExRs[targetCurrency]["rate"] / frCrExRs[baseCurrency]["rate"]; var targetValue = targetValueObj.value; var baseValue = baseValueObj.value; if (inverseCalc) { if (!targetValue || isNaN(targetValue)) { baseValueObj.value = ""; } else { baseValueObj.value = frFormatNumber(targetValue / targetExRate, 2, ".", ""); } } else { if (!baseValue || isNaN(baseValue)) { targetValueObj.value = ""; } else { targetValueObj.value = frFormatNumber(baseValue * targetExRate, 2, ".", ""); } } } } } function frFormatNumber(numberValue, decimals, decimalPoint, thousandsSeparator) { if (decimals == undefined) { decimals = 0; } if (thousandsSeparator == undefined) { thousandsSeparator = ","; } var numberParts = ""; var roundValue = 1; for (var d = 0; d < decimals; d++) { roundValue *= 10; } numberValue = Math.round(numberValue * roundValue) / roundValue; var numberSign = ""; if (numberValue < 0) { numberSign = "-"; numberValue = Math.abs(numberValue); } var numberText = new String(numberValue); var numberParts = numberText.split("."); var beforeDecimal = numberParts[0]; var afterDecimal = ""; numberText = ""; if (numberParts.length == 2) { afterDecimal = numberParts[1]; } while (beforeDecimal.length > 0) { if (beforeDecimal.length > 3) { numberText = thousandsSeparator + beforeDecimal.substring(beforeDecimal.length - 3, beforeDecimal.length) + numberText; beforeDecimal = beforeDecimal.substring(0, beforeDecimal.length - 3); } else { numberText = beforeDecimal + numberText; beforeDecimal = ""; } } if (decimals > 0) { while (afterDecimal.length < decimals) { afterDecimal += "0"; } if (decimalPoint == undefined) { decimalPoint = "."; } numberText += decimalPoint + afterDecimal; } numberText = numberSign + numberText; return numberText; } //document.getElementById("myBtn").addEventListener("click", function() { myFunction(p1, p2);}); function frInit() { // check all available forms on page var frForms = new Array(); var formIndex = ""; var formObj = document.getElementById("frConverter"); if (formObj) { // empty form exists frForms[frForms.length] = formObj; } formIndex = 1; formObj = document.getElementById("frConverter1"); while (formObj) { frForms[frForms.length] = formObj; formIndex++; formObj = document.getElementById("frConverter" + formIndex); } var objs = document.getElementsByClassName("frConverter"); for (var ob = 0; ob < objs.length; ob++) { formObj = objs[ob]; if (formObj) { frForms[frForms.length] = formObj; } } //if (form[i].type == "text" || form[i].type == "hidden" || form[i].type == "select-one") { // check link first and add it if it does not exists for (var f = 0; f < frForms.length; f++) { (function () { formObj = frForms[f]; var passObj = formObj; var isLink = true; var linkObj = document.getElementById("frLink"); if (!linkObj) { objs = formObj.getElementsByClassName("frLink"); if (objs && objs[0]) { linkObj = objs[0]; } } var linkHref = ""; if (linkObj) { linkHref = linkObj.href; } var hrefRegex = /floatrates.com/i; if (!linkObj || !hrefRegex.exec(linkHref)) { isLink = false; } else { var linkTitle = linkObj.innerHTML.toLowerCase(); var regex = /currency\s*converter|exchange\s*rates|convert/i; if (!regex.exec(linkTitle)) { isLink = false; } } if (!isLink) { formObj.innerHTML = formObj.innerHTML + ("Exchange Rates"); } // populate select box controls if they empty var selectedOpt = false; var totalOptions = 0; var baseCurObj = formObj.base_currency; var targetCurObj = formObj.target_currency; var baseValObj = formObj.base_value; var targetValObj = formObj.target_value; if (baseCurObj && baseCurObj.type == "select-one") { totalOptions = baseCurObj.options.length; if (totalOptions == 0) { var defaultBase = ""; if (formObj.default_base) { defaultBase = formObj.default_base.value; } for (var curCode in frCrExRs) { if (defaultBase.toLowerCase() == curCode) { selectedOpt = true; } else { selectedOpt = false; } baseCurObj.options[baseCurObj.options.length] = new Option(frCrExRs[curCode]["name"], curCode); if (selectedOpt) { baseCurObj.options[baseCurObj.options.length - 1].selected = true; } } } } if (targetCurObj && targetCurObj.type == "select-one") { totalOptions = targetCurObj.options.length; if (totalOptions == 0) { var defaultTarget = ""; if (formObj.default_target) { defaultTarget = formObj.default_target.value; } for (var curCode in frCrExRs) { if (defaultTarget.toLowerCase() == curCode) { selectedOpt = true; } else { selectedOpt = false; } targetCurObj.options[targetCurObj.options.length] = new Option(frCrExRs[curCode]["name"], curCode); if (selectedOpt) { targetCurObj.options[targetCurObj.options.length - 1].selected = true; } } } } // end populate controls // add events to currency controls if (baseCurObj) { baseCurObj.addEventListener("change", function() { frCalcRate(passObj, false); } ); baseCurObj.addEventListener("keyup", function() { frCalcRate(passObj, false); } ); } if (targetCurObj) { targetCurObj.addEventListener("change", function() { frCalcRate(passObj, false); } ); targetCurObj.addEventListener("keyup", function() { frCalcRate(passObj, false); } ); } if (baseValObj) { baseValObj.addEventListener("keyup", function() { frCalcRate(passObj, false); } ); } if (targetValObj) { targetValObj.addEventListener("keyup", function() { frCalcRate(passObj, true); } ); } // calculate initial rate frCalcRate(formObj, false); }()) } var priceObjs = document.getElementsByClassName("frPrice"); for (var p = 0; p < priceObjs.length; p++) { var priceObj = priceObjs[p]; var priceValue = priceObj.getAttribute("data-value"); var baseCurrency = priceObj.getAttribute("data-base"); if (!baseCurrency) { baseCurrency = "usd"; } baseCurrency = baseCurrency.toLowerCase(); var targetCurrency = priceObj.getAttribute("data-target"); if (!targetCurrency) { targetCurrency = "usd"; } targetCurrency = targetCurrency.toLowerCase(); if (priceValue && !isNaN(priceValue) && frCrExRs[baseCurrency] && frCrExRs[targetCurrency]) { var cLeft = ""; var cRight = ""; var cDecimals = ""; var cPoint = ""; var cSeparator = ""; if (priceObj.hasAttribute("data-left") || priceObj.hasAttribute("data-right")) { if (priceObj.hasAttribute("data-left")) { cLeft = priceObj.getAttribute("data-left"); } if (priceObj.hasAttribute("data-right")) { cRight = priceObj.getAttribute("data-right"); } } else { if (frCrExRs[targetCurrency]["left"]) { cLeft = frCrExRs[targetCurrency]["left"]; } if (frCrExRs[targetCurrency]["right"]) { cRight = frCrExRs[targetCurrency]["right"]; } } if (priceObj.hasAttribute("data-decimals")) { cDecimals = priceObj.getAttribute("data-decimals"); } else if (frCrExRs[targetCurrency]["decimals"]) { cDecimals = frCrExRs[targetCurrency]["decimals"]; } if (priceObj.hasAttribute("data-point")) { cPoint = priceObj.getAttribute("data-point"); } else if (frCrExRs[targetCurrency]["point"]) { cPoint = frCrExRs[targetCurrency]["point"]; } else { cPoint = "."; } if (priceObj.hasAttribute("data-separator")) { cSeparator = priceObj.getAttribute("data-separator"); } else if (frCrExRs[targetCurrency]["separator"]) { cSeparator = frCrExRs[targetCurrency]["separator"]; } // show target value var targetRate = frCrExRs[targetCurrency]["rate"] / frCrExRs[baseCurrency]["rate"]; priceObj.innerHTML = cLeft + frFormatNumber((priceValue*targetRate), cDecimals, cPoint, cSeparator) + cRight; } } } frInit(); //frExCalc();