+function check_date() {
+ if (!is_date(get_post('reconcile_date'))) {
+ display_error(_("Invalid reconcile date format"));
+ set_focus('reconcile_date');
+ return false;
+ }
+ return true;
+}
+//
+// This function can be used directly in table pager
+// if we would like to change page layout.
+//
+function rec_checkbox($row)
+{
+ $name = "rec_" .$row['id'];
+ $hidden = 'last['.$row['id'].']';
+ $value = $row['reconciled'] != '';
+
+// save also in hidden field for testing during 'Reconcile'
+ return checkbox(null, $name, $value, true, _('Reconcile this transaction'))
+ . hidden($hidden, $value, false);
+}
+
+function systype_name($dummy, $type)
+{
+ global $systypes_array;
+
+ return $systypes_array[$type];
+}
+
+function trans_view($trans)
+{
+ return get_trans_view_str($trans["type"], $trans["trans_no"]);
+}
+
+function gl_view($row)
+{
+ return get_gl_view_str($row["type"], $row["trans_no"]);
+}
+
+function fmt_debit($row)
+{
+ $value = $row["amount"];
+ return $value>=0 ? price_format($value) : '';
+}
+
+function fmt_credit($row)
+{
+ $value = -$row["amount"];
+ return $value>0 ? price_format($value) : '';
+}
+
+function fmt_person($row)
+{
+ return payment_person_name($row["person_type_id"],$row["person_id"]);
+}
+
+$update_pager = false;
+function update_data()
+{
+ global $Ajax, $update_pager;
+
+ unset($_POST["beg_balance"]);
+ unset($_POST["end_balance"]);
+ $Ajax->activate('summary');
+ $update_pager = true;
+}
+//---------------------------------------------------------------------------------------------
+// Update db record if respective checkbox value has changed.