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