<?php
session_start();
include('../config.php');
include($rutaPhp.$rutaHtml.'/maqueta/includes.php');

$peticion='TPDTTrazabilidad#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#LISTASALIDAS#'.$_SESSION['almacen'];
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

if($_GET['traza']=='si') {
	echo "<p>".$peticion."</p>";
	print_r($resultado);
}

$comboEstados=array();
$comboClientes=array();
	
foreach($resultado as $item) {

	if(!in_array($item['Estado'],$comboEstados) && $item['Estado']!='') $comboEstados[]=$item['Estado'];
	if(!in_array($item['NombreCliente'],$comboClientes) && $item['NombreCliente']!='') $comboClientes[]=$item['NombreCliente'];
		
}

asort($comboClientes);

if( !$resultado[0]['Error'] && count($resultado[0])>0 ) {

	?>
    
    <p class="sinMargen">Orden de Preparación:
<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
            <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoOrden" /><input name="orden" type="text" class="campo campoOrdenPreparacion" id="orden" maxlength="14" style="left:5px;" autocomplete="off"/>
            <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarCodigoOrden" style="position:absolute;right:5px;cursor:pointer;"/>
        </div>
    </p>
    
	<table class="tablaFormateada anchoMaximo">
	<tr style="white-space:nowrap">
		<?php if(is_array($_SESSION['empresas']) && count($_SESSION['empresas'])>1) { ?><th>Emp.</th>
		<th>Orden Preparación</th>
		<?php } ?>
		<th>Carga</th>
	  <th>Fecha</th>
		<th>Cliente</th>
		<th>Estado</th>
	    <th>Productos</th>
	    <th>Pendientes</th>
      </tr>
	<?php
	
	foreach($resultado as $salida) {
	
		$estilo="";
		if($salida['Estado']=='Iniciada') $estilo.=" fondoVerde verde";
		
		$productos=arreglaArrayPXMobileProxiumResult($salida['Productos']);
		
		//Cálculo de cuantos productos están completamente leidos
		$productosLeidos=0;
		foreach($productos as $producto) {
			$cantidadLeida=0;
			foreach(arreglaArrayPXMobileProxiumResult($producto['IDsLeidos']) as $leido) {
				$cantidadLeida+=$leido['Cantidad'];
			}
			if($cantidadLeida==$producto['Cantidad']) $productosLeidos++;
		}
		
		?>
		<tr orden="<?php echo $salida['OrdenPreparacion']; ?>" empresa="<?php echo $salida['Empresa']; ?>" class="lineaOrden clicable mostrarCargando <?php echo $estilo; ?>" style="height:75px" estado="<?php echo $salida['Estado']; ?>" cliente="<?php echo $salida['NombreCliente']; ?>" >
			<?php if(is_array($_SESSION['empresas']) && count($_SESSION['empresas'])>1) { ?><td><?php echo $salida['Empresa']; ?></td>
			<td><?php echo $salida['OrdenPreparacion']; ?></td>
			<?php } ?>
			<td><?php echo $salida['Carga']; ?></td>
		    <td><?php echo fechaNacional(fechaDesdeProxium($salida['FechaCarga'])); ?></td>
			<td><?php echo $salida['NombreCliente']; ?></td>
            <td><?php echo $salida['Estado']; ?></td>
			<td><?php if(is_array($productos)) echo count($productos); ?></td>
		    <td><?php if(is_array($productos)) echo count($productos)-$productosLeidos; ?></td>
      </tr>
	
	<?php } ?>
    </table>
    
<div class="barraFiltro">
    	
        <table cellpadding="5" style="margin:0 auto">
        	<tr>
            	<td>
                Estado:<br />
                <select name="filtroEstado" id="filtroEstado" class="campo selectorFiltro" style="width:200px">
                    <option value="">---</option>
                    <?php foreach($comboEstados as $item) { ?>
                    <option value="<?php echo $item; ?>"><?php echo $item; ?></option>
                    <?php } ?>
                </select>
                </td>
                <td>
                Cliente:<br /> 
                <select name="filtroCliente" id="filtroCliente" class="campo selectorFiltro" style="width:200px">
                    <option value="">---</option>
                    <?php foreach($comboClientes as $item) { ?>
                    <option value="<?php echo $item; ?>"><?php echo $item; ?></option>
                    <?php } ?>
                </select>
                </td>
                <td>
                <img id="filtroApagado" src="<?php echo DIR_IMAGENES; ?>/botones/filter-off.png" alt="Filtro" style="width:60px;height:60px;"/>
                <img id="aplicarFiltro" src="<?php echo DIR_IMAGENES; ?>/botones/filter.png" alt="Filtro" style="display:none;width:60px;height:60px;cursor:pointer;"/>
                <img id="quitarFiltro" src="<?php echo DIR_IMAGENES; ?>/botones/filter-remove.png" alt="Filtro" style="display:none;width:60px;height:60px;cursor:pointer"/>
                </td>
            </tr>
        </table>
        
    </div>
    
	<script>
	
		function repintarTabla() {
	
			$(".lineaOrden").children('td').css('background-color','#ffffff');
			$(".lineaOrden").children('td').css('border-bottom','');
			$(".lineaOrden").children('td').css('border-radius','');
			$(".lineaOrden").children('td').css('-mozborder-radius','');
			$(".lineaOrden").children('td').css('-webkit-border-radius','');
		
			var par=true;
			$(".lineaOrden").each(function(){
				if( $(this).is(":visible") ) {
					if(par) $(this).children('td').css('background-color','#ffffff');
					else $(this).children('td').css('background-color','#eeeeee');
					par = !par;
					ultimaFila=$(this);
				}
			});
			
			ultimaFila.children('td').css('border-bottom','1px solid #999999');
			ultimaFila.children('td:first').css('border-radius','0 0 0 15px');
			ultimaFila.children('td:first').css('-mozborder-radius','0 0 0 15px');
			ultimaFila.children('td:first').css('-webkit-border-radius','0 0 0 15px');
			ultimaFila.children('td:last').css('border-radius','0 0 15px 0');
			ultimaFila.children('td:last').css('-mozborder-radius','0 0 15px 0');
			ultimaFila.children('td:last').css('-webkit-border-radius','0 0 15px 0');
		
		}
		
		function aplicarFiltro(id) {
		
			if( $('#filtroEstado').val()=='' && $('#filtroCliente').val()=='' ) {
				$('#filtroApagado').show();
				$('#quitarFiltro').hide();
				$('#aplicarFiltro').hide();
			}
			else  {
				$('#filtroApagado').hide();
				$('#quitarFiltro').show();
				$('#aplicarFiltro').hide();
			}
			
			
			
			$('.lineaOrden').each(function() {
			
				var coincidenciaEstado=false;
				var coincidenciaCliente=false;
			
				if( $('#filtroEstado').val()!='' && $(this).attr('estado')==$('#filtroEstado').val() ) coincidenciaEstado=true;
				else if( $('#filtroEstado').val()=='' ) coincidenciaEstado=true;
			
				if( $('#filtroCliente').val()!='' && $(this).attr('cliente')==$('#filtroCliente').val() ) coincidenciaCliente=true;
				else if( $('#filtroCliente').val()=='' ) coincidenciaCliente=true;
				
				if( coincidenciaEstado && coincidenciaCliente ) $(this).show();
				else $(this).hide();
			});
			
	
			//Revertimos el check actual si viniera de la linea acutomatico porque confunde al filtrar
			if(id) {
				if( $('#'+id).is(":checked") ) $('#'+id).prop("checked",false);
				else $('#'+id).prop("checked",true);
			}
	
			repintarTabla();
		
		}
	
		$(document).ready(function() {
			
			$('.lineaOrden').on("click",function(){
				$('#popupCargando').show();
				window.location='<?php echo $rutaHtml; ?>/trazabilidad-tabaco-salida.php?orden='+$(this).attr('orden')+'&empresa='+$(this).attr('empresa');	
			});
			
			$('.selectorFiltro').on("change",function() {
				aplicarFiltro();
			});
			
			$('#quitarFiltro').on("click",function() {
		
				$('#filtroEstado option:selected').removeProp('selected');
				$('#filtroCliente option:selected').removeProp('selected');
				
				$('#filtroEstado option[value=""]').prop('selected',true);
				$('#filtroCliente option[value=""]').prop('selected',true);
				
				$('#filtroApagado').show();
				$('#quitarFiltro').hide();
				$('#aplicarFiltro').hide();
	
				$(".lineaOrden").show();
				
				repintarTabla();
				
			});
			
			$(document).on('change','#orden',function(){
		
				$('#popupCargando').show();
				
				var orden=$('#orden').val();
				var codigoEmpresa;
				var encontrada=false;
				
				$('.lineaOrden').each(function() {
					if($(this).attr('orden')==orden) {
						encontrada=true;
						codigoEmpresa=$(this).attr('empresa');
					}
				});
				
				
				if(encontrada) {
					window.location='<?php echo $rutaHtml; ?>/trazabilidad-tabaco-salida.php?orden='+orden+'&empresa='+codigoEmpresa;
				}
				else {
					$('#popupCargando').hide();
					alert('Error: Orden de Preparación no encontrada.').done(function(){
						$("#orden").val('');
						$("#orden").focus();
					});
				}
				
			});
					
			$(document).on('click','#tecladoCodigoOrden',function(){
				$('#teclado').show();
				$('#valor').val( $('#orden').val() );
				$('#valorOculto').val( $('#orden').val() );
				$('#enter').attr('campoValor','orden');
				$('#enter').attr('forzarEnter','si');	
			});
					
			$(document).on('click','#borrarOrden',function(){
				$("#orden").val('');
				$("#orden").focus();		
			});
			
			$('#orden').focus();
			
		});
	
	</script>
    
	<?php
}
else {
	?>
	<p>No hay ninguna Orden de Preparación pendiente de Trazabilidad.</p><?php
}
?>