Hedera.Ticket = new Class ({ Extends: Hedera.Form ,onTicketChange: function (ticket) { if (!ticket.value) return; var batch = new Sql.Batch (); batch.addValue ('ticket', ticket.value); this.conn.execQuery ('CALL clientTicketLog (#ticket)', null, batch); } ,onPrintClick: function () { var params = {ticket: this.$('ticket-id').value}; this.gui.openReport ('delivery-note', params); } ,subtotalRenderer: function (column, form) { column.value = this.subtotal (form); } ,repeaterFunc: function (res, form) { res.$('subtotal').value = this.subtotal (form); } ,subtotal: function (form) { var price = form.get ('price'); var discount = form.get ('discount'); if (price && form.get ('fixed')) return form.get ('amount') * price * ((100 - discount) / 100); else return null; } });