]> asedeno.scripts.mit.edu Git - bluechips.git/blob - bluechips/public/js/calculator.js
We have pie charts.
[bluechips.git] / bluechips / public / js / calculator.js
1 function validateSplit(input) {
2     if (!input.match(/^[\d\+\/\*\-\(\)\. ]*$/)) {
3         return Number.NaN;
4     }
5     if (input.match(/([\+\/\*\-])\1/)) {
6         return Number.NaN;
7     }
8     try {
9         v = eval(input);
10     } catch (err) {
11         return Number.NaN;
12     }
13     if (v == null) {
14         return 0;
15     }
16     return v;
17 }
18
19 function calcSplit() {
20     amount = document.getElementById("amount").value;
21     total = 0;
22         var values = new Array();
23     textvals = document.getElementsByClassName("share-text");
24     for (i=0; i<textvals.length; i++) {
25         v = validateSplit(textvals[i].value);
26         if (!isNaN(v)) {
27             total += v;
28         }
29         values[i] = v;
30     }
31     for (i=0; i<textvals.length; i++) {
32         id = textvals[i].id+'-calc';
33         val = (amount*values[i]/total).toFixed(2);
34         document.getElementById(id).innerHTML = val;
35     }
36 }
37
38 window.onload=calcSplit;