Hedera.Orders = new Class({ Extends: Hedera.Form, activate: function() { this.tpv = new Hedera.Tpv({conn: this.conn}); this.tpv.check(this._onTpvCheck.bind(this)); }, _onTpvCheck: function(tpv, tpvOrder, tpvStatus) { if (tpvStatus === 'ko') this.$.errorDialog.show(); }, onBasketClick: function() { this.hash.set({form: 'ecomerce/basket'}); }, repeaterFunc: function(res, form) { res.$.link.href = this.hash.make({ form: 'ecomerce/ticket', ticket: form.get('id') }); }, // TPV balanceConditionalFunc: function(field, value) { if (value >= 0) Vn.Node.removeClass(this.$.balance, 'negative'); else Vn.Node.addClass(this.$.balance, 'negative'); }, onPayButtonClick: function() { var amount = -this.$.debt.value; amount = amount <= 0 ? null : amount; var defaultAmountStr = ''; if (amount !== null) defaultAmountStr = Vn.Value.format(amount, '%.2d'); amount = prompt(_('AmountToPay:'), defaultAmountStr); if (amount != null) { amount = parseFloat(amount.replace(',', '.')); this.tpv.pay(amount, null); } }, onDialogResponse: function(dialog, response) { if (response == Htk.Dialog.Button.RETRY) this.tpv.retryPay(); } });