diff options
| author | Adam Soltys <[email protected]> | 2012-10-18 16:28:00 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2012-10-18 16:28:00 -0700 |
| commit | 499fe9e7cca00b7c10ef92c3c93e3dd720603797 (patch) | |
| tree | bdeef85cf8dca0f94cfac7bddd49ff6d1768fcd8 /js/bitcoin_pos.js | |
| parent | 1e7d9ec61732e79da4eee5af6f7a9e2ce3a2ed4a (diff) | |
| download | coinos-server-499fe9e7cca00b7c10ef92c3c93e3dd720603797.tar.gz coinos-server-499fe9e7cca00b7c10ef92c3c93e3dd720603797.zip | |
Rename js and css files
Diffstat (limited to 'js/bitcoin_pos.js')
| -rw-r--r-- | js/bitcoin_pos.js | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/js/bitcoin_pos.js b/js/bitcoin_pos.js new file mode 100644 index 00000000..4cbe9ad4 --- /dev/null +++ b/js/bitcoin_pos.js @@ -0,0 +1,89 @@ +$(function() { + var websocket = new WebSocket("ws://api.blockchain.info:8335/inv"); + var exchange = 0; + var total = 0; + var received = 0; + var address = getParameterByName('address'); + + setupqr(); + + if (address == "") + window.location = 'index.html?address=1SoLtySab29J2tAdF2x3PosjnwWF37wEY' + + $('#address').html(address); + + websocket.onopen = function() { + websocket.send('{"op":"addr_sub", "addr":"' + address + '"}'); + } + + websocket.onmessage = function(e) { + var results = eval('(' + e.data + ')'); + var from_address = ''; + + $.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; + } + }); + + $('#status').html('Received: ' + received.toString()); + if (total <= received) { + $('#status').css('color', 'green'); + } + + $.get('record_transaction.php', + { + address: from_address, + date: getFormattedDate(), + received: received, + exchange: exchange + } + ); + } + + $.getJSON('ticker.json', function (data) { + exchange = 100 / data.out; + exchange = exchange + exchange * 0.03; + exchange = Math.ceil(exchange * 100) / 100; + $('#exchange').val(exchange); + updateTotal(); + }); + + $('#owing').keyup(updateTotal); + $('#owing').focus(); + + function updateTotal() { + var owing = parseFloat($('#owing').val()); + total = owing / exchange; + total = Math.ceil(total * 10000) / 10000; + if (!$.isNumeric(total)) total = ''; + $('#total').html(total.toString()); + doqr('bitcoin:' + address + '?amount=' + total.toString()); + } +}); + +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, " ")); +} + +function getFormattedDate() { + var date = new Date(); + var str = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); + + return str; +} + |
