<?php
$f1 = explode('-', $_POST['f_inicio']);
$f2 = explode('-', $_POST['f_termino']);
if(isset($_POST['f_inicio']) && Validacion::fechaMenorHoy($_POST['f_inicio']) && isset($_POST['f_termino']) && Validacion::fechaMenorHoy($_POST['f_termino']) && isset($_POST['informe']) && ctype_digit($_POST['informe']) && checkdate($f1[1],$f1[0],$f1[2]) && checkdate($f2[1],$f2[0],$f2[2])){
	@require_once(dirLibPHP.'tcpdf/config/lang/spa.php');
	ini_set("memory_limit","320M");
	ini_set('max_execution_time', 120);

	$nInforme = nInforme();

	$pdf = new MYPDF('P', 'mm', 'Letter', true, 'UTF-8', false);
	$pdf->SetMargins(PDF_MARGIN_LEFT, 30, PDF_MARGIN_RIGHT);
	$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
	$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

	$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

	$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

	$pdf->setLanguageArray($l);

	$pdf->SetCreator(PDF_CREATOR);
	$pdf->SetAuthor('siste.cl');
	$pdf->SetTitle($nInforme);

	$pdf->AddPage();

	$pdf->SetFont('helvetica', '', 9);

	$f_inicio = $_POST['f_inicio'];
	$f_termino = $_POST['f_termino'];
	$informe = $_POST['informe'];

	$inf = new Informe($f_inicio,$f_termino,$_GET['id'][0]);

	$htmlPDF = '';
	switch($_POST['informe']){
		case 1:
			$thead = array('Fecha','Cantidad de vehículos','Cantidad de vehículos sin repetir');
			$i11 = $inf->informe_11();
			if(!empty($i11)){
				$htmlPDF .= $inf->tabla($thead,$i11);
				$i12 = $inf->informe_12();
				$htmlPDF .= '<br><div>Cant. total de vehículos: '.$i12['cant_cr'].'<br>Cant. total de vehículos sin repetir: '.$i12['cant_sr'].'</div>';
			}else{
				echo '<div style="text-align:center;">No hay informaci&oacute;n para generar el informe: <span style="font-weight:bold;">'.$nInforme.'</span>.</div>';
				exit;
			}
			break;
		case 2:
			$thead = array('Fecha','Cant. de clientes','Promedio de permanencia (minutos)');
			$i21 = $inf->informe_21();
			if(!empty($i21)){
				$htmlPDF .= $inf->tabla($thead,$i21);
				$totalClientes = 0;
				$promedioMinutos = 0;
				$cont = 0;
				foreach($i21 as $fecha){
					$totalClientes += $fecha['cant'];
					$promedioMinutos += $fecha['minutos_promedio'];
					$cont++;
				}
				$promedioMinutos = round($promedioMinutos/$cont);
				$htmlPDF .= '<br><div>Cant. total de clientes: '.$totalClientes.'<br>Promedio de permanencia: '.$promedioMinutos.'</div>';
				$f_inicio = mktime(0,0,0,$f1[1],$f1[0],$f1[2]);
				$f_termino = mktime(0,0,0,$f2[1],$f2[0],$f2[2]);
				$diffDias = (($f_termino - $f_inicio) / (60 * 60 * 24));
				$res = array();
				for($dia = 0; $dia <= $diffDias; $dia++){
					$minimo = 0;
					$maximo = 0;
					for($hora = 8; $hora < 21; $hora++){
						$actual = $inf->informe_22(date('H:i:s d-m-Y',mktime($hora,0,0,$f1[1],$f1[0]+$dia,$f1[2])),date('H:i:s d-m-Y',mktime($hora+1,0,0,$f1[1],$f1[0]+$dia,$f1[2])));
						if(($actual['cant']<$minimo && $actual['cant'] > 0) || ($minimo == 0 && $actual['cant']>0)){
							$res[date('d-m-Y',mktime(0,0,0,$f1[1],$f1[0]+$dia,$f1[2]))]['minimo']['fecha'] = date('H:i',mktime($hora,0,0,0,0,0)).' - '.date('H:i',mktime($hora+1,0,0,0,0));
							$res[date('d-m-Y',mktime(0,0,0,$f1[1],$f1[0]+$dia,$f1[2]))]['minimo']['cantidad'] = $actual['cant'];
							$minimo = $actual['cant'];
						}
						if($actual['cant']>$maximo){
							$res[date('d-m-Y',mktime(0,0,0,$f1[1],$f1[0]+$dia,$f1[2]))]['maximo']['fecha'] = date('H:i',mktime($hora,0,0,0,0,0)).' - '.date('H:i',mktime($hora+1,0,0,0,0));
							$res[date('d-m-Y',mktime(0,0,0,$f1[1],$f1[0]+$dia,$f1[2]))]['maximo']['cantidad'] = $actual['cant'];
							$maximo = $actual['cant'];
						}

					}
				}
				$pdf->WriteHTML($htmlPDF, true, false, true, true, '');
				$pdf->AddPage();
				$tbody = $res;
				$thead = array('Fecha','Hora','Cantidad');
				$tabla = '<br><table cellspacing="0" cellpadding="5" border="1">';
				$tabla .= '<thead>';
				$tabla .= '<tr>';
				foreach($thead as $valor){
					$tabla .= '<th>'.$valor.'</th>';
				}
				$tabla .= '</tr>';
				$tabla .= '</thead>';

				$tabla .= '<tbody>';
				foreach($tbody as $fecha => $tr){
					$tabla .= '<tr>';
					$tabla .= '<td rowspan="2" style="text-align:center;">'.$fecha.'</td>';
					$tabla .= '<td>'.$tr['minimo']['fecha'].'</td>';
					$tabla .= '<td>'.$tr['minimo']['cantidad'].'</td>';
					$tabla .= '</tr>';
					$tabla .= '<tr>';
					$tabla .= '<td>'.$tr['maximo']['fecha'].'</td>';
					$tabla .= '<td>'.$tr['maximo']['cantidad'].'</td>';
					$tabla .= '</tr>';
				}
				$tabla .= '</tbody>';
				$tabla .= '</table>';
				$htmlPDF = $tabla;
			}else{
				echo '<div style="text-align:center;">No hay informaci&oacute;n para generar el informe: <span style="font-weight:bold;">'.$nInforme.'</span>.</div>';
				exit;
			}
			break;
		case 3:
			$thead = array('Fecha','Horas efectivas');
			$i31 = $inf->informe_3();
			if(!empty($i31)){
				$htmlPDF .= $inf->tabla($thead,$i31);
				$totalHoras = 0;
				foreach($i31 as $fecha){
					$totalHoras += $fecha['horas_efectivas'];
				}
				$htmlPDF .= '<br><div>Total de horas efectivas: '.$totalHoras.'</div>';
			}else{
				echo '<div style="text-align:center;">No hay informaci&oacute;n para generar el informe: <span style="font-weight:bold;">'.$nInforme.'</span>.</div>';
				exit;
			}
			break;
		default:
			echo '<div style="text-align:center;">No existe el informe que se intenta generar.</div>';
			exit;
			break;
	}

	$pdf->WriteHTML($htmlPDF, true, false, true, true, '');

	$pdf->lastPage();
	$pdf->Output(texToUrl($nInforme).'_'.date('d-m-Y').'.pdf', 'I');
}else{
	echo '<div style="text-align:center;">No se ha podido generar el informe.</div>';
}
?>