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

//echo "<p>caja actual: ".$_SESSION['preparacionCajaActual']."</p>";

//Llamada original completa para obtener toda la OP, descartamos y creamos una nueva que solo devuelve el bloque cajas, para agilizar	//$peticion='SGAPreparar#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#DETALLEORDENPREP#'.$_SESSION['almacen'].';'.$_SESSION['orden']['Empresa'].';'.$_SESSION['orden']['OrdenPreparacion'];
$peticion='SGAListaCajasOPrep#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#'.$_SESSION['orden']['OrdenPreparacion'];
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

//No se por qué pero el WS devuelve un subnivel "Cajas" inicial, no un bloque directo de objetos Caja. Supongo que por reutilizar código de otros WS
$datosOrden=$resultado[0];
$_SESSION['cajas']=arreglaArrayPXMobileProxiumResult($datosOrden['Cajas']);

//echo "<p>".$peticion."</p>";
//print_r($resultado);



if( $_SESSION['parametrosSGA']['GestionPackingList']=='S' && $_SESSION['orden']['RequierePackingList']=='S' ) {

	$cajasPorPalet=array();
	
	foreach($_SESSION['cajas'] as $caja) $cajasPorPalet[$caja['PaletCajaPL']][]=$caja;
	if($caja['PaletCajaPL']==$_SESSION['preparacionPaletActual']) $cajasPaletActual=$caja;
}


//////////////////////////////////////////////////
// HAY QUE ORDENAR LAS CAJAS POR NUM DE PALET. PRIMERO EL PALET SELCCIONADO ACTUAL Y A CONTINAUCION TODOS LOS DEMAS
// AL CAMBIAR DE CAJA, DEBE CAMBIAR AUTOMATICAMENTE EL NUM DE PALET SELECCIONADO Y ***AVISAR***
//////////////////////////////////////////////////

function listadoCajas($cajas) {

	global $rutaHtml;

	foreach($cajas as $caja) {
	
		$cajaProductos=arreglaArrayPXMobileProxiumResult($caja['Productos']);
		
		?>
		<h2 id="itemCaja<?php echo $caja['NumeroCaja']; ?>" numCaja="<?php echo $caja['NumeroCaja']; ?>" numPalet="<?php echo $caja['PaletCajaPL']; ?>" seleccionada="<?php if($_SESSION['preparacionCajaActual']==$caja['NumeroCaja']) { ?>si<?php } else { ?>no<?php } ?>" class="selectorCajaSuperior">
		
		<span class="selectorCaja clicable" ><?php echo $caja['NumeroCaja']; ?></span>
		
		<img class="imagenCaja selectorCaja clicable" id="imagenCaja<?php echo $caja['NumeroCaja']; ?>" src="<?php echo DIR_IMAGENES; ?>/<?php if($_SESSION['preparacionCajaActual']==$caja['NumeroCaja']) { ?>ok<?php } else { ?>caja<?php } ?>.png" width="47" />
		
		<?php if(count($cajaProductos)==0) { ?>
		<img id="borrarCaja<?php echo $caja['NumeroCaja']; ?>" src="<?php echo DIR_IMAGENES; ?>/x.png" width="67" class="borrarCaja clicable" style="margin-left:10px;margin-right:-77px;margin-bottom:-20px;"/>
		<?php } ?>
		
		</h2>
		
		<?php
	
	}

}
if( $_SESSION['parametrosSGA']['GestionPackingList']=='S' && $_SESSION['orden']['RequierePackingList']=='S' ) {
	
	?><p><?php if($_SESSION['preparacionPaletActual']) { ?>Palet actual: <strong><?php echo $_SESSION['preparacionPaletActual']; ?></strong><?php } ?></p><?php
	listadoCajas($cajasPorPalet[$_SESSION['preparacionPaletActual']]);
	?>
	<p>Cajas contenidas en otros Palets:</p>
    <?php
	foreach($cajasPorPalet as $palet=>$valores) {
		if($palet!=$_SESSION['preparacionPaletActual']) {
			?><p class="medio" style="margin: 15px 0 5px 0;"><?php if($palet) { ?>Palet <strong><?php echo $palet; ?></strong><?php } else { ?><strong>CAJAS NO CONTENIDAS EN NINGÚN PALET</strong> (paletizar después en Packing List)<?php } ?></p><?php
			listadoCajas($valores);
		}
	}
}
else {

	listadoCajas($_SESSION['cajas']);
}

?>
<script>

	

	$(document).ready(function() {
	
		$(document).on('click','.selectorCaja',function() {
		
			var caja=$(this).parent().attr('numCaja');
			var palet=$(this).parent().attr('numPalet');
			
			if( $(this).parent().attr('seleccionada')=='no' ) {
				
				//alert("se procede a cargar el contenido de la caja actual: "+caja);
				$('#popupCargando').show();
			
				$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-caja-seleccionar.php", { 'caja' : caja })
				.done(function() {
					
					//alert("la caja "+caja+" se ha seleccionado");
				
					$('.selectorCaja').parent().attr('seleccionada','no');
					$('.imagenCaja').attr("src","<?php echo DIR_IMAGENES; ?>/caja.png");
					
					$('#selectorCaja'+caja).parent().attr('seleccionada','si');
					$('#imagenCaja'+caja).attr("src","<?php echo DIR_IMAGENES; ?>/ok.png");
					
					//Etiqueta en pestaña
					$('#etiquetaCodigoCaja').html(caja);
					
					
					//Valor para el formulario de preparación
					$('#cajaSeleccionada').val(caja);
					
					
					<?php if( $_SESSION['parametrosSGA']['GestionPackingList']=='S' && $_SESSION['orden']['RequierePackingList']=='S' ) { ?>
					
					if( palet != $('#paletSeleccionado').val() ) {
					
						//alert("el palet de la caja seleccionada no coincide con el palet actual");
					
						$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-palet-seleccionar.php?noborrarcaja=si", { 'palet' : palet })
						.done(function() {
						
							$('#popupCargando').hide();
						
							$('.selectorPalet').parent().attr('seleccionado','no');
							$('.imagenPalet').attr("src","<?php echo DIR_IMAGENES; ?>/palet.png");
							
							$('#selectorPalet'+palet).parent().attr('seleccionado','no');
							$('#imagenPalet'+palet).attr("src","<?php echo DIR_IMAGENES; ?>/ok.png");
							
							//Esto no hace nada, solo avisa de que se ha cambiado a una caja que está en otro palet y se ha cambiado de Palet
								if(palet) {
									if( $('#paletSeleccionado').val()=='') {
										alert('Al elegir esta Caja de Expedición se ha seleccionado automáticamente el Palet de trabajo.<br><br>Ahora operas con el <strong>Palet '+palet+'</strong> y las siguientes cajas añadidas se asociarán a él.')
										.done(function(){
											cargaListadoCajas(true);
										});								}
									else {
										alert('ATENCION: La caja seleccionada pertenece a un Palet distinto al actual.<br><br>Se ha procedido a cambiar el Palet seleccionado. Ahora operas con el <strong>Palet '+palet+'</strong>.')
										.done(function(){
											cargaListadoCajas(true);
										});
									}
								}
								else {
									alert('ATENCION: Esta caja no está paletizada.<br><br>Se puede introducir productos, pero posteriormente deberá paletizarse desde la ventana de edición del Packing List.')
									.done(function(){
										cargaListadoCajas(true);
									});
								}
							
							//Valor para el formulario de preparación
							$('#paletSeleccionado').val(palet);
						
						});
					
					}
					else  {
						cargaContenidoCajaActual();
					}
					
					<?php } else { ?>
					
					cargaContenidoCajaActual();
					
					<?php } ?>
					
					/*
					$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-caja-contenido.php?recarga=si")
					.done(function(data) {
					
						$('#popupCargando').hide();
						
						$('#contenidoCaja').html(data);
						redimensionaPestanyas('contenedorPrincipal');
								
						$("html, body").animate({scrollTop:0},"slow");
						mueveHastaPestanya('pestanyaContenidoCaja');
						
					});
					*/

				
				});
			
			}
		
		});
		
		$('.borrarCaja').on("click",function() {
		
			$('#popupCargando').show();
		
			var caja=$(this).parent().attr('numCaja');
			
			$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-caja-desasociar.php", { 'caja' : caja  })
			.done(function(data) {
				alert(data)
				.done( function(){
				
					cargaListadoCajas();
					cargaListadoPalets();
					
					if(caja==$('#cajaSeleccionada').val()) {
						$('#etiquetaCodigoCaja').html('');
						$('#cajaSeleccionada').val('');
					}
						
				});		
			});
			
		});
	
	});
	
</script>
