<?php

	//die("test");

//ini_set("display_errors", 1);
//error_reporting( E_ALL);
if(stripos($_SERVER['SCRIPT_FILENAME'],"/admin/")>0){
	include("../connect.php");
	include("../session.php");
	$isAdmin = $_SESSION['isAdmin'];
}else{
	include("./connect.php");
	$isAdmin= false;
	include("./functions.php");
}

//die();

$invoice = new Invoice($_REQUEST['id']);
$invoiceFactor = 1;
if($invoice->Customer->MainNumber == "10013"){
//	$invoiceFactor = 6;
}
if (!$isAdmin) {
	if(isset($_REQUEST['key'])){
		if($invoice->getTokenKey() != $_REQUEST['key']){
			header("Location: index.php");
		}
	}else{
		header("Location: index.php");
	}

}


if($invoice->InvoiceTotal < 0){
	$title = "Credit";
}else{
	$title = "Invoice";
}


$title .= " #" . $invoice->InvoiceID . " - " . $invoice->Customer->Name;


 ?>
 <!DOCTYPE html>
  <html lang="en">
    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title> <?=$title . " - " . $config['CompanyName'] ?></title>

      <!-- Bootstrap -->
      <link href="<?= $root ?>css/bootstrap.min.css" rel="stylesheet">
      <link rel="stylesheet" href="<?= $root ?>css/bootstrap-combobox.css" />

      <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
      <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
      <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
            <!-- Include all compiled plugins (below), or include individual files as needed -->
            <script src="<?= $root ?>js/bootstrap.min.js"></script>
        	 <script src="<?= $root ?>js/bootstrap-combobox.js"></script>
            <script type="text/javascript">
              $(document).ready(function(){
                //$('.combobox').bscombobox();
				<?php
				if(isset($_REQUEST['print']) && $_REQUEST['print'] == "true"){
				?>

				window.print();
				setTimeout(function(){
					if(confirm('Close?')){
						window.close();
					}else{

					}

				}, 1000);

				<?php
				}
				?>

              });
            </script>

      <![endif]-->
 	<link rel="stylesheet" href="<?= $root ?>css/styles.css"/>
	<style>
		#invoiceItemsTable , #invoiceItemsTable tr, #invoiceItemsTable tr th, #invoiceItemsTable tr td {
			border: solid;
			border-width: thin;
			border-color: black;
		}
		.invoiceItemsTable , .invoiceItemsTable tr, .invoiceItemsTable tr th, .invoiceItemsTable tr td {
			border: solid;
			border-width: thin;
			border-color: black;
		}
		.invoiceItemsTable{
			width: 100%;

		}
		.description_cell{
			max-width: 100px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
		@media print {
  a[href]:after {
    content: none
  }
}
	</style>
    </head>
    <body>
    <style>
		.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
    border: thin solid black !important;
}

	</style>
    <!-- Stack the columns on mobile by making one full-width and the other half-width -->
 <div class="container-fluid" style="margin-top: -50px;">

	<!---INSERT HEADER 12345-->
	<?= insertHeader() ?>


 	  	<?php
 	  		insertTableHeader();
 	  		$index = 0;
			$totalItems = 0;
			$invoiceTotal = 0;
			foreach($invoice->Items as $key=> $item){
				if($item->ShippedQty == 0){
					//echo $item->ShippedQty;
					unset($invoice->Items[$key]);
				}
			}
			if(count($invoice->Items) > 17){
				$itemsPerPage = 18;
			//}elseif(count($invoice->Items) > 10 ){
			}elseif(count($invoice->Items) > 15 ){
				$itemsPerPage = count($invoice->Items);
			}else{
				//$itemsPerPage = 12;
				$itemsPerPage = 17;
			}
			//$itemsPerPage = count($invoice->Items)>17?18:14;
			$page = 1;
			$totalUnits =0;
			$totalPages = ceil(count($invoice->Items)/(count($invoice->Items) > 17 && count($invoice->Items) < 17?$itemsPerPage-1:$itemsPerPage));
			if(count($invoice->Items) > 15 && count($invoice->Items) <= 18){
				$totalPages = 2;
			}
			foreach($invoice->Items as $key => $item){
				$totalUnits += $item->ShippedQty;
				$currItem = new Item($item->Group, $item->Line, $item->SKU);
				if($currItem->getAttribute("Master Carton")){
					$boxCount = $currItem->getAttribute("Master Carton") . " per Box";
				}else{
					$boxCount = false;
				}


 	  	?>
 	  		<tr style="border: solid; border-width: thin; border-color: black;">
 	    			<td style="width: 1%;"><?= $index+1 ?></td>
 	        		<td style="text-overflow: ellipsis;" >
 	        			<span class="itemInfo"><b><?= $item->SKU ?></b></span>
					</td>
					<td class="description_cell">
 	        			<span class="itemInfo"><?php
						if(substr($invoice->AccountNumber,0,5) == "10002" && $currItem->getAttribute("SearsItem")){
							echo "<b>" . $currItem->getAttribute("SearsItem") . "</b> - ";
						}

						?><?= $item->Description . " " . $item->Notes  ?>

						<?php
						//var_dump($invoice->Customer->ShowUPCInvoice);

						echo (($boxCount)?" / " . $boxCount:"");

						if($item->ReferenceType == "OriginalInvoice"){
							echo "<br>" . "<b>Originally from invoice: " . $item->Reference . "</b>";
						}elseif($item->ReferenceType == "Warranty"){
							echo "<br>" . "<b>Damaged Warranty item from invoice: " . $item->Reference . "</b>";
						}
						?>
						</span>

					</td>
					<?php
						if($invoice->Customer->ShowUPCInvoice){
							if($currItem->getUPC()){

								echo "<td class=\"centered\">" . $currItem->getUPC() . "</td>";
							}

						}

					?>
					<td class="centered">
						<?= round($item->OrderQty/$invoiceFactor,3) ?>
					</td>
					<td class="centered">
 	        			<?= round($item->ShippedQty/$invoiceFactor,3) ?>
 	        		</td>
 	        		<td style="text-align: right;">
 	        			<?php
						echo moneyFormat($item->Price*$invoiceFactor);
						?>
 	        		</td>

 	        		<td style="text-align: right;">
						<?php
							echo moneyFormat($item->Price*$item->ShippedQty);
							$invoiceTotal+= ($item->Price*$item->ShippedQty);
						?>
 	        		</td>
 	      	</tr>
 	      	<?php
 	      	$index++;
					if($index%$itemsPerPage == 0){

						echo "</tbody></table>";

					?>
						<div class="col-xs-12">
							<br>
						<center style="font-size: 30px;"><b>Continued...</b></center>
							<br>
						</div>
			<?php


						echo "<span class='pull-right' style='position: relative; bottom: 5px;'><b>Page " . ($page) . " of " . $totalPages . "</b></span>";
						echo "<p style=\"page-break-before: always; margin-top: 0px;\"><br> </p>";
						$page++;
						insertHeader($page);
						insertTableHeader();

					}
 	      	}?>
			<tr style="border-bottom: hidden;">

			</tr>
			<?php
			$colSpanOffset = 0;
			if($invoice->Customer->ShowUPCInvoice){
				$colSpanOffset = 1;
			}
			?>
 	      	<tr style="border-bottom: hidden;">
				<td colspan="<?= 4 + $colSpanOffset ?>" style="text-align: right; border-bottom:  hidden; border-right: hidden; border-left: hidden;">
					<b>Total Units:</b>
				</td>
				<td colspan="1" style="text-align: center; border-bottom:  hidden; border-right: hidden; border-left: hidden;">
					<b><?= round($totalUnits/$invoiceFactor,2) ?></b>
				</td>
 	      		<td colspan="1" style="text-align: right; border-bottom:  hidden; border-right: hidden; border-left: hidden; min-width:70px;">
					<span style="font-weight: bold; text-align: right;">
						Subtotal<br>
						<?= getSetting("Tax1Name")['value'] ?><br>
						<?= (getSetting("Tax2Name")['value']) ?><br>
						Total

					</span>
				</td>
				<td style="text-align: right; font-weight: bold; border-bottom:  hidden; border-right: hidden;">
					<?= moneyFormat($invoice->InvoiceSubtotal); ?><br>
					<?= moneyFormat($invoice->Tax1Total); ?><br>
					<?= moneyFormat($invoice->Tax2Total); ?><br>
					<?= moneyFormat($invoice->InvoiceTotal); ?>
				</td>
 	      	</tr>
 	    </tbody>
 	  </table>
 	</div>

 <style>
	.borderless {
		border: hidden;
		border-top: hidden;
		border-left-style: none;
		border-right-style: none;
		border-bottom-style: none;
		line-height: 1;
	}
	.borderless>td {
		line-height: 1;
	}

	.borderless td span {
		line-height: 1;
	}
 </style>
 <style type="text/css" media="print">
	body { margin: 0;  font-size: 1em }


 </style>
 </div>
        <div>
          <div class="panel-body">
			<div style="width: 50%; margin-top: -80px;">
            <span><b>Invoice Notes:</b></span><br />
            <?= $invoice->Notes ?>
			<br>
			</div>

          </div>
        </div>

		<div style="" class="row">

			<div class="col-xs-6">

				<b>Received By:</b>________________________________________________________
			</div>
			<div class="col-xs-3">

				<b>Date:</b>______________________________
			</div>

        </div>
		<?php


		?>
		<div class="row">



				<div class="col-xs-12" id="crateContainer">
					<span><b>Delivery Crates:</b></span><br />
					<?php
						foreach($invoice->getCrates() as $value){


					?>
					<div class="col-xs-2 shipcontainer" data-container="<?= $value['CrateNumber'] ?>">
						<!--<img src="/img/shipcrate.png"  style="width: 100px;"/> -->
						<div class="shipcrate_number">#<?= $value['CrateNumber'] ?>
						</div>
					</div>
					<?php
						}
					?>


				</div>
				<style>
					.shipcontainer {
						position: relative;
						text-align: center;
						color: red;
					}
					.shipcrate_number{

						font-size: 22px;

					}
				</style>

			</div>
		<div class="row">
			<center>
				<br>
				<span><big><b><?= $config["CompanySlogan"] ?></b></big></span>
			</center>

		  </div>

    <?php echo "<span class='pull-right' style='position: relative; bottom: 5px;'><b>Page " . ($page) . " of " . $totalPages . "</b></span>"; ?>
    </body>

  </html>

  <?php

  function insertTableHeader(){
	global $invoice;
	?>
	<table style="border: solid; border-width: thin; border-color: black;" id="invoiceItemsTable" class="table table-condensed invoiceItemsTable">
 	    <thead>
 	      <tr style="border: solid; border-width: thin; border-color: black;">
 	        <th style="width: 1%;">#</th>
 	        <th style="width: 10%">Item</th>
			<th style="width: 50%">Description</th>
			<?php
				if($invoice->Customer->ShowUPCInvoice){
						echo "<th class=\"centered\">UPC</th>";
				}

			?>
			<th style="width: 5%" class="centered">Ordered</th>
			<th style="width: 5%" class="centered">Shipped</th>
 	        <th style="width: 5%; text-align: right;">Price</th>
 	        <th style="width: 5%; text-align: right;">Extension</th>
 	      </tr>
 	    </thead>
 	  	<tbody>

	<?php
  }
  function insertHeader($page = 1){
	global $invoice, $config;
	?>
	<h2><a href="./"><img style="max-height: 100px;" src="/img/Logo_250.png"></a></h2>
	<div style="margin-left: 10px; margin-top: -10px; margin-bottom: 10px">
	<?= $config["PostalAddress1"] ?> &#x25cf; <?= ($config["PostalAddress2"]!=""?($config["PostalAddress2"] . "&#x25cf;"):"") ?> <?= $config["PostalCity"] ?>,<?= $config["PostalState"] . " " . $config["PostalZip"] ?><br>
		<?= $config["CompanyPhone"] ?><br>
		<?= $config["OrderEmail"] ?>

	</div>
 	<div class="row">
		<?php
		if($page == 1){
		?>
 	  <div class="col-xs-5">

 	  	<p style="">
			<div style="font-size: 15px;"><b>Bill To: </b><br></div>
 	  		<div style="height: 100px; border: none; border-width: thin; font-size: 12px; padding-left: 5px;">
				<b><?= $invoice->BillToName; ?></b><br>
				<?= $invoice->BillToAddress1?$invoice->BillToAddress1 . "<br>":"" ?>
				<?= $invoice->BillToAddress2?$invoice->BillToAddress2 . "<br>":"" ?>
				<?= $invoice->BillToCity . "," . $invoice->BillToState . " " . $invoice->BillToZip ?><br>

			</div>
 	  </p>

 	  </div>
  	  <div class="col-xs-5">
		<p style="">
			<div style="font-size: 15px;"><b>Ship To: </b><br></div>
 	  		<div style="height: 100px; border: none; border-width: thin; font-size: 12px;  padding-left: 5px;">
				<b><?= $invoice->ShipToName; ?></b><br>
				<?= $invoice->ShipToAddress1?$invoice->ShipToAddress1 . "<br>":"" ?>
				<?= $invoice->ShipToAddress2?$invoice->ShipToAddress2 . "<br>":"" ?>
				<?= $invoice->ShipToCity . "," . $invoice->ShipToState . " " . $invoice->ShipToZip ?><br>
				<?= $invoice->Customer->Phone!=""?$invoice->Customer->Phone:""; ?>

			</div>
		</p>

	  </div>
		<?php
		}else{
		?>
			<div class="col-xs-12">
				<br>
			<center style="font-size: 30px;"><b>Continued...</b></center>
				<br>
			</div>
		<?php
		}
		?>
 	  <div class="col-xs-2" style="text-align: center; float: right; position:  absolute; margin-top: -110px;width: 200px; right: 20px; ">
 		  <h2>
		  <?php
			if($invoice->Status){
				if($invoice->InvoiceTotal < 0){
					echo "Credit";
				}else{
					echo "Invoice";
				}

			}else{
				echo "Invoice In Progress";
			}
		  ?>
		  <br>
		  <b><?= $invoice->InvoiceID ?></b>
		  </h2>
 		  <p>

 		  <b>Date: </b><?= date("m/d/Y g:i a",strtotime($invoice->InvoiceDate)) ?><br>
			<b>Delivery Date: </b><?= ($invoice->DeliveryDate)?date("m/d/Y",strtotime($invoice->DeliveryDate)):"TBD" ?><br>
		  <b>Due Date: </b><?= $invoice->DueDate?date("m/d/Y", strtotime($invoice->DueDate)):"" ?><br>
			<img src="/assets/barcode.php?text=<?= $invoice->InvoiceID ?>" alt="<?= $invoice->InvoiceID ?>" />
 		  </p>
 	  </div>
	  <table style="border: solid; border-width: thin; border-color: black;" class="table table-condensed table-bordered centered">
		<thead>
			<tr style="border: solid; border-width: thin; border-color: black;" class="centered">
				<th style="border: solid; border-width: thin; border-color: black;" class="centered">Customer #</th>
				<th style="border: solid; border-width: thin; border-color: black;" class="centered">Order ID</th>
				<th class="centered">Purchase Order</th>
				<th class="centered">Salesperson</th>
				<th class="centered">Terms</th>
				<th class="centered">Picker</th>
				<th class="centered">Delivery Method</th>
				<th class="centered">Package Count</th>

			</tr>
		</thead>
		<tbody>
			<tr style="border: solid; border-width: thin;" class="centered">
				<td><?= $invoice->AccountNumber ?></td>
				<td><?= $invoice->OrderID ?></td>
				<td><?php

				if(is_numeric($invoice->PONumber)){
					$poNum = str_split($invoice->PONumber);
					//var_dump($poNum);
					for($i = 0; $i < count($poNum); $i++){
						$poNum[$i] = "<b>" . $poNum[$i] . "</b>";
					}
					$poNum = implode("|", $poNum);
					echo $poNum;
				}else{
					echo $invoice->PONumber;
				}
				?></td>
				<td><?= $invoice->Salesman->Name ?></td>
				<td>
				<?php
					if($invoice->InvoiceTotal < 0){
							echo "CREDIT";
					}else if($invoice->Terms == "0" || is_null($invoice->Terms)){
						echo "COD";
					}else if($invoice->Terms=="-1"){
						echo "Cash";
					}else if($invoice->Terms=="2/15n16") {
						echo "2/15 Net 16";
					}else {
						echo $invoice->Terms . " days";
					}
				?>
				</td>
				<td><?= $invoice->PackingUser ?></td>
				<td><?= $invoice->DeliveryMethod ?></td>
				<td><?= $invoice->PackageCount ?></td>

			</tr>
		</tbody>
	  </table>
	</div>


	<?php
  }

  ?>
