1 /**********************************************************************
2 Copyright (C) FrontAccounting, LLC.
3 Released under the terms of the GNU General Public License, GPL,
4 as published by the Free Software Foundation, either version 3
5 of the License, or (at your option) any later version.
6 This program is distributed in the hope that it will be useful,
7 but WITHOUT ANY WARRANTY; without even the implied warranty of
8 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
10 ***********************************************************************/
11 function focus_alloc(i) {
13 i.setAttribute('_last', get_amount(i.name));
16 function blur_alloc(i) {
17 var change = get_amount(i.name);
19 if (i.name != 'amount' && i.name != 'charge' && i.name != 'discount')
20 change = Math.min(change, get_amount('maxval'+i.name.substr(6), 1))
22 price_format(i.name, change, user.pdec);
23 if (i.name != 'amount' && i.name != 'charge') {
24 if (change<0) change = 0;
25 change = change-i.getAttribute('_last');
26 if (i.name == 'discount') change = -change;
28 var total = get_amount('amount')+change;
29 price_format('amount', total, user.pdec, 0);
33 function allocate_all(doc) {
34 var amount = get_amount('amount'+doc);
35 var unallocated = get_amount('un_allocated'+doc);
36 var total = get_amount('amount');
38 total -= (amount-unallocated);
39 left -= (amount-unallocated);
46 price_format('amount'+doc, amount, user.pdec);
47 price_format('amount', total, user.pdec);
50 function allocate_none(doc) {
51 amount = get_amount('amount'+doc);
52 total = get_amount('amount');
53 price_format('amount'+doc, 0, user.pdec);
54 price_format('amount', total-amount, user.pdec);
58 '.amount': function(e) {
59 if(e.name == 'allocated_amount' || e.name == 'bank_amount')
61 e.onblur = function() {
62 var dec = this.getAttribute("dec");
63 price_format(this.name, get_amount(this.name), dec);
66 e.onblur = function() {
69 e.onfocus = function() {
76 Behaviour.register(allocations);