X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=js%2Fpayalloc.js;fp=js%2Fpayalloc.js;h=7bdd991483cac7f689082799c4ae30785006cbf8;hb=74eabb5769f01203484f13b9736c8a56011b48f4;hp=0000000000000000000000000000000000000000;hpb=ebc600101ceab69c06eac4b1bd4d1782af45de05;p=fa-stable.git diff --git a/js/payalloc.js b/js/payalloc.js new file mode 100644 index 00000000..7bdd9914 --- /dev/null +++ b/js/payalloc.js @@ -0,0 +1,64 @@ +/********************************************************************** + 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 . +***********************************************************************/ +function focus_alloc(i) { + save_focus(i); + i.setAttribute('_last', get_amount(i.name)); +} + +function blur_alloc(i) { + var change = get_amount(i.name); + 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);