<?php
/**********************************************************************
***********************************************************************/
$page_security = 'SA_BANKTRANSVIEW';
$path_to_root = "../..";

include($path_to_root . "/includes/session.inc");



include_once($path_to_root . "/includes/date_functions.inc");
include_once($path_to_root . "/includes/ui.inc");

include_once($path_to_root . "/gl/includes/gl_db.inc");
include_once($path_to_root . "/admin/db/list_values_db.inc"); 
include_once($path_to_root . "/payroll/includes/db/emp_trans_db.inc"); 
include_once($path_to_root . "/petty_cash/includes/db/i_owe_you_db.inc"); 

$js = "";
if ($SysPrefs->use_popup_windows)
	$js .= get_js_open_window(900, 500);

global $systypes_array;



if (isset($_GET["trans_no"]))
{
	$trans_no = $_GET["trans_no"];
}
if (isset($_GET["trans_type"]))
{
	$trans_type = $_GET["trans_type"];
}

page(_($help_context = "View ".$systypes_array[$trans_type]), true, false, "", $js);

// get the pay-from bank payment info
$result = get_bank_trans($trans_type, $trans_no);

if (db_num_rows($result) != 1)
	display_db_error("duplicate payment bank transaction found", "");

$from_trans = db_fetch($result);

$company_currency = get_company_currency();

$show_currencies = false;

if ($from_trans['bank_curr_code'] != $from_trans['settle_curr'])
{
	$show_currencies = true;
}

display_heading($systypes_array[$trans_type] . " #$trans_no");

echo "<br>";
start_table(TABLESTYLE, "width=80%");

if ($show_currencies)
{
	$colspan1 = 1;
	$colspan2 = 7;
}
else
{
	$colspan1 = 3;
	$colspan2 = 5;
}
start_row();
label_cells(_("From Bank Account"), $from_trans['bank_account_name'], "class='tableheader2'");
if ($show_currencies)
	label_cells(_("Currency"), $from_trans['bank_curr_code'], "class='tableheader2'");
label_cells(_("Amount"), number_format2(-$from_trans['amount'], user_price_dec()), "class='tableheader2'", "align=left");
label_cells(_("Date"), sql2date($from_trans['trans_date']), "class='tableheader2'");
end_row();
start_row();

$float_name = "";
$iou_id = 0;

    if ($from_trans["person_type_id"] == PT_EMPLOYEE) {
        $emp_tra = get_emp_trans($from_trans["trans_no"], $from_trans["type"]);
            label_cells(_("Paid To"), payment_person_name($from_trans['person_type_id'], $emp_tra['company_code'], true, $emp_tra["employee_id"]), "class='tableheader2'", "colspan=$colspan1");
    } 
    elseif($from_trans["person_type_id"] == PT_IOU) {
        $iou_id = $from_trans['person_id'];
        $iou_row = get_i_owe_you_record($iou_id);
        $float_name = get_petty_cash_float_name($iou_row['float_id']);
        label_cells(_("Paid To"), payment_person_name($from_trans['person_type_id'], $from_trans['person_id']), "class='tableheader2'");
    }
    else {
        label_cells(_("Paid To"), payment_person_name($from_trans['person_type_id'], $from_trans['person_id']), "class='tableheader2'", "colspan=$colspan1");
    }
    
    label_cells(_("Float"), $float_name, "class='tableheader2'");

if ($show_currencies)
{
	label_cells(_("Settle currency"), $from_trans['settle_curr'], "class='tableheader2'");
	label_cells(_("Settled amount"), number_format2($from_trans['settled_amount'], user_price_dec()), "class='tableheader2'");
}
label_cells(_("Payment Type"), $bank_transfer_types[$from_trans['account_type']], "class='tableheader2'");
end_row();
start_row();
label_cells(_("Reference"), $from_trans['ref'], "class='tableheader2'");

$iou_link = get_petty_cash_trans_view_str(ST_I_OWE_YOU, $iou_id);
label_cells(_("IOU"), $iou_link, "class='tableheader2'");
    $gl_trns_type = get_list_value($from_trans['gl_trans_type_id']);
        if (is_array($gl_trns_type)) {
            label_cells(_("GL Trans Type"), $gl_trns_type['value_name'], "class='tableheader2'");
        } else {
            label_cells(_("GL Trans Type"), '', "class='tableheader2'");
        }
end_row();
comments_display_row($trans_type, $trans_no);

end_table(1);

$voided = is_voided_display($trans_type, $trans_no, _("This payment has been voided."));

$items = get_gl_trans($trans_type, $trans_no);

if (db_num_rows($items)==0)
{
	display_note(_("There are no items for this payment."));
}
else
{

	display_heading2(_("Items for this Payment"));
	if ($show_currencies)
		display_heading2(_("Item Amounts are Shown in:") . " " . $company_currency);

    echo "<br>";
    start_table(TABLESTYLE, "width=80%");
    $dim = get_company_pref('use_dimension');
    if ($dim == 2)
        $th = array(_("Account Code"), _("Account Description"), _("Dimension")." 1", _("Dimension")." 2",
            _("Amount"), _("Memo"));
    else if ($dim == 1)
        $th = array(_("Account Code"), _("Account Description"), _("Dimension"),
            _("Amount"), _("Memo"));
    else
        $th = array(_("Account Code"), _("Account Description"),
            _("Amount"), _("Memo"));
	table_header($th);

    $k = 0; //row colour counter
	$total_amount = 0;

    while ($item = db_fetch($items))
    {

		if ($item["account"] != $from_trans["account_code"])
		{
    		alt_table_row_color($k);

        	label_cell($item["account"]);
    		label_cell($item["account_name"]);
            if ($dim >= 1)
                label_cell(get_dimension_string($item['dimension_id'], true));
            if ($dim > 1)
                label_cell(get_dimension_string($item['dimension2_id'], true));
    		amount_cell($item["amount"]);
    		label_cell($item["memo_"]);
    		end_row();
    		$total_amount += $item["amount"];
		}
	}

	label_row(_("Total"), number_format2($total_amount, user_price_dec()),"colspan=".(2+$dim)." align=right", "align=right");

	end_table(1);

	if (!$voided)
		display_allocations_from($from_trans['person_type_id'], $from_trans['person_id'], 1, $trans_no, $from_trans['settled_amount']);
}

end_page(true, false, false, $trans_type, $trans_no);
?>