var total_fair; var total_euro; var total_market; $(function() { ajax({ type: "GET", url: "https://api.fairplayground.info/rawdata/faircoin_prices.csv", }, processData); function processData(data) { if(data) priceData = csvToArray(data); // $(".inner-cont").append("priceData: "); // $(".inner-cont").append(priceData); var heads = "

If you're happy with the FairCoin Calculator, you can donate at fMGcrP9nAFic4356F4oHDDWVq8YvtJSXZL"; $("body").append(heads); if (priceData) { var heads = 'Official RateOfficial ValueMarket Value'; if($("thead tr").length){ // faircoin 2 $("thead tr").append(heads); $('tbody').each(function() { total_fair = total_euro = total_market = 0; $(this).find('tr').each(function() { var dateVar = $(this).find('td:first').text(); var d = new Date(dateVar); var dateISO = d.toISOString().slice(0, 10); var faircoins = parseFloat($(this).find('td:nth-child(3)').text()); // $(this).append(''+faircoins+''); calculateEuros(dateISO, faircoins, this); }); $(this).append('Totals' + (Math.round(total_fair * 100) / 100) + ' FAIR€ ' + (Math.round(total_euro * 100) / 100) + '€ ' + (Math.round(total_market * 100) / 100) + ''); }); } else { // faircoin 1 $("tbody tr:first-child").append(heads); $('tbody tr.direct').each(function() { var dateVar = $(this).find('td:nth-child(3)').text(); var d = new Date(dateVar); var dateISO = d.toISOString().slice(0, 10); var faircoins = cleanUpCurrency($(this).find('td:nth-child(4)').text()); // $(this).append(''+faircoins+''); calculateEuros(dateISO, faircoins, this); }); } } }; function calculateEuros(date, faircoins, el) { if (!faircoins) { console.log("please, fill the faircoin input box"); return; } if (!date) { console.log("no date"); return; } //let's find the date in the priceData var selectedPriceData = []; for (var i = 0; i < priceData.length; i++) { if (priceData[i][0] == date) { selectedPriceData = priceData[i]; } } if (selectedPriceData.length < 1) { console.log("selected date not found in the dataset"); return; } // console.log(selectedPriceData); var euros = faircoins * selectedPriceData[3]; var market = faircoins * selectedPriceData[2]; total_fair = total_fair+faircoins; total_euro = total_euro+euros; total_market = total_market+market; $(el).append('' + parseFloat(selectedPriceData[3]).toString() + ''); $(el).append('€ ' + (Math.round(euros * 100) / 100) + ''); $(el).append('€ ' + (Math.round(market * 100) / 100) + ''); } function ajax (options, callback) { var xhr; xhr = new XMLHttpRequest(); xhr.open(options.type, options.url, options.async || true); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { return callback(xhr.responseText); } }; return xhr.send(); }; function csvToArray(csv) { var a1 = csv.split("\n"); var r = []; for (var i = 0; i < a1.length; i++) { var a2 = a1[i].split(","); r.push(a2); } return (r); } function cleanUpCurrency(s){ var expression = /\(.(.+)\)/; //Check if it is in the proper format if(s.match(expression)){ //It matched - strip out parentheses and append - at front return parseFloat('-' + s.replace(/[\$\(\),]/g,'')); } else{ return parseFloat(s); } } });