<?php

//echo __FILE__;
//exit;

global $app_list_strings, $mod_strings, $db;

$pdf->focus = $this;
$pdf->Image($pdf->edt->logo_path,$pdf->lMargin,$pdf->tMargin,0,15);
// $db
// is multi corect??
$ret = $db->query ( "
SELECT distinct o.ecminvoiceout_id
FROM
    ecminvoiceoutitems as ii
INNER JOIN ecminvoiceouts as i
ON ii.ecminvoiceout_id = i.id
INNER JOIN ecminvoiceoutitems AS o
ON o.id = ii.ecminvoiceoutitem_id
WHERE
    ii.ecminvoiceout_id = '".$this->id."'");

if (mysql_num_rows($ret) > 1) $multi_correct = true;

$mod_strings = return_module_language('pl_pl', 'EcmInvoiceOutOlds', true);
$mod_strings2 = return_module_language('en_us', 'EcmInvoiceOutOlds', true);

/* BOF: Seller, buyer. */
$address = htmlspecialchars_decode($this->parent_name);//str_replace(array('&lt;', '&gt;'), array('<', '>'), $this->parent_name);

if ($this->parent_contact_name) {
    $address .= PHP_EOL . $this->parent_contact_name;

    if ($this->parent_contact_title) {
        $address .= PHP_EOL . $this->parent_contact_title;
    }

    $personplus = 5;
} else {
    $personplus = 0;
}

if ($this->parent_address_street) {
    $address .= PHP_EOL . $this->parent_address_street;
}

if ($this->parent_address_postalcode) {
    $address .= PHP_EOL . $this->parent_address_postalcode;
}

if ($this->parent_address_city) {
    $address .= " " . $this->parent_address_city;
}

//if($this->to_vatid) {
//    $address .= PHP_EOL.$mod_strings['LBL_PDF_VATID'] . '/' .  $mod_strings2['LBL_PDF_VATID'] . " ".$this->to_vatid;
//}

if ($this->to_nip) {
    $address .= PHP_EOL . $mod_strings['LBL_PDF_NIP'] . '/' .  $mod_strings2['LBL_PDF_NIP'] . ": " . $this->to_nip;
} elseif (!$this->to_nip && $this->to_vatid) {
    $address .= PHP_EOL . $mod_strings['LBL_PDF_NIP'] . '/' .  $mod_strings2['LBL_PDF_NIP'] . ": " . $this->to_vatid;
}

$qr = 'SELECT index_dbf FROM accounts WHERE id = \'' . $this->parent_id . '\'';
$r = $db->fetchByAssoc($db->query($qr));


$qr = 'SELECT iln, to_nip FROM accounts WHERE id = \'' . $this->parent_id . '\'';
$r = $db->fetchByAssoc($db->query($qr));

if ($r['iln']) {
    $address .= "\nILN: " . $r['iln'];
}

//to address
$old_x = $pdf->GetX();
$old_y = $pdf->GetY();

$pdf->SetXY(10, 53);
$pdf->SetFont('arialpl', 'B', 8);

$pdf->Cell(35, 1, strtoupper($mod_strings['LBL_PDF_SELLER'] . ' / ' .  $mod_strings2['LBL_PDF_SELLER']), 0, 0, 'L', 1);

$pdf->Ln(3);

$pdf->SetX(10);
$pdf->SetFont('arialpl', '', 8);

$qr = 'SELECT to_vatid FROM accounts WHERE id = \'' . $pdf->edt->account_id . '\'';
$r = $db->fetchByAssoc($db->query($qr));

$wys = $pdf->edt->name . PHP_EOL;

if ($pdf->edt->footer_address) {
    $wys .= $pdf->edt->footer_address . PHP_EOL;
}

if ($r['to_vatid']) {
	$wys.= $mod_strings['LBL_PDF_NIP'] . '/' .  $mod_strings2['LBL_PDF_NIP'] . ": " . $r['to_vatid'];
}

$pdf->MultiCell(60, 4, $wys, 0, 'L');

$pdf->SetXY(60, 53);
$pdf->SetFont('arialpl', 'B', 8);

$pdf->Cell(35, 1, strtoupper($mod_strings['LBL_PDF_BUYER'] . ' / ' .  $mod_strings2['LBL_PDF_BUYER'] ), 0, 0, 'L', 1);

$pdf->Ln(3);

$pdf->SetX(60);
$pdf->SetFont('arialpl', '', 8);
$pdf->MultiCell(50, 4, $address, 0, 'L');
/* EOF: Seller, buyer. */

if ($this->type == "correct") {
    $qr = "SELECT wz_id FROM ecminvoiceouts WHERE id = '" . $this->ecminvoiceout_id . "'";
    $r = $db->fetchByAssoc($db->query($qr));

    $wz_id = $r['wz_id'];
} else {
    $wz_id = $this->wz_id;
}

$qr = "SELECT * FROM ecmstockdocouts WHERE id='" . $wz_id . "'";
$r = $db->fetchByAssoc($db->query($qr));

if ($r['parent_id'] == $this->parent_id) {
    $qr = "SELECT name as parent_name,shipping_address_street as parent_address_street,shipping_address_city as parent_address_city,shipping_address_postalcode as parent_address_postalcode,shipping_address_country as parent_address_country FROM accounts WHERE id='" . $this->parent_id . "'";
    $r = $db->fetchByAssoc($db->query($qr));
}

/* BOF: Delivery. */
$address = str_replace(array('&lt;', '&gt;'), array('<', '>'), $this->parent_shipping_address_name);

if ($this->parent_shipping_address_street) {
    $address .= PHP_EOL . $this->parent_shipping_address_street;
}

if ($this->parent_shipping_address_postalcode) {
    $address .= PHP_EOL . $this->parent_shipping_address_postalcode;
}

if ($this->parent_shipping_address_city) {
    $address .= ' ' . $this->parent_shipping_address_city;
}

//if ($r['to_nip']) {
//    $address .= PHP_EOL . $mod_strings['LBL_PDF_NIP'] . '/' .  $mod_strings2['LBL_PDF_NIP'] . ": " . $r['to_nip'];
//} elseif (!$r['to_nip'] && $r['to_vatid']) {
//    $address .= PHP_EOL . $mod_strings['LBL_PDF_NIP'] . '/' .  $mod_strings2['LBL_PDF_NIP'] . ": " . $r['to_vatid'];
//}
//
//$rr = $db->fetchByAssoc($db->query("SELECT iln FROM accounts WHERE id='" . $r['parent_id'] . "'"));
//
//if ($rr['iln']) {
//    $address .= "\nILN: " . $rr['iln'];
//}

if ($address) {
    $pdf->SetXY(105, 53);

    $pdf->SetFont('arialpl', 'B', 8);
    $pdf->Cell(35, 1, strtoupper($mod_strings['LBL_PDF_DELIVERY'] . ' / ' .  $mod_strings2['LBL_PDF_DELIVERY']), 0, 0, 'L', 1);

    $pdf->Ln(3);

    $pdf->SetX(105);

    $pdf->SetFont('arialpl', '', 8);
    $pdf->MultiCell(60, 4, $address, 0, 'L');
}
/* EOF: Delivery. */

$ynew = 53 + 12;

$pc = null;

if ($this->ecmpaymentcondition_id) {
    require_once("modules/EcmPaymentConditions/EcmPaymentCondition.php");
    $pc = new EcmPaymentCondition();
    $pc->retrieve($this->ecmpaymentcondition_id);
}

$pdf->SetXY(160, $old_y + 15 + $personplus);

$table = array();

$table = array();

$table[0]['place_of_register'] = array(
		'width' => 20,
		'value' => $mod_strings2['LBL_PDF_PLACE_OF_REGISTER'].':'.PHP_EOL.$mod_strings['LBL_PDF_PLACE_OF_REGISTER'].':',
		'border' => 0,
		'overflow' => 1,
		'align' => 'L',
		'font-size' => 8,
);

$table[0]['place_of_register_value'] = array(
		'width' => 25,
		'value' => $this->template->place_of_register,
		'border' => 0,
		'overflow' => 1,
		'align' => 'L',
		'font-style' => 'b',
		'font-size' => 8,
);

$table[1]['date_reg'] = array(
		'width' => 20,
		'value' => $mod_strings2['LBL_PDF_DATE_REGISTER'].':'.PHP_EOL.$mod_strings['LBL_PDF_DATE_REGISTER'].':',
		'border' => 0,
		'overflow' => 1,
		'align' => 'L',
		'font-size' => 8,
);

$table[1]['date_reg_value'] = array(
		'width' => 36,
		'value' => $this->register_date,
		'border' => 0,
		'overflow' => 1,
		'align' => 'L',
		'font-style' => 'b',
		'font-size' => 8,
);

$table[2]['date_sell'] = array(
		'width' => 20,
		'value' => $mod_strings2['LBL_PDF_DATE_SELL'].':'.PHP_EOL.$mod_strings['LBL_PDF_DATE_SELL'].':',
		'border' => 0,
		'overflow' => 1,
		'align' => 'L',
		'font-size' => 8,
);

$table[2]['date_sell_value'] = array(
		'width' => 36,
		'value' => $this->sell_date,
		'border' => 0,
		'overflow' => 1,
		'align' => 'L',
		'font-style' => 'b',
		'font-size' => 8,
		'valign' => 'C',
);


if ($this->ecmpaymentcondition_id) {
	$table[4]['payment_termin'] = array(
			'width' => 20,
			'value' => $mod_strings2['LBL_PDF_PAYMENT_TERMIN'].':'.PHP_EOL.$mod_strings['LBL_PDF_PAYMENT_TERMIN'].':',
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-size' => 8,
	);

	//$r = $db->fetchByAssoc($db->query("SELECT paid FROM ecminvoiceouts WHERE id='" . $_REQUEST['record'] . "'"));

	if ($this->total - $this->paid_val == 0) {
		$paid = "Paid";
	} else {
		$paid = $this->payment_date;
	}
		$table[4]['payment_termin_value'] = array(
				'width' => 36,
				'value' => $paid,
				'border' => 0,
				'overflow' => 1,
				'align' => 'L',
				'font-style' => 'b',
				'font-size' => 8,
		);
	
}
if ($this->total - $this->paid_val!=0) {
if ($this->ecmpaymentcondition_id) {
	$table[5]['payment_method'] = array(
			'width' => 20,
			'value' => $mod_strings2['LBL_PDF_PAYMENT_METHOD'].':'.PHP_EOL.$mod_strings['LBL_PDF_PAYMENT_METHOD'].':',
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-size' => 8,
	);
		$table[5]['payment_method_value'] = array(
				'width' => 25,
				'value' => $app_list_strings['ecmpaymentconditions_payment_method_dom'][$pc->payment_method],
				'border' => 0,
				'overflow' => 1,
				'align' => 'L',
				'font-style' => 'b',
				'font-size' => 8,
		);
	}
}

if ($this->supplier_code) {
	$table[6]['cr'] = array(
			'width' => 20,
			'value' => $mod_strings2['LBL_PDF_SUPPLIER_CODE'].':'.PHP_EOL.$mod_strings['LBL_PDF_SUPPLIER_CODE'].':',
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-size' => 8,
	);
	$table[6]['cr_value'] = array(
			'width' => 25,
			'value' => $this->supplier_code,
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-style' => 'b',
			'font-size' => 8,
	);
}

if ($this->type == "normal") {
	if (file_exists("modules/EcmStockDocOuts/EcmStockDocOut.php")) {
		require_once("modules/EcmStockDocOuts/EcmStockDocOut.php");
		$wz = new EcmStockDocOut();
		$wz->retrieve($this->wz_id);
	}

	$table[7]['wz'] = array(
			'width' => 20,
			'value' => $mod_strings2['LBL_PDF_TO_WZ'].':'.PHP_EOL.$mod_strings['LBL_PDF_TO_WZ'].':',
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-size' => 8,
	);

	$table[7]['wz_value'] = array(
			'width' => 25,
			'value' => $wz->document_no,
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-style' => 'b',
			'font-size' => 8,
	);
} else {
	if (! $multi_correct) {
	
		$this->loadEcmInvoiceOutOld ();
		$this->ecminvoiceoutold->format_all_fields ();
	
		$table [7] ['wz'] = array (
				'width' => 20,
				'value' => $mod_strings ['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'],
				'border' => 0,
				'overflow' => 1,
				'align' => 'L',
				'font-size' => 8
		);
		$table [7] ['wz_value'] = array (
				'width' => 25,
				'value' => $this->ecminvoiceout->document_no,
				'border' => 0,
				'overflow' => 1,
				'align' => 'L',
				'font-style' => 'b',
				'font-size' => 8
		);
	}
}

$r = $db->fetchByAssoc($db->query("SELECT so_id FROM ecminvoiceouts WHERE id='" . $this->id . "'"));
$this->so_id = $r['so_id'];

if (!$this->so_id) {
	$this->so_id = $_SESSION['invoice_so_id'];
}

$qr = "SELECT wz_id,order_no FROM ecminvoiceouts WHERE id = '" . $this->id . "'";
$r = $db->fetchByAssoc($db->query($qr));
$or=$r['order_no'];
$qr = "SELECT so_id FROM ecmstockdocouts WHERE id = '" . $r['wz_id'] . "'";
$r = $db->fetchByAssoc($db->query($qr));

$qr = "SELECT parent_document_no,order_no FROM ecmsales WHERE id = '" . $r['so_id'] . "'";
$r = $db->fetchByAssoc($db->query($qr));

if ($this->type != "correct") {
	$table[8]['order_no'] = array(
			'width' => 20,
			'value' => $mod_strings2['LBL_PDF_ORDER_NO'].':'.PHP_EOL.$mod_strings['LBL_PDF_ORDER_NO'].':',
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-size' => 8,
	);
	$table[8]['order_no_value'] = array(
			'width' => 25,
			'value' => $or,
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-style' => 'b',
			'font-size' => 8,
	);
}

if ($this->type != "normal") {
	if (!$this->so_id) {
		$this->so_id = $_SESSION['invoice_so_id'];
	}

	$qr_so = "SELECT * FROM ecmsales WHERE id='" . $this->so_id . "'";
	$r_so = $db->fetchByAssoc($db->query($qr_so));

	$table[9]['cr'] = array(
			'width' => 20,
			'value' => $mod_strings2['LBL_PDF_CORRECT_REASON'].':'.PHP_EOL.$mod_strings['LBL_PDF_CORRECT_REASON'].':',
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-size' => 8,
	);
	$table[9]['cr_value'] = array(
			'width' => 25,
			'value' => $this->order_no,
			'border' => 0,
			'overflow' => 1,
			'align' => 'L',
			'font-style' => 'b',
			'font-size' => 8,
	);
}
$pdf->SetXY(143, $pdf->tMargin);
$pdf->DrawTable($table, null, 0.5, 0.5, 3);

$pdf->Ln(9);

$pdf->SetFont('arialpl', '', '18');
$pdf->SetXY(60, $pdf->tMargin + 25);

if ($this->type == "normal") {
    $pdf->MultiCell(80, 7, "Faktura/Invoice" .PHP_EOL. $this->document_no, 0, 'C');
    $pdf->SetFont('arialpl', 'B', 7);
    $pdf->Ln(3);
    $pdf->SetX(60);
} else if ($this->type == "correct") {
    $pdf->MultiCell(80, 7, $mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT'] . '/' .  $mod_strings2['LBL_PDF_DOCUMENT_NAME_CORRECT']. " " . $this->document_no, 0, 'C');
    $pdf->SetFont('arialpl', 'B', 7);
    $pdf->Ln(3);
    $pdf->SetX(60);
    $pdf->Cell(80, 1, $mod_strings['LBL_PDF_ORIGINAL_COPY'] . '/' .  $mod_strings2['LBL_PDF_ORIGINAL_COPY'], 0, 0, 'C', 1);
}

$this->loadParser();

$this->header_text = $this->template->mfp->parseText($this->header_text);
$this->footer_text = $this->template->mfp->parseText($this->footer_text);
$this->ads_text = $this->template->mfp->parseText($this->ads_text);

$pdf->SetY($ynew);

$pdf->SetFont('arialpl', '', '7');

$currency = new Currency();
$currency->retrieve($this->currency_id);

$this->currency_symbol = $currency->iso4217;

//if($this->currency_symbol == 'PLN') {
//    $this->currency_symbol = 'zł';
//}

//echo '<pre>' . var_export($app_list_strings, true) . '</pre>'; exit;

//$this->currency_value  = $currency->conversion_rate;

if (!isset($this->position_list) || !is_array($this->position_list)) {
    $this->position_list = $this->getPositionList(true);
}

$calc = $this->calculate($this->position_list, true);
//$this->position_list = $this->formatPositions($this->position_list);

$calc['total'] .= ' ' . $this->currency_symbol;
$calc['subtotal'] .= ' ' . $this->currency_symbol;

if ($calc['discount']) {
    $calc['total2'] .= ' ' . $this->currency_symbol;
    $calc['discount']['value'] .= ' ' . $this->currency_symbol;
}

if (isset($calc['vats']) && is_array($calc['vats']) && count($calc['vats']) > 0) {
    foreach ($calc['vats'] as $key => $value) {
        $calc['vats'][$key] .= ' ' . $this->currency_symbol;
    }
}

$summary_offset = 118;

//$calc['draw_discount'] = 0;

$widths = array(
    // List.
    'position' => 5,
    'description' =>45,
	'recipient_code' => 15,
    'quantity' => 14,//14 + 10,
    //'unit' => 10,
    'draw_discount' => 11,
    'unit_price' => 15,
//    'unit_price_total' => 15,
//    'vat_id' => 6,
//    'vat_value' => 10,
    'total' => 15,
    // Summary.
    'fix' => 79,
    'vat_rate' => 15,
//    'netto_total' => 10,
//    'vat_total' => 16,
    'brutto_total' => 15,
);

$pdf->Ln(7);

//$calc['draw_discount'] = 0;
//echo '<pre>' . var_export($calc, true) . '</pre>';exit;

if ($calc['draw_discount']) {
    $widths['description'] -= (4 + 3);
    $widths['quantity'] -= 1;
    $widths['unit'] -= 2;
    $widths['unit_price'] -= 2;
    $widths['total'] -= 1;
    //
    $widths['fix'] += 3;
    $widths['vat_rate'] -= 2;
    $widths['brutto_total'] -= 1;
}

if (! $calc ['draw_recipient_code']) {
	$widths ['description'] += 10;
	$widths ['quantity'] += 5;
	$widths ['recipient_code'] = 0;
}

/* BOF: Position list. */
$list = array();

$list[0]['position'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['position'],
    'value' => 'Pos.'.PHP_EOL.'Lp.',
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 8,
);

$list[0]['description'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['description'],
    'value' =>  $mod_strings2['LBL_PDF_LIST_DESCRIPTION'].' / '.$mod_strings['LBL_PDF_LIST_DESCRIPTION']. PHP_EOL . $mod_strings2['LBL_PDF_LIST_INDEX'].' / '.$mod_strings['LBL_PDF_LIST_INDEX'],
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 7,
);
if ($calc ['draw_recipient_code']) {
	$list [0] ['recipient_code'] = array (
			'background' => array (
					233,
					233,
					233
			),
			'width' => $widths ['recipient_code'],
			'value' => $mod_strings ['LBL_PDF_RECIPIENT_CODE'].PHP_EOL.'Recipient code',
			'border' => 1,
			'overflow' => 1,
			'align' => 'C',
			'font-style' => 'b',
			'font-size' => 7
	);
}
//$list[0]['tax_code'] = array(
//    'background' => array(233, 233, 233),
//    'width' => $widths['tax_code'],
//    'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'] . '/' .  $mod_strings2['LBL_PDF_LIST_TAX_CODE'],
//    'border' => 1,
//    'overflow' => 1,
//    'align' => 'C',
//    'font-style' => 'b',
//    'font-size' => 7,
//);
//
//$list[0]['recipient_code'] = array(
//    'background' => array(233, 233, 233),
//    'width' => $widths['recipient_code'],
//    'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'] . '/' .  $mod_strings2['LBL_PDF_LIST_TAX_CODE'],
//    'border' => 1,
//    'overflow' => 1,
//    'align' => 'C',
//    'font-style' => 'b',
//    'font-size' => 7,
//);

$list[0]['quantity'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['quantity'],
    'value' => $mod_strings2['LBL_PDF_LIST_QUANTITY'].' / '.$mod_strings['LBL_PDF_LIST_QUANTITY']. PHP_EOL . $mod_strings2['LBL_PDF_LIST_UNIT'].' / '.$mod_strings['LBL_PDF_LIST_UNIT'],
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 7,
);

/*
$list[0]['unit'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['unit'],
    'value' => $mod_strings['LBL_PDF_LIST_UNIT'] . '/' .  $mod_strings2['LBL_PDF_LIST_UNIT'],
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 8,
);
*/

if ($calc['draw_discount']) {
    $list[0]['draw_discount'] = array(
        'background' => array(233, 233, 233),
        'width' => $widths['draw_discount'],
        'value' => 'Prc.' . PHP_EOL . 'Disc.(%)',//$mod_strings['LBL_PDF_LIST_DISCOUNT'] . PHP_EOL .  $mod_strings2['LBL_PDF_LIST_DISCOUNT'],
        'border' => 1,
        'overflow' => 1,
        'align' => 'C',
        'font-style' => 'b',
        'font-size' => 7,
    );
}

$list[0]['unit_price'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['unit_price'],
    'value' => 'Price / Cena',//$mod_strings['LBL_PDF_LIST_UNIT_PRICE'] . '/' .  $mod_strings2['LBL_PDF_LIST_UNIT_PRICE'],
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 7,
);

//$list[0]['unit_price_total'] = array(
//    'background' => array(233, 233, 233),
//    'width' => $widths['unit_price_total'],
//    'value' => $mod_strings['LBL_PDF_LIST_UNIT_PRICE_TOTAL'] . '/' .  $mod_strings2['LBL_PDF_LIST_UNIT_PRICE_TOTAL'],
//    'border' => 1,
//    'overflow' => 1,
//    'align' => 'C',
//    'font-style' => 'b',
//    'font-size' => 7,
//);

//if($calc['draw_vat']) {
//if ($this->currency_symbol != "USD") {
//
//$list[0]['vat_id'] = array(
//    'background' => array(233, 233, 233),
//    'width' => $widths['vat_id'],
//    'value' => $mod_strings['LBL_PDF_LIST_VAT_ID'] . '/' .  $mod_strings2['LBL_PDF_LIST_VAT_ID'],
//    'border' => 1,
//    'overflow' => 1,
//    'align' => 'C',
//    'font-style' => 'b',
//    'font-size' => 7,
//);
//
//$list[0]['vat_value'] = array(
//    'background' => array(233, 233, 233),
//    'width' => $widths['vat_value'],
//    'value' => $mod_strings['LBL_PDF_LIST_VAT_VALUE'] . '/' .  $mod_strings2['LBL_PDF_LIST_VAT_VALUE'],
//    'border' => 1,
//    'overflow' => 1,
//    'align' => 'C',
//    'font-style' => 'b',
//    'font-size' => 7,
//);
//
//}
//}
//
//if ($this->currency_symbol == "USD") {
//    $list[0]['nw'] = array(
//        'background' => array(233, 233, 233),
//        'width' => 9,
//        'value' => "Netto weight",
//        'border' => 1,
//        'overflow' => 1,
//        'align' => 'C',
//        'font-style' => 'b',
//        'font-size' => 7,
//    );
//
//    $list[0]['bw'] = array(
//        'background' => array(233, 233, 233),
//        'width' => 9,
//        'value' => "Brutto weight",
//        'border' => 1,
//        'overflow' => 1,
//        'align' => 'C',
//        'font-style' => 'b',
//        'font-size' => 7,
//    );
//}

$list[0]['total'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['total'],
    'value' => 'Value / Wartość', //$mod_strings['LBL_PDF_LIST_TOTAL'] . '/' .  $mod_strings2['LBL_PDF_LIST_TOTAL'],
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 7,
);

if ($this->type != "normal") {
    $pdf->SetY(76);
}

//$pdf->SetY($pdf->GetY() - $calc['draw_discount'] ? $widths['draw_discount'] : 0);

/* EOF: Positions list. */

//$pdf->Ln(0);
//$table = array();

$lv = return_app_list_strings_language($this->ecmlanguage);
$i = 1;
$netto_weight = $brutto_weight = 0;
$j=1;
if ($this->position_list != '') {

    //$p = array_pop($this->position_list);

    //$this->position_list = array_fill(0, 4, $p);
    //echo '<pre>' . var_export($this->position_list);exit;

    foreach ($this->position_list as $position) {
        // echo '<pre>' . var_export($position, true) . '</pre>';
        // exit;

        if ($this->type == "correct") {
            $qrrrr = "SELECT quantity, price FROM ecminvoiceoutitems WHERE id = '" . $position['iid'] . "'";
            $qrrr = "SELECT quantity, price FROM ecminvoiceoutitems WHERE id = '" . $position['item_id'] . "'";

            $rrrr = $db->fetchByAssoc($db->query($qrrrr));
            $rrr = $db->fetchByAssoc($db->query($qrrr));
			$oi = $GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("SELECT quantity, subtotal, total, ecmvat_value, discount, dd_unit_id, subprice, price, ecmvat_value, ecmvat_name, ecmvat_id FROM ecminvoiceoutitems WHERE id='".$position['item_id']."'"));

            if ((float) $rrrr['quantity'] == (float) $rrr['quantity'] && (float) $rrrr['price'] == (float) $rrr['price']) {
                continue;
            }
        }

        $list[$i]['position'] = array(
            'width' => $widths['position'],
            'value' => $j,
            'border' => 1,
            'align' => 'R',
            'font-size' => 7,
        );
		if ($position['name'] != $position['name_en'])
        	 $name = htmlspecialchars_decode(str_replace(PHP_EOL, ' ',$position['name_en'])) .PHP_EOL.htmlspecialchars_decode($position['name']). PHP_EOL . $position['code'];
        else
			 $name = htmlspecialchars_decode($position['name']). PHP_EOL . $position['code'];
        
        $list[$i]['description'] = array(
            'width' => $widths['description'],
            'value' => $name,
            'border' => 1,
            'align' => 'L',
            'font-size' => 7,
        );
        if ($calc ['draw_recipient_code']) {
        	$list [$i] ['recipient_code'] = array (
        			'width' => $widths ['recipient_code'],
        			// 'value' => implode(array_fill(0, 50, 'x')),
        			'value' => $position ['recipient_code'],
        			'border' => 1,
        			'align' => 'C',
        			'font-size' => 7
        			// 'font-family' => 'courier',
        	);
        }
        //echo '<pre>' . var_export($position, true); exit;
        $netto_weight += $position['netto_weight'];
        //$brutto_weight += $position['brutto_weight'];
        $brutto_weight += ($position['quantity'] * $position['netto_weight']);

//        $list[$i]['recipient_code'] = array(
//            'width' => 10,
//            'value' => $p['recipient_code'], 'border' => 1,
//            'align' => 'C',
//            'font-size' => 7,
//        );

        $list[$i]['quantity'] = array(
            'width' => $widths['quantity'],
            'value' => $position['quantity'] . PHP_EOL . $lv['ecmproducts_unit_dom'][$position['unit_id']],
            'border' => 1,
            'align' => 'R',
            'font-size' => 7,
        );

        /*
        $list[$i]['unit'] = array(
            'width' => $widths['unit'],
            'value' => $position['unit_id'],
            'border' => 1,
            'align' => 'C',
            'font-size' => 7,
        );
        */

        if ($calc['draw_discount']) {
            $list[$i]['draw_discount'] = array(
                'width' => $widths['draw_discount'],
                //'value' => format_number((100 * $position['price']) / (100 - $position['discount'])) . PHP_EOL . format_number($position['discount']), //format_number((100 * $position['price']) / (100 - $position['discount'])) . PHP_EOL . format_number($position['discount']),
                'value' => format_number($position['startprice']) . PHP_EOL . format_number($position['discount']),
                'border' => 1,
                'align' => 'R',
                'font-size' => 7,
            );
        }

        $list[$i]['unit_price'] = array(
            'width' => $widths['unit_price'],
            //'value' => format_number($position['price']),
            'value' => format_number($position['subprice']).PHP_EOL.$this->currency_symbol,
            'border' => 1,
            'align' => 'R',
            'font-size' => 7,
        );

        //$price_total = $position['price'] * $position['quantity'];
        $price_total = $position['subtotal'];

//        $list[$i]['unit_price_total'] = array(
//            'width' => $widths['unit_price_total'],
//            'value' => format_number($price_total),
//            'border' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );

//        $list[$i]['vat_id'] = array(
//            'width' => $widths['vat_id'],
//            'value' => format_number($position['vat_value']),
//            'border' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );

        //$vat_value = round($price_total * ($position['vat_value'] / 100), 2);
        // $vat_value = round($position['total'] - $position['subtotal'], 2);
        $vat_value = 0;

//        $list[$i]['vat_value'] = array(
//            'width' => $widths['vat_value'],
//            'value' => format_number($vat_value),
//            'border' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );

//        if ($this->currency_symbol == "USD") {
//            $list[$i]['nw'] = array(
//                'width' => 9,
//                'value' => format_number(floatval(str_replace(",", ".", $p['netto_weight']))),
//                'border' => 1,
//                'overflow' => 1,
//                'align' => 'C',
//                'font-size' => 7,
//            );
//            $list[$i]['bw'] = array(
//                'width' => 9,
//                'value' => format_number(floatval(str_replace(",", ".", $p['brutto_weight']))),
//                'border' => 1,
//                'overflow' => 1,
//                'align' => 'C',
//                'font-size' => 7,
//            );
//
//            $nw += floatval(str_replace(",", ".", $p['netto_weight']));
//            $bw += floatval(str_replace(",", ".", $p['brutto_weight']));
//        }

        $list[$i]['total'] = array(
            'width' => $widths['total'],
            //'value' => format_number($price_total + $vat_value),
            // 'value' => format_number($position['total']),
            'value' => format_number($position['subtotal']).PHP_EOL.$this->currency_symbol,
            'border' => 1,
            'align' => 'R',
            'font-size' => 7,
        );
        $totals[$position['vat_id']]['price'] += $price_total;
        $totals[$position['vat_id']]['total'] += $price_total + $vat_value;
        $totals[$position['vat_id']]['vat'] += $vat_value;

        $sum_total += $price_total + $vat_value;
        $sum_netto += $price_total;

        if ($this->type == "correct") {
            $i++;

			$r = $oi; //oi! oi! oi!
			
            if ($position['id'] == $position['item_id']) {
                $ssss = "t";
            }

            $list[$i]['position'] = array(
                'width' => $widths['position'],
                'value' => '',
                'border' => 1,
                'align' => 'R',
                'font-size' => 7,
            );

            if ($multi_correct) {
            	// get invoice
            	$c = $db->fetchByAssoc ( $db->query ( "
            		SELECT i.document_no, i.order_no, register_date FROM ecminvoiceouts AS i
            		INNER JOIN ecminvoiceoutitems as ii
            		ON i.id=ii.ecminvoiceout_id
            		WHERE ii.id = '" . $position ['item_id'] . "'
            		" ) );
            	if ($c['order_no'] && $c['order_no']!='')
            		$correct = PHP_EOL . $mod_strings2 ['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'] . ' ' . $c ['document_no'] .' - '.$c['register_date'].PHP_EOL .
            		$mod_strings2 ['LBL_PDF_ORDER_NO'].' '.$c['order_no'];
            	else
            		$correct = PHP_EOL . $mod_strings2 ['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'] .' '.$c ['document_no'] .' - '.$c['register_date'];
            	unset ( $c );
            }
            	
            $list [$i] ['description'] = array (
            		'width' => $widths ['description'],
            		'value' => "before / bylo" . $correct . $ssss,            			
            		'border' => 1,
            		'align' => 'L',
            		'font-size' => 7
            );


            $list[$i]['quantity'] = array(
                'width' => $widths['quantity'],
                'value' => (int) $r['quantity'] . PHP_EOL . $lv['ecmproducts_unit_dom'][$r['dd_unit_id']],
                'border' => 1,
                'align' => 'R',
                'font-size' => 7,
            );


            $list[$i]['unit_price'] = array(
                'width' => $widths['unit_price'],
                'value' => format_number($r['subprice']),
                'border' => 1,
                'align' => 'R',
                'font-size' => 7,
            );

            $list[$i]['total'] = array(
                'width' => $widths['total'],
                'value' => format_number($r['total']),
                'border' => 1,
                'align' => 'R',
                'font-size' => 7,
            );

            $totals[$position['vat_id']]['price'] -= $r['subtotal'];
            $totals[$position['vat_id']]['total'] -= $r['total'];
            $totals[$position['vat_id']]['vat'] -= $vat_value;

            $sum_total -= $r['total'];
            $sum_netto -= $r['subtotal'];
        }      
        
        $i++;
		$j++;
    }
}

$pdf->Ln(8);

$pdf->setX(10);

$pdf->DrawTable($list, array(0));
/* EOF: Position list. */

$pdf->Ln(1);


$pr = ($pdf->fw - $pdf->lMargin - $pdf->rMargin) / 100;

//$pdf->SetX($pdf->fw-$pdf->rMargin-$pr*34);

//$q = 'SELECT i.`document_no` FROM `ecmprepaymentinvoices` AS i WHERE i.`ecmsale_id` IN (SELECT DISTINCT(ii.`parent_doc_id`) FROM `ecminvoiceoutitems` AS ii JOIN `ecminvoiceouts` AS i ON ii.`ecminvoiceout_id` = i.`id` WHERE i.`id` = \'' . $this->id . '\' AND ii.`parent_doc_type` = \'EcmSales\');';
//$rr_prepayment = $db->fetchByAssoc($db->query($q));

$summary = array();

$i = 0;

//echo '<pre>' . var_export($totals, true) . '</pre>';
//exit;

if ($calc['vats']) {
//    $summary[] = array(
//        'subtotal1' => array(
//            'width' => 42,
//            'value' => $mod_strings['LBL_PDF_TOTAL']  . '/' .  $mod_strings2['LBL_PDF_TOTAL'],
//            'background' => array(255, 255, 255),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'L',
//            'font-size' => 7,
//        ),
//        'subtotal2' => array(
//            'width' => 14,
//            'value' => $calc['subtotal'],
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        ),
//    );

    $summary[$i]['fix'] = array(
        'width' => $widths['fix'],
        'value' => '',
        'border' => 0,
        'overflow' => 1,
        'align' => 'C',
        'font-style' => 'b',
        'font-size' => 7,
    );

//    $summary[$i]['vat_rate'] = array(
//        'width' => $widths['vat_rate'],
//        'value' => '',//$mod_strings['LBL_PDF_LIST_VAT_RATE'] . '/' .  $mod_strings2['LBL_PDF_LIST_VAT_RATE'],
//        'border' => 1,
//        'overflow' => 1,
//        'align' => 'C',
//        'font-style' => 'b',
//        'font-size' => 7,
//    );

//    $summary[$i]['netto_total'] = array(
//        'width' => $widths['netto_total'],
//        'value' => $mod_strings['LBL_PDF_LIST_NETTO_TOTAL'] . '/' .  $mod_strings2['LBL_PDF_LIST_NETTO_TOTAL'], //$mod_strings['LBL_PDF_LIST_TOTAL_PRICE'] . '/' .  $mod_strings2['LBL_PDF_LIST_TOTAL_PRICE'],
//        'background' => array(255, 255, 255),
//        'border' => 1,
//        'overflow' => 1,
//        'align' => 'C',
//        'font-style' => 'b',
//        'font-size' => 7,
//    );

//    $summary[$i]['vat_total'] = array(
//        'width' => $widths['vat_total'],
//        'value' => $mod_strings['LBL_PDF_LIST_VAT_TOTAL'] . '/' .  $mod_strings2['LBL_PDF_LIST_VAT_TOTAL'],
//        'background' => array(255, 255, 255),
//        'border' => 1,
//        'overflow' => 1,
//        'align' => 'C',
//        'font-style' => 'b',
//        'font-size' => 7,
//    );

//    $summary[$i]['brutto_total'] = array(
//        'width' => $widths['brutto_total'],
//        'value' => $mod_strings['LBL_PDF_LIST_BRUTTO_TOTAL'] . '/' .  $mod_strings2['LBL_PDF_LIST_BRUTTO_TOTAL'],
//        'border' => 1,
//        'overflow' => 1,
//        'align' => 'C',
//        'font-style' => 'b',
//        'font-size' => 7,
//    );

    foreach ($calc['vats'] as $key => $value) {
        $i++;

        $qr = "SELECT id, name, value FROM ecmvats WHERE id = '" . $key . "'";
        $r = $db->fetchByAssoc($db->query($qr));

//        $summary[$i]['fix'] = array(
//            'width' => $widths['fix'],
//            'value' => '',
//            'border' => 0,
//            'overflow' => 1,
//            'align' => 'C',
//            'font-style' => 'b',
//            'font-size' => 7,
//        );

//        $summary[$i]['vat_rate'] = array(
//            'width' => $widths['vat_rate'],
//            'value' => format_number($r['value']),
//            'background' => array(255, 255, 255),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );

//        $summary[$i]['netto_total'] = array(
//            'width' => $widths['netto_total'],
//            'value' => format_number($totals[$r['id']]['price']),
//            'background' => array(255, 255, 255),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );

//        $summary[$i]['vat_total'] = array(
//            'width' => $widths['vat_total'],
//            'value' => format_number($totals[$r['id']]['vat']),
//            'background' => array(255, 255, 255),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );

//        $summary[$i]['brutto_total'] = array(
//            'width' => $widths['brutto_total'],
//            'value' => format_number($totals[$r['id']]['total']),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        );
    }
}

if ($calc['discount']) {
    $disc = floatval(str_replace(",", ".", str_replace(".", "", $this->discount)));
//
////    $summary[]['total21'] = array(
////        'width' => 35,
////        'value' => 'RAZEM',
////        'background' => array(255, 255, 255),
////        'border' => 1,
////        'overflow' => 1,
////        'align' => 'C',
////        'font-size' => 7,
////        'font-style' => 'b',
////    );
////
////    $summary[]['total22'] = array(
////        'width' => 14,
////        'value' => $calc['total2'],
////        'border' => 1,
////        'overflow' => 1,
////        'align' => 'R',
////        'font-size' => 7,
////    );
//
//    $summary[] = array(
//        'discount1' => array(
//            'width' => 10,
//            'value' => $mod_strings['LBL_PDF_DISCOUNT'] . '/' .  $mod_strings2['LBL_PDF_DISCOUNT'],
//            'background' => array(255, 255, 255),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'L',
//            'font-size' => 7,
//            'font-style' => 'b',
//        ),
//        'discount2' => array(
//            'width' => 41,
//            'value' => format_number($disc),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//        ),
//    );
}

//if ($this->currency_symbol == "USD") {
//    $summary[] = array(
//        'total1' => array(
//            'width' => 10,
//            'value' => $mod_strings['LBL_PDF_END_TOTAL']  . '/' .  $mod_strings2['LBL_PDF_END_TOTAL'],
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'C',
//            'font-size' => 7,
//            'font-style' => 'b',
//        ),
//        'total2' => array(
//            'width' => 12,
//            'value' => format_number($sum_netto - floatval(str_replace(",", ".", str_replace(".", "", str_replace("PLN", "", $calc['discount']['value']))))),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//            'font-style' => 'b',
//        ),
//        'total3' => array(
//            'width' => 9,
//            'value' => format_number($nw),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//            'font-style' => 'b',
//        ),
//        'total4' => array(
//            'width' => 9,
//            'value' => format_number($bw),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//            'font-style' => 'b',
//        ),
//        'total5' => array(
//            'width' => 14,
//            'value' => format_number($sum_total - floatval(str_replace(",", ".", str_replace(".", "", str_replace("PLN", "", $calc['discount']['value']))))),
//            'border' => 1,
//            'overflow' => 1,
//            'align' => 'R',
//            'font-size' => 7,
//            'font-style' => 'b',
//        ),
//    );
//} else {

$brutto = $sum_total - $disc;

//echo var_export($sum_total, true);exit;

$netto = $sum_netto;
$vvat = $brutto - $netto;
/*
if ($this->document_no == 'FVKOR 1131/14')
	$brutto = -47.80;
if ($this->document_no == 'FVKOR 1132/14')
	$brutto = -71.4;
*/
$GLOBALS['db']->query("UPDATE ecminvoiceouts SET pdf_subtotal='$netto', pdf_total='$brutto' WHERE id='".$this->id."'");
$i++;

$summary[$i]['fix'] = array(
    'width' => $widths['fix'],
    'value' => '',
    'border' => 0,
    'overflow' => 1,
    'align' => 'C',
    'font-style' => 'b',
    'font-size' => 7,
);

$summary[$i]['vat_rate'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['vat_rate'],
    'value' => $mod_strings2['LBL_PDF_LIST_SUMMARY_TOTAL'].' / '.$mod_strings['LBL_PDF_LIST_SUMMARY_TOTAL'],
    'border' => 1,
    'overflow' => 1,
    'align' => 'C',
    'font-size' => 7,
    'font-style' => 'b',
);


$summary[$i]['brutto_total'] = array(
    'background' => array(233, 233, 233),
    'width' => $widths['brutto_total'],
    'value' => format_number($brutto).' '.$this->currency_symbol,
    'border' => 1,
    'align' => 'R',
    'font-size' => 7,
    'font-style' => 'b',
);

if($this->prepaid_nr && $this->prepaid) {
    $i++;

    $summary[$i]['fix'] = array(
        'width' => $widths['fix'],
        'value' => $this->prepaid_nr ? ($mod_strings['LBL_PDF_PREPAID_DOCUMENTS'] . '/' .  $mod_strings2['LBL_PDF_PREPAID_DOCUMENTS'] . ': ' . $this->prepaid_nr) : '',
        'border' => 0,
        'overflow' => 1,
        'align' => 'L',
        'font-style' => '',
        'font-size' => 7,
    );

    $summary[$i]['vat_rate'] = array(
        'width' => $widths['vat_rate'],
        'value' => '',//format_number(23),
        'background' => array(255, 255, 255),
        'border' => 0,
        'overflow' => 1,
        'align' => 'R',
        'font-size' => 7,
    );

    $summary[$i]['brutto_total'] = array(
        'width' => $widths['brutto_total'],
        'value' => format_number(-$this->prepaid ),
        'border' => 1,
        'overflow' => 1,
        'align' => 'R',
        'font-size' => 7,
    );

    $i++;

    $summary[$i]['fix'] = array(
        'width' => $widths['fix'],
        'value' => '',
        'border' => 0,
        'overflow' => 1,
        'align' => 'C',
        'font-style' => 'b',
        'font-size' => 7,
    );

    $summary[$i]['vat_rate'] = array(
        'background' => array(233, 233, 233),
        'width' => $widths['vat_rate'],
        'value' => $mod_strings2['LBL_PDF_LIST_SUMMARY_TOTAL'],
        'border' => 1,
        'overflow' => 1,
        'align' => 'C',
        'font-size' => 7,
        'font-style' => 'b',
    );

    $summary[$i]['brutto_total'] = array(
        'background' => array(233, 233, 233),
        'width' => $widths['brutto_total'],
        'value' => format_number($brutto - $this->prepaid). ' '.$this->currency_symbol,
        'border' => 1,
        'align' => 'R',
        'font-size' => 7,
        'font-style' => 'b',
    );
}

// ~~~~~~~~~~~~~~

//if ($pdf->GetY() >  $pdf->bMargin) {
//    $pdf->AddPage();
//}

//if ($this->currency_symbol == "USD") {
//    $pdf->SetX(103);
//} else {
$pdf->SetX(10);
//}
//
//echo '<pre>' . var_export($summary, true) . '</pre>';exit;

$pdf->DrawTable($summary);

$pdf->Ln(4);