Hedera.Orders = new Class ({ Extends: Hedera.Form ,activate: function () { this.tpv = new Hedera.Tpv ({ conn: this.conn, hash: this.hash }); this.tpv.check (this._onTpvCheck.bind (this)); if (!this.$('from').value) { var from = new Date (); from.setDate (from.getDate () - 30); from.setHours (0, 0, 0, 0); this.$('from').value = from; } } ,_onTpvCheck: function (tpv, tpvOrder, tpvStatus) { if (tpvStatus === 'ko') this.$('error-dialog').show (); } ,onBasketClick: function () { this.hash.setAll ({'form': 'ecomerce/basket'}); } ,repeaterFunc: function (res, form) { res.$('link').href = this.hash.make ({ 'form': 'ecomerce/ticket', 'ticket': form.get ('ticket_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').get('debt'); amount = amount <= 0 ? null : amount; var defaultAmountStr = ''; if (amount !== null) defaultAmountStr = Vn.Value.format (amount, '%.2d'); amount = parseFloat (prompt (_('AmountToPay:'), defaultAmountStr)); this.tpv.pay (amount, null); } ,onDialogResponse: function (dialog, response) { if (response == Htk.Dialog.Button.RETRY) this.tpv.retryPay (); } });