exchange rates
HTML
$5 - <span class="exchange">$5</span>
<br> 5 евро - <span class="exchange">5 евро</span>
<br> 5 рублей - <span class="exchange">5 рублей</span>
<br> 5 долларов - <span class="exchange">5 долларов</span>
<br> € 5 - <span class="exchange">€ 5</span>
<br> 5р. - <span class="exchange">5р.</span>
JavaScript
var EXCHANGE_DOLLAR = '$';
var EXCHANGE_RUBLE = 'R';
var EXCHANGE_EURO = 'E';
var EXCHANGE_LANGUAGES = {
English: 'eng',
Russian: 'rus'
};
// SETTINGS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
var EXCHANGE_SETTINGS = {
language: EXCHANGE_LANGUAGES.Russian,
primary: EXCHANGE_RUBLE,
secondary: [EXCHANGE_DOLLAR, EXCHANGE_EURO],
all: [EXCHANGE_DOLLAR, EXCHANGE_EURO, EXCHANGE_RUBLE]
};
// =====================================================================
if (!String.prototype.format2) {
String.prototype.format2 = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined' ? args[number] : match;
});
};
}
// =====================================================================
/* money.js 0.2, MIT license, http://openexchangerates.github.io/money.js */
(function(g, j) {
var b = function(a) {
return new i(a)
};
b.version = "0.1.3";
var c = g.fxSetup || {
rates: {},
base: ""
};
b.rates = c.rates;
b.base = c.base;
b.settings = {
from: c.from || b.base,
to: c.to || b.base
};
var h = b.convert = function(a, e) {
if ("object" === typeof a && a.length) {
for (var d = 0; d < a.length; d++) a[d] = h(a[d], e);
return a
}
e = e || {};
if (!e.from) e.from = b.settings.from;
if (!e.to) e.to = b.settings.to;
var d = e.to,
c = e.from,
f = b.rates;
f[b.base] = 1;
if (!f[d] || !f[c]) throw "fx error";
d = c === b.base ? f[d] : d === b.base ? 1 / f[c] : f[d] * (1 / f[c]);
return a * d
},
i = function(a) {
"string" === typeof a ? (this._v = parseFloat(a.replace(/[^0-9-.]/g, "")), this._fx = a.replace(/([^A-Za-z])/g, "")) : this._v = a
},
c = b.prototype = i.prototype;
c.convert = function() {
var a = Array.prototype.slice.call(arguments);
a.unshift(this._v);
return h.apply(b, a)
};
...