var frCrExRs = {"usd":{"name":"U.S. Dollar","rate":"1","left":"$","decimals":"2"},"eur":{"name":"Euro","rate":"0.8371532984381","left":"\u20ac","decimals":"2"},"gbp":{"name":"U.K. Pound Sterling","rate":"0.71900763768231","left":"\u00a3","decimals":"2"},"aud":{"name":"Australian Dollar","rate":"1.3163686444405","left":"A$ ","decimals":"2"},"cad":{"name":"Canadian Dollar","rate":"1.2300203691634","left":"C$ ","decimals":"2"},"jpy":{"name":"Japanese Yen","rate":"110.73712852774","left":"\u00a5","decimals":"0"},"chf":{"name":"Swiss Franc","rate":"0.91702783981258","left":"CHF ","decimals":"2"},"kmf":{"name":"\tComoro franc","rate":"413.28005255092","decimals":"0"},"afn":{"name":"Afghan afghani","rate":"78.867207086748","decimals":"2"},"all":{"name":"Albanian lek","rate":"102.41460701593","decimals":"2"},"dzd":{"name":"Algerian Dinar","rate":"133.16483785112","decimals":"2"},"aoa":{"name":"Angolan kwanza","rate":"650.84482758622","decimals":"2"},"ars":{"name":"Argentine Peso","rate":"95.347699207469","left":"$","decimals":"2"},"amd":{"name":"Armenia Dram","rate":"517.67075044804"},"awg":{"name":"Aruban florin","rate":"1.8047905909352","decimals":"2"},"azn":{"name":"Azerbaijan Manat","rate":"1.6950894630024"},"bsd":{"name":"Bahamian Dollar","rate":"0.99659432916206","decimals":"2"},"bhd":{"name":"Bahrain Dinar","rate":"0.37632790394189","left":"BD ","decimals":"3","point":"."},"bdt":{"name":"Bangladeshi taka","rate":"84.598867081202","decimals":"2"},"bbd":{"name":"Barbadian Dollar","rate":"2.0011975118903","left":"Bds$ ","decimals":"2","point":"."},"byn":{"name":"Belarussian Ruble","rate":"2.5262365273353"},"bzd":{"name":"Belize dollar","rate":"2.0098498562454","decimals":"2"},"bob":{"name":"Bolivian Boliviano","rate":"6.872367317162","left":"Bs. ","decimals":"2","point":"."},"bam":{"name":"Bosnia and Herzegovina convertible mark","rate":"1.6508068395505","decimals":"2"},"bwp":{"name":"Botswana Pula","rate":"10.838070628769","decimals":"2"},"brl":{"name":"Brazilian Real","rate":"4.9977045088662","left":"R$","decimals":"2"},"bnd":{"name":"Brunei Dollar","rate":"1.3420435153584","decimals":"2"},"bgn":{"name":"Bulgarian Lev","rate":"1.6369997017761","decimals":"2"},"bif":{"name":"Burundian franc","rate":"1973.2880292734","decimals":"0"},"khr":{"name":"Cambodian riel","rate":"4063.401506997","decimals":"2"},"cve":{"name":"Cape Verde escudo","rate":"93.207407407407","decimals":"0"},"xaf":{"name":"Central African CFA Franc","rate":"550.12888110793","decimals":"2"},"xpf":{"name":"CFP Franc","rate":"99.751605316705","decimals":"2"},"clp":{"name":"Chilean Peso","rate":"733.83889217574","decimals":"2"},"cny":{"name":"Chinese Yuan","rate":"6.4560576214692","decimals":"2"},"cop":{"name":"Colombian Peso","rate":"3759.8813754551","decimals":"2"},"cdf":{"name":"Congolese franc","rate":"1982.6155462185","decimals":"2"},"crc":{"name":"Costa Rican Col\u00f3n","rate":"617.6366202946","left":"\u20a1","decimals":"2","point":"."},"hrk":{"name":"Croatian Kuna","rate":"6.2745241965439","decimals":"2"},"cup":{"name":"Cuban peso","rate":"0.99659432916206","decimals":"2"},"czk":{"name":"Czech Koruna","rate":"21.327036694809","right":" K\u010d","decimals":"2","point":"."},"dkk":{"name":"Danish Krone","rate":"6.224072066515","left":"kr ","decimals":"2"},"djf":{"name":"Djiboutian franc","rate":"177.50035265905","decimals":"0"},"dop":{"name":"Dominican Peso","rate":"56.773990090091","left":"RD$ ","decimals":"2","point":"."},"xcd":{"name":"East Caribbean Dollar","rate":"2.7017606641856","decimals":"2"},"egp":{"name":"Egyptian Pound","rate":"15.676839662535","left":"E\u00a3","decimals":"2","point":"."},"ern":{"name":"Eritrean nakfa","rate":"15.033452807647","decimals":"2"},"etb":{"name":"Ethiopian birr","rate":"43.640462427744","decimals":"2"},"fjd":{"name":"Fiji Dollar","rate":"2.0566058294743","decimals":"2"},"gmd":{"name":"Gambian dalasi","rate":"51.781893004118","decimals":"2"},"gel":{"name":"Georgian lari","rate":"3.2390410915869","decimals":"2"},"ghs":{"name":"Ghanaian Cedi","rate":"5.8129042192796","decimals":"2"},"gip":{"name":"Gibraltar pound","rate":"0.71578414044054","decimals":"2"},"gtq":{"name":"Guatemalan Quetzal","rate":"7.7117466802861","decimals":"2"},"gnf":{"name":"Guinean franc","rate":"9779.5336787565","decimals":"0"},"gyd":{"name":"Guyanese dollar","rate":"208.24736580791","decimals":"2"},"htg":{"name":"Haitian gourde","rate":"93.669975186107","decimals":"2"},"hnl":{"name":"Honduran Lempira","rate":"23.891772151899","decimals":"2"},"hkd":{"name":"Hong Kong Dollar","rate":"7.7616955004818","left":"HK$ ","decimals":"2"},"huf":{"name":"Hungarian Forint","rate":"294.25465965939","decimals":"2"},"isk":{"name":"Icelandic Krona","rate":"123.0639556994","decimals":"2"},"inr":{"name":"Indian Rupee","rate":"74.189251755632","decimals":"2"},"idr":{"name":"Indonesian Rupiah","rate":"14440.749744278","decimals":"2"},"irr":{"name":"Iranian rial","rate":"41895.903407845","decimals":"2"},"iqd":{"name":"Iraqi dinar","rate":"1456.1059518246","decimals":"3"},"ils":{"name":"Israeli New Sheqel","rate":"3.2474520974331","left":"\u20aa","decimals":"2"},"jmd":{"name":"Jamaican Dollar","rate":"149.20553359684","decimals":"2"},"jod":{"name":"Jordanian Dinar","rate":"0.70848880026658","left":"JD","decimals":"3","point":"."},"kzt":{"name":"Kazakhstani Tenge","rate":"426.26352380414","decimals":"2"},"kes":{"name":"Kenyan shilling","rate":"107.43070180432","decimals":"2"},"kwd":{"name":"Kuwaiti Dinar","rate":"0.30081030910789","decimals":"2"},"kgs":{"name":"Kyrgyzstan Som","rate":"83.580082885866"},"lak":{"name":"Lao kip","rate":"9460.9022556392","decimals":"2"},"lbp":{"name":"Lebanese Pound","rate":"1505.3653355985","decimals":"2"},"lsl":{"name":"Lesotho loti","rate":"14.180691209617","decimals":"2"},"lrd":{"name":"Liberian dollar","rate":"170.80995475114","decimals":"2"},"lyd":{"name":"Libyan Dinar","rate":"4.4507452463302","decimals":"2"},"mop":{"name":"Macanese pataca","rate":"7.9807610993659","decimals":"2"},"mkd":{"name":"Macedonian denar","rate":"51.64163178199","decimals":"2"},"mga":{"name":"Malagasy ariary","rate":"3774.9000000001","decimals":"2"},"mwk":{"name":"Malawian kwacha","rate":"803.17021276597","decimals":"2"},"myr":{"name":"Malaysian Ringgit","rate":"4.1437415074334","decimals":"2"},"mvr":{"name":"Maldivian rufiyaa","rate":"15.414046549612","decimals":"2"},"mru":{"name":"Mauritanian ouguiya","rate":"36.020038167939","decimals":"2"},"mro":{"name":"Mauritanian Ouguiya","rate":"36.210012210013","left":"UM","decimals":"2","point":"."},"mur":{"name":"Mauritian Rupee","rate":"40.942516268982","decimals":"2"},"mxn":{"name":"Mexican Peso","rate":"19.795474449097","left":"Mex$ ","decimals":"2"},"mdl":{"name":"Moldova Lei","rate":"17.990891566684"},"mnt":{"name":"Mongolian togrog","rate":"2842.5451807229","decimals":"2"},"mad":{"name":"Moroccan Dirham","rate":"8.8336531279411","decimals":"2"},"mzn":{"name":"Mozambican metical","rate":"63.550505050507","decimals":"2"},"mmk":{"name":"Myanma Kyat","rate":"1641.2608695652","decimals":"2"},"nad":{"name":"Namibian dollar","rate":"14.175366128427","decimals":"2"},"npr":{"name":"Nepalese Rupee","rate":"118.66973868839","decimals":"2"},"ang":{"name":"Neth. Antillean Guilder","rate":"1.7916325787311","decimals":"2"},"twd":{"name":"New Taiwan Dollar ","rate":"27.89836820013","decimals":"2"},"tmt":{"name":"New Turkmenistan Manat","rate":"3.4909620259539"},"nzd":{"name":"New Zealand Dollar","rate":"1.412960975525","left":"NZ$ ","decimals":"2"},"nio":{"name":"Nicaraguan C\u00f3rdoba","rate":"34.975000369004","left":"C$ ","decimals":"2","point":"."},"ngn":{"name":"Nigerian Naira","rate":"409.92573128327","left":"\u20a6"},"nok":{"name":"Norwegian Krone","rate":"8.4851049071082","left":"kr ","decimals":"2"},"omr":{"name":"Omani Rial","rate":"0.38462247181673","decimals":"2"},"pkr":{"name":"Pakistani Rupee","rate":"154.64916893911","left":"\u20a8 ","decimals":"2"},"pab":{"name":"Panamanian Balboa","rate":"0.99659432916206","decimals":"2"},"pgk":{"name":"Papua New Guinean kina","rate":"3.5096047338955","left":"K","decimals":"2"},"pyg":{"name":"Paraguayan Guaran\u00ed","rate":"6778.5664856808","right":"\u20b2","decimals":"0","point":"."},"pen":{"name":"Peruvian Nuevo Sol","rate":"3.980201118156","decimals":"2"},"php":{"name":"Philippine Peso","rate":"48.524470824589","decimals":"2"},"pln":{"name":"Polish Zloty","rate":"3.775781917849","decimals":"2"},"qar":{"name":"Qatari Rial","rate":"3.6579390596524","decimals":"2"},"ron":{"name":"Romanian New Leu","rate":"4.122828999324","decimals":"2"},"rub":{"name":"Russian Rouble","rate":"72.166388770275","decimals":"2"},"rwf":{"name":"Rwandan franc","rate":"1002.6294820717","decimals":"0"},"svc":{"name":"Salvadoran colon","rate":"8.7280924855493","decimals":"2"},"wst":{"name":"Samoan tala","rate":"2.5346807224871","decimals":"2"},"stn":{"name":"S\u00e3o Tom\u00e9 and Pr\u00edncipe Dobra","rate":"20.707076247943","decimals":"2"},"sar":{"name":"Saudi Riyal","rate":"3.7498820581904","decimals":"2"},"rsd":{"name":"Serbian Dinar","rate":"96.520437441198","decimals":"2"},"scr":{"name":"Seychelles rupee","rate":"14.944180522566","decimals":"2"},"sll":{"name":"Sierra Leonean leone","rate":"10230.081300813","decimals":"2"},"sgd":{"name":"Singapore Dollar","rate":"1.3419057463913","left":"S$ ","decimals":"2"},"sbd":{"name":"Solomon Islands dollar","rate":"8.1303036829638","decimals":"2"},"sos":{"name":"Somali shilling","rate":"576.76088617268","decimals":"2"},"zar":{"name":"South African Rand","rate":"14.097670038476","left":"R ","decimals":"2"},"krw":{"name":"South Korean Won","rate":"1127.2029127578","left":"\u20a9","decimals":"2"},"ssp":{"name":"South Sudanese pound","rate":"177.34191487363","decimals":"2"},"lkr":{"name":"Sri Lanka Rupee","rate":"198.85943905566","decimals":"2"},"sdg":{"name":"Sudanese pound","rate":"438.94186046512","decimals":"2"},"srd":{"name":"Surinamese dollar","rate":"20.752611324904","decimals":"2"},"szl":{"name":"Swazi lilangeni","rate":"14.175366128427","decimals":"2"},"sek":{"name":"Swedish Krona","rate":"8.4664939035731","left":"kr ","decimals":"2"},"syp":{"name":"Syrian pound","rate":"2516.6","decimals":"2"},"tjs":{"name":"Tajikistan Ruble","rate":"11.30707065543"},"tzs":{"name":"Tanzanian shilling","rate":"2311.6350275567","decimals":"2"},"thb":{"name":"Thai Baht","rate":"31.60456162733","left":"\u0e3f","decimals":"2"},"top":{"name":"Tongan pa\u02bbanga","rate":"2.208964831178","decimals":"2"},"ttd":{"name":"Trinidad Tobago Dollar","rate":"6.7771992818671","decimals":"2"},"tnd":{"name":"Tunisian Dinar","rate":"2.7353290416104","decimals":"2"},"try":{"name":"Turkish Lira","rate":"8.7077640075889","decimals":"2"},"aed":{"name":"U.A.E Dirham","rate":"3.665980142284","decimals":"2"},"ugx":{"name":"Ugandan shilling","rate":"3564.5892351275","decimals":"0"},"uah":{"name":"Ukrainian Hryvnia","rate":"27.3951623658"},"uyu":{"name":"Uruguayan Peso","rate":"43.523148160341","left":"U$ ","decimals":"2","point":"."},"uzs":{"name":"Uzbekistan Sum","rate":"10543.053122047"},"vuv":{"name":"Vanuatu vatu","rate":"109.54439930354","decimals":"2"},"ves":{"name":"Venezuelan Bolivar","rate":"3172184.8739496","decimals":"2","point":"."},"vnd":{"name":"Vietnamese Dong","rate":"23000.714230262","right":"\u20ab","decimals":"0"},"xof":{"name":"West African CFA Franc","rate":"549.66288763831","decimals":"2"},"yer":{"name":"Yemeni rial","rate":"250.75727381427","decimals":"2"},"zmw":{"name":"Zambian kwacha","rate":"22.523269689738","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();