diff options
| author | Adam Soltys <[email protected]> | 2012-11-06 20:59:25 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2012-11-06 22:56:57 -0800 |
| commit | 5f907fcf5b98c5be780bb0edfe830b96d068e585 (patch) | |
| tree | 6819e040a4bc8f41330103dd9cb54ba528c550d1 /js/bitcoin_pos.js | |
| parent | 08f341f692688f077e9080bded2b14fdd5979c1e (diff) | |
| download | coinos-server-5f907fcf5b98c5be780bb0edfe830b96d068e585.tar.gz coinos-server-5f907fcf5b98c5be780bb0edfe830b96d068e585.zip | |
Use node and express
Diffstat (limited to 'js/bitcoin_pos.js')
| -rw-r--r-- | js/bitcoin_pos.js | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/js/bitcoin_pos.js b/js/bitcoin_pos.js deleted file mode 100644 index 5d8f551b..00000000 --- a/js/bitcoin_pos.js +++ /dev/null @@ -1,157 +0,0 @@ -$(function() { - var websocket = null; - var client = getParameterByName('client'); - var title = getParameterByName('title'); - var address = getParameterByName('address'); - var commission = getParameterByName('commission'); - var logo = getParameterByName('logo'); - var exchange = 0; - - setupPage(); - setupQR(); - setupSocket(); - - if (client != "") { - $.getJSON('client.json', { name: client }, function(data) { - title = data.title; - address = data.address; - commission = data.commission; - logo = data.logo; - setupPage(); - }); - } - - $('#amount').keyup(updateTotal); - $('#amount').focus(); - $('#amount').focus(function() { - $('#received').hide(); - $('#payment').fadeIn('slow'); - $(this).val(''); - updateTotal(); - }); - - $('#error').click(function() { - location.reload(); - }); - - function updateTotal() { - var amount = parseFloat($('#amount').val()); - var total = amount / exchange; - total = Math.ceil(total * 10000) / 10000; - - if (!$.isNumeric(total)) { - total = ''; - } - - $('#total').html(total.toString()); - displayQR('bitcoin:' + address + '?amount=' + total.toString()); - } - - function exchangeFail() { - $('#error').show().html("Error fetching exchange rate"); - $('#calculator').hide(); - } - - function fetchExchangeRate() { - $.getJSON('ticker.php') - .success(function (data) { - if (data == null) { - exchangeFail(); - return; - } - - exchange = 1000 / data.out; - exchange = exchange - exchange * commission * 0.01; - exchange = Math.ceil(exchange * 100) / 100; - $('#exchange').val(exchange.toFixed(2)); - updateTotal(); - - $('#error').hide(); - $('#calculator').fadeIn('slow'); - } - ).error(exchangeFail); - - setTimeout(fetchExchangeRate, 900000); - } - - function setupPage() { - if (address == "") - address = '1VAnbtCAnYccECnjaMCPnWwt81EHCVgNr' - - if (commission == "") - commission = 3; - - if (logo != "") - $('#logo').attr('src', logo).show(); - else - $('#title').html(title); - - $('#address').html(address); - $('#received').hide(); - } - - function setupSocket() { - setTimeout(setupSocket, 10000); - - if (!websocket || websocket.readyState != 1) { - websocket = new WebSocket("ws://api.blockchain.info:8335/inv"); - - websocket.onopen = function() { - websocket.send('{"op":"addr_sub", "addr":"' + address + '"}'); - fetchExchangeRate(); - } - - websocket.onerror = websocket.onclose = function() { - $('#calculator').hide(); - $('#error').show().html("Error connecting to payment server"); - }; - - websocket.onmessage = function(e) { - var results = eval('(' + e.data + ')'); - var from_address = ''; - var total = 0; - var received = 0; - - $.each(results.x.out, function(i, v) { - if (v.addr == address) { - received += v.value / 100000000; - } - }); - - $.each(results.x.inputs, function(i, v) { - from_address = v.prev_out.addr - if (v.prev_out.addr == address) { - input -= v.prev_out.value / 100000000; - } - }); - - if (total <= received) { - $('#amount').blur(); - $('#payment').hide(); - $('#received').fadeIn('slow'); - } - - $.get('record_transaction.php', - { - address: from_address, - date: moment().format("YYYY-MM-DD HH:mm:ss"), - received: received, - exchange: exchange - } - ); - } - } - } -}); - -function getParameterByName(name) { - name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); - var regexS = "[\\?&]" + name + "=([^&#]*)"; - var regex = new RegExp(regexS); - var results = regex.exec(window.location.search); - - if(results == null) - return ""; - else - return decodeURIComponent(results[1].replace(/\+/g, " ")); -} |
