<?php
//02-04-2026 Errores de caché y páginas cortadas a mitad. VCDL
ob_start();
$isIIS = ( isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS')!==false );
if(!$isIIS) opcache_reset();
if(!session_id()) session_start();

require_once('config.php');
require_once($rutaPhp.$rutaHtml.'/maqueta/includes.php');

//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL);

require_once($rutaPhp.$rutaHtml.'/acceso/control.php');
require_once($rutaPhp.$rutaHtml.'/maqueta/arriba.php');

require_once($rutaPhp.$rutaHtml.'/librerias/calculadora.php');

$traza=(isset($_GET['traza']) && $_GET['traza']=='si');


//Funcion para transformar los campos de los palets de entrada al mismo formato que los del PL, para que todo coincida
function transformaFormatoXMLPaletsEntrada( $listado ) {

	$nuevoListado=array();
	
	foreach($listado as $item) {
		$item['PaletPL']=$item['CodigoPalet'];
		$item['Ubicacion']=$item['UbicacionPalet'];
		$nuevoListado[]=$item;
	}
	
	return $nuevoListado;

}



// 4-5-2023 unificamos script para entradas y preparaciones
$esPreparacion=false;
$esEntrada=false;
if($_GET['origen']=='preparacion') {
	$esPreparacion=true;
	$informarPesos=true;
	$listadoAgrupaciones=$_SESSION['agrupaciones'];
}
else if($_GET['origen']=='entrada') {
	$esEntrada=true;
	$informarPesos=false;
	$listadoAgrupaciones=transformaFormatoXMLPaletsEntrada($_SESSION['palets']);
}

if($traza) {
	echo '<p>esPreparacion: '.$esPreparacion.'</p>';
	echo '<p>esEntrada '.$esEntrada.'</p>';
	echo '<p>informarPesos '.$informarPesos.'</p>';
	echo '<p>Listado:</p>';
	print_r($listadoAgrupaciones);
	echo '<hr>';
}



//12-09-2022
//$pedirContenedorDestinoUbicacion=($pedirContenedorDestino && $_SESSION['parametrosSGA']['UbicarAlPreparar']=='S');
$pedirContenedorDestinoUbicacion=($_SESSION['parametrosSGA']['UbicarAlPreparar']=='S');


//foreach($_SESSION['tiposPalet'] as $palet) { print_r($palet); echo '<hr>'; }

if($_POST) {

	$cadenaPalets='';
	
	foreach($listadoAgrupaciones as $palet) {
	
		if($cadenaPalets!='') $cadenaPalets.='@';
	
		$cadenaActual=$palet['PaletPL'];
		
		//palet;ancho;fondo;alto;peso
		$cadenaActual.=','.$_POST['palet-'.$palet['PaletPL'].'-ancho'];
		$cadenaActual.=','.$_POST['palet-'.$palet['PaletPL'].'-fondo'];
		$cadenaActual.=','.$_POST['palet-'.$palet['PaletPL'].'-alto'];
		$cadenaActual.=','.$_POST['palet-'.$palet['PaletPL'].'-peso'];
		$cadenaActual.=','.$_POST['palet-'.$palet['PaletPL'].'-tipo'];
		
		if($_POST['palet-'.$palet['PaletPL'].'-pesaje']) $cadenaActual.=',S';
		
		$cadenaPalets.=$cadenaActual;
	}

	//ActualizaDimensionesPesoPal(EMP,Usuario,Almacen,Parametros)

	if($esPreparacion) {
		$webService='ActualizaDimensionesPesoPal';
		$empresaOrden=$_SESSION['orden']['Empresa'];
		$identificador=$_SESSION['almacen'];
	}
	else {
		if($esEntrada) $webService='ActualizaDimensionesPal';
		$empresaOrden=$_SESSION['entrada']['Empresa'];
		$identificador=$_SESSION['entrada']['NumEntrada'];
	}

	$peticion=$webService.'#'.$empresaOrden.'#'.$_SESSION['usuario']['Usuario'].'#'.$identificador.'#'.$cadenaPalets;
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
	
	if($traza) {
		echo "<p>".$peticion."</p>";
		print_r($resultado);
	}
		
	$validacion=explode('#',$resultado[0]['Error']);
		
	if($validacion[0]==0) {

		if($_GET['cierre']=='si') {
			if($esPreparacion) $_SESSION['atributosPaletsConfirmados']=true;
			else if($esEntrada) $_SESSION['atributosPaletsConfirmadosEntrada']=true;
		}
		
		?>
		<script>
			$('#popupCargando').show();
			<?php if($_GET['cierre']=='si') { ?>
				<?php if($esPreparacion) { ?>
				window.location="orden-preparacion-proceso-S.php";
				<?php } else if($esEntrada) { ?>
				window.location='entrada-mercancia-gs1-cierre.php';
				<?php } ?>
			<?php } else { ?>
				<?php if($esPreparacion) { ?>
				window.location="orden-preparacion-S.php?orden=<?php echo $_SESSION['orden']['OrdenPreparacion']; ?>&empresa=<?php echo $_SESSION['orden']['Empresa']; ?>";
				<?php } else if($esEntrada) { ?>
				window.location="entrada-mercancia-gs1.php";
				<?php } ?>
			<?php } ?>
		</script>
		<?php
		
	}
	else { ?><script>alert("<?php echo $validacion[1]; ?>",null,'error');</script><?php }

}

if( ( $esPreparacion && $_SESSION['orden']['OrdenPreparacion'] ) || ( $esEntrada && $_SESSION['entrada']['NumEntrada'] ) ) {


	//Recargamos los datos de la cabecera, porque sino el listado de palets viene vacio, si no se ha vuelto a pasar por la cabecera tras hacer lecturas y terminar
	
	if($esPreparacion) {
	
		$peticion='SGAPreparar#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#DETALLEORDENPREP#'.$_SESSION['almacen'].';'.$_SESSION['orden']['Empresa'].';'.$_SESSION['orden']['OrdenPreparacion'];
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($traza) {
			echo "<p>Recarga cabecera orden prep para cierre</p>";
			echo "<p>".$peticion."</p>";
			print_r($resultado);
			echo '<p>Tipos de palets:</p>';
			print_r($_SESSION['tiposPalet']);
		}
				
		$_SESSION['orden']=$resultado[0];
		
		
		$confirmarPesaje=($_SESSION['orden']['CheckPesaje']=='S');
		
		//echo '<p>confirmarPesaje: '.$confirmarPesaje.'</p>';
		//print_r($_SESSION['orden']);
	
		if($traza) {
			echo '<p>confirmarPesaje: '.$confirmarPesaje.'</p>';
		}
		
		
		
		$productos=arreglaArrayPXMobileProxiumResult($_SESSION['orden']['Productos']); //Se utiliza más abajo en el constructor de agrupaciones
		
		$_SESSION['palets']=arreglaArrayPXMobileProxiumResult($_SESSION['orden']['PaletsPL']);
		
		//CREACION DEL ARBOL DE AGRUPACIONES PALETS/CAJAS
		include('contenidos/orden-preparacion-S-agrupaciones-constructor.php');
	
		//9-2-2021 Sacamos la cabecera a "contenidos" para reutilizarla en varias pantallas
		include('contenidos/orden-preparacion-S-cabecera.php');
		
		$agrupacionesProcesoActual=array();
		$otrasAgrupaciones=array();
		
		$listadoAgrupaciones=$_SESSION['agrupaciones'];
		
		foreach($listadoAgrupaciones as $palet) {
			if($palet['EnOrdenPreparacionActual']=='S') $agrupacionesProcesoActual[]=$palet;
			else $otrasAgrupaciones[]=$palet;
		}
		
	} //Fin si es preparacion
	else if($esEntrada) {
	
		$peticion='SGAEntradasMercancia#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#DETALLEENTRADA#'.$_SESSION['almacen'].';'.$_SESSION['entrada']['Empresa'].';'.$_SESSION['entrada']['NumEntrada'];
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($traza) {
			echo "<p>Recarga cabecera entrada para cierre</p>";
			echo "<p>".$peticion."</p>";
			print_r($resultado);
			echo '<p>Tipos de palets:</p>';
			print_r($_SESSION['tiposPalet']);
		}
		
		$_SESSION['entrada']=$resultado[0];
		$_SESSION['palets']=arreglaArrayPXMobileProxiumResult($_SESSION['entrada']['DetallePalets']);
		
		$listadoAgrupaciones=transformaFormatoXMLPaletsEntrada($_SESSION['palets']);
		$agrupacionesProcesoActual=$listadoAgrupaciones; //esto es asi porque es comun, en entradas no hay dos bloques, pero en preparaciones si
	
	}
	
	function bloqueAgrupaciones($listado) {
	
		global $informarPesos;
		global $confirmarPesaje;
		global $pedirContenedorDestinoUbicacion;
	
		?>
		<table class="tablaFormateada anchoMaximo" style="margin-top:30px">
    
			<tr>
				<th width="50"></th>		
				<th width="50">Id agrupación</th>
                <?php if($pedirContenedorDestinoUbicacion) { ?>
                <th width="50">Ubicación</th>
                <?php } ?>
                <th>Tipo</th>
				<th width="50">Ancho (mm)</th>
				<th width="50">Fondo (mm)</th>
				<th width="50">Alto (mm)</th>
                
                <th width="50">Volumen (m<sup style="font-size:0.8em">3</sup>)</th>
                
                
                <?php if($informarPesos) { ?>
                <th width="50">Peso neto (kg)</th>
                <th width="50">Peso bruto (kg)</th>
                <?php } ?>
                
                <?php if($confirmarPesaje) { ?>
			    <th width="50">Confirmar<br />Pesaje</th>
                <?php } ?>
			</tr>
		
			<?php foreach($listado as $palet) { ?>
			
            <?php if(isset($palet['Peso']) && $palet['Peso']) $palet['Peso']=round($palet['Peso'],2); ?>
            
            <?php //print_r($palet); echo '<hr>'; ?>
            
			<tr>
			  <td>
				<?php if(isset($palet['EsCaja']) && $palet['EsCaja']=='S') { ?>
				<img src="<?php echo DIR_IMAGENES; ?>/caja-vacia.png" width="40" />
				<?php } else { ?>
				<img src="<?php echo DIR_IMAGENES; ?>/palet-vacio<?php if($_SESSION['tiposPalet'][$palet['TipoPalet']]['CHEP']=='S') { ?>-chep<?php } ?>.png" width="50" />
				<?php } ?>			  </td>
                <td><?php echo $palet['PaletPL']; ?></td>
                
                <?php if($pedirContenedorDestinoUbicacion) { ?>
                <td><?php echo $palet['Ubicacion']; ?></td>
                <?php } ?>
                
				<td>
                
                	<?php
					$anchoPredeterminado=0;
					$fondoPredeterminado=0;
					$altoPredeterminado=0;
					?>
                
                
					<?php if( $_SESSION['seleccionTipoPalet'] || $_SESSION['SeleccionTipoCajaSalida'] ) { ?>
                    
                    	<select name="palet-<?php echo $palet['PaletPL']; ?>-tipo" id="palet-<?php echo $palet['PaletPL']; ?>-tipo" class="campo selectorTipoPalet" valorOriginal="<?php if(isset($palet['TipoSoporte'])) echo $palet['TipoSoporte']; ?>" IDPalet="<?php echo $palet['PaletPL']; ?>">
                            <option value="">---</option>
                            
                            <?php if( isset($palet['EsCaja']) && $palet['EsCaja']=='S' && $_SESSION['SeleccionTipoCajaSalida'] ) { ?>
                            
                            	<?php foreach($_SESSION['tiposCajas'] as $tipoCaja) { ?>
                                
                                    <option value="<?php echo $tipoCaja['Codigo']; ?>"  <?php if($tipoCaja['Codigo']==$palet['TipoPalet']) { ?>selected<?php } ?>><?php echo $tipoCaja['Descripcion']; ?></option>
                                    
                                     <?php
                                    if($tipoCaja['Codigo']==$palet['TipoPalet']) {
                                        $anchoPredeterminado=$tipoCaja['Ancho'];
                                        $fondoPredeterminado=$tipoCaja['Fondo'];
                                        $altoPredeterminado=$tipoCaja['Alto'];
                                    }
                                    ?>
								
								<?php } ?>
                            
                            <?php } else { ?>
                            
                            	<?php $pesoSoporte=0; ?>
                            
								<?php foreach(array_keys($_SESSION['tiposPalet']) as $codigoPalet) { ?>
                                
                                    <option value="<?php echo $codigoPalet; ?>" <?php if($codigoPalet==$palet['TipoPalet']) { ?>selected<?php } ?> chep="<?php echo $_SESSION['tiposPalet'][$codigoPalet]['CHEP']; ?>" ancho="<?php echo $_SESSION['tiposPalet'][$codigoPalet]['Ancho']; ?>" fondo="<?php echo $_SESSION['tiposPalet'][$codigoPalet]['Fondo']; ?>" peso="<?php if($_SESSION['tiposPalet'][$codigoPalet]['Peso']) echo round($_SESSION['tiposPalet'][$codigoPalet]['Peso'],2); ?>"><?php echo $_SESSION['tiposPalet'][$codigoPalet]['Descripcion']; ?></option>
                                    
                                    <?php
									

									if($codigoPalet==$palet['TipoPalet']) {
										$anchoPredeterminado=$_SESSION['tiposPalet'][$codigoPalet]['Ancho'];
										$fondoPredeterminado=$_SESSION['tiposPalet'][$codigoPalet]['Fondo'];
										if($_SESSION['tiposPalet'][$codigoPalet]['Peso']) $pesoSoporte=round($_SESSION['tiposPalet'][$codigoPalet]['Peso'],2);
										else $pesoSoporte=0;
									}
									else {
										$pesoSoporte=0;
									}
                                    
                                    //echo '<p>codigoPalet: '.$codigoPalet.' / TipoPalet: '.$palet['TipoPalet'].'</p>';
                                    //echo '<p>peso en sesion: '.$_SESSION['tiposPalet'][$codigoPalet]['Peso'].'</p>';
                                    //echo '<p>calculo pesoSoporte: '.$pesoSoporte.'</p>';
                                    ?>
                                
                                <?php } //Fin foreach?>
                                
                            <?php } ?>
                        </select>
                        
                    <?php } else { ?>
                    
                        <?php echo $_SESSION['tiposPalet'][$palet['TipoPalet']]['Descripcion']; ?>
                        
                    <?php } ?>
                    
				<?php
    
                if( ($palet['Ancho']=='' && $palet['Fondo']=='' && $palet['Alto']='') || ($palet['Ancho']=='0' && $palet['Fondo']=='0' && $palet['Alto']=='0') ) {
					//Se queda los valores predeterminados cogidos arriba de los maestros
					//echo '<p>anchoPredeterminado: '.$anchoPredeterminado.'</p>';
					//echo '<p>fondoPredeterminado: '.$fondoPredeterminado.'</p>';
					//echo '<p>altoPredeterminado: '.$altoPredeterminado.'</p>';
				}
				else {
					$anchoPredeterminado=$palet['Ancho'];
					$fondoPredeterminado=$palet['Fondo'];
					$altoPredeterminado=$palet['Alto'];
				}
				
				?>
                
                <input type="hidden" id="palet-<?php echo $palet['PaletPL']; ?>-pesoSoporteOriginal" name="palet-<?php echo $palet['PaletPL']; ?>-pesoSoporteOriginal" value="<?php echo $pesoSoporte; ?>"/>                </td>
				
                <td><input type="text" id="palet-<?php echo $palet['PaletPL']; ?>-ancho" name="palet-<?php echo $palet['PaletPL']; ?>-ancho" class="campo cantidad campoAtributo" style="width:80px" autocomplete="off" value="<?php echo $anchoPredeterminado; ?>"/></td>
				<td><input type="text" id="palet-<?php echo $palet['PaletPL']; ?>-fondo" name="palet-<?php echo $palet['PaletPL']; ?>-fondo" class="campo cantidad campoAtributo" style="width:80px" autocomplete="off" value="<?php echo $fondoPredeterminado; ?>"/></td>
				<td><input type="text" id="palet-<?php echo $palet['PaletPL']; ?>-alto" name="palet-<?php echo $palet['PaletPL']; ?>-alto" class="campo cantidad campoAtributo" style="width:80px" autocomplete="off" value="<?php echo $altoPredeterminado; ?>"/></td>
				
                
                <td>
                <?php
				$m3=((int)$anchoPredeterminado/1000) * ((int)$fondoPredeterminado/1000) * ((int)$altoPredeterminado/1000);
				if($m3) $m3=number_format($m3,2,',','.');
				else $m3='';
				?>
                <input type="text" id="palet-<?php echo $palet['PaletPL']; ?>-m3" name="palet-<?php echo $palet['PaletPL']; ?>-m3" class="campo deshabilitado" style="width:80px" autocomplete="off" value="<?php echo $m3; ?>" readonly/>
                </td>
                
                <?php if($informarPesos) { ?>
                
                <?php 
				if($palet['PesoNeto']>0) $pesoNeto=number_format($palet['PesoNeto'],3,',','.');
				else $pesoNeto=0;
				?>
                
                <td><input type="text" id="palet-<?php echo $palet['PaletPL']; ?>-pesoNeto" name="palet-<?php echo $palet['PaletPL']; ?>-pesoNeto" class="campo deshabilitado" style="width:105px" autocomplete="off" value="<?php echo $pesoNeto; ?>" readonly/></td>
                
                <td>
                
                <?php
				/*
				ini_set('precision', 200);
				echo '<p>pesoSoporte : '.$pesoSoporte.'</p>';
				echo '<p>palet Peso : '.$palet['Peso'].'</p>';
				$suma=(float)$pesoSoporte+(float)$palet['Peso'];
				echo '<p>suma : '.$suma.'</p>';
				*/
				?>
                <input type="text" id="palet-<?php echo $palet['PaletPL']; ?>-peso" name="palet-<?php echo $palet['PaletPL']; ?>-peso" class="campo cantidad campoAtributo" style="width:105px" autocomplete="off" value="<?php if($confirmarPesaje && $palet['Pesaje']!='S') echo $pesoSoporte+$palet['Peso']; else echo $palet['Peso']; ?>"/>
                <input type="hidden" id="palet-<?php echo $palet['PaletPL']; ?>-pesoContenidoOriginal" name="palet-<?php echo $palet['PaletPL']; ?>-pesoContenidoOriginal" value="<?php echo $palet['Peso'] ?>"/>
                
				<?php } ?>
                
                </td>
			    
                <?php if($confirmarPesaje) { ?>
                <td>
                <input type="checkbox" name="palet-<?php echo $palet['PaletPL']; ?>-pesaje" id="palet-<?php echo $palet['PaletPL']; ?>-pesaje" class="checkGrande" <?php if($palet['Pesaje']=='S') { ?>checked<?php } ?>/>                </td>
                <?php } ?>
			</tr>
			
			
			<?php } ?>
</table>
        <?php
	
	}
	
	?>
	
    <h3><strong>Informar atributos de las agrupaciones:</strong></h3>
    
    <form action="" method="post" enctype="multipart/form-data" name="formularioPalets" id="formularioPalets">
        
        <?php if(isset($otrasAgrupaciones) && is_array($otrasAgrupaciones) && count($otrasAgrupaciones)>0) { ?>
        <p>Agrupaciones utilizadas en la <?php if($esPreparacion) { ?>Preparación<?php } else if($esEntrada) { ?>Entrada<?php } ?> actual:</p>
        <?php } ?>
        
        <?php bloqueAgrupaciones($agrupacionesProcesoActual); ?>
        
        <?php if($esPreparacion && is_array($otrasAgrupaciones) && count($otrasAgrupaciones)>0) { ?>
        <p>Otras Agrupaciones asociadas al Packing List:</p>
        <?php bloqueAgrupaciones($otrasAgrupaciones); ?>
        <?php } ?>
        
        <?php if($confirmarPesaje) { ?>
        <p><input type="submit" name="botonRecalcularPesos" id="botonRecalcularPesos" value="Recalcular pesos" class="boton reducido"/></p>
        <?php } ?>
        
        <p><input type="submit" name="botonInformar" id="botonInformar" value="Informar" class="boton"/></p>
        
        <?php //if($esEntrada) { ?>
        <p><input type="submit" name="botonVolver" id="botonVolver" value="Volver" class="boton reducido"/></p>
        <?php //} ?>
                    
    </form>
    
    <script>
	
	$(document).ready(function() {
	
		$('#botonVolver').on('click',function(e){
		
			e.preventDefault();
			
			$('#popupCargando').show();
			
			<?php if($esEntrada) { ?>
			window.location="entrada-mercancia-gs1.php";
			<?php } ?>
			
			<?php if($esPreparacion) { ?>
			window.location="orden-preparacion-S.php?orden=<?php echo $_SESSION['orden']['OrdenPreparacion']; ?>&empresa=<?php echo $_SESSION['orden']['Empresa']; ?>";
			<?php } ?>
			
		});
	
		<?php if($confirmarPesaje) { ?>
	
		//8-10-2021 recalculo de pesos
		$('#botonRecalcularPesos').on('click',function(e){
		
			e.preventDefault();
			
			confirm('ATENCIÓN: Solo se recalculará el peso de aquellos palets sin pesaje confirmado.','advertencia')
			.done(function(){
		
				$('.selectorTipoPalet').each(function(){
				
					var idpalet=$(this).attr('IDPalet');
					var seleccionado=$('option:selected',this);
					var peso;
					if(seleccionado.attr('peso')>0) peso=parseFloat(seleccionado.attr('peso'));
					else peso=0;
					
					var pesoContenidoOriginal;
					if($('#palet-'+idpalet+'-pesoContenidoOriginal').val()>0) pesoContenidoOriginal=parseFloat($('#palet-'+idpalet+'-pesoContenidoOriginal').val());
					else pesoContenidoOriginal=0;
					var checkConfirmaPesaje=$('#palet-'+idpalet+'-pesaje').is(':checked');
					if(!checkConfirmaPesaje) $('#palet-'+idpalet+'-peso').val(peso+pesoContenidoOriginal);
				
				});
			
			});
		
		});
		
		<?php } ?>
	
		$('.selectorTipoPalet').on('change',function(){
		
			var idpalet=$(this).attr('IDPalet');
			var seleccionado=$('option:selected',this);
			
			var ancho=seleccionado.attr('ancho');
			var fondo=seleccionado.attr('fondo');
			
			var peso;
			if(seleccionado.attr('peso')>0) peso=parseFloat(seleccionado.attr('peso'));
			else peso=0;
			$('#palet-'+idpalet+'-pesoSoporteOriginal').val(peso);
			
			if(ancho || fondo) {
			
				var anchoInformado=$('#palet-'+idpalet+'-ancho');
				var fondoInformado=$('#palet-'+idpalet+'-fondo');
				
				if(anchoInformado.val()=='' && fondoInformado.val()=='') {
					if(ancho) anchoInformado.val(ancho);
					if(fondo) fondoInformado.val(fondo);
				}
				else {
					confirm('Las dimensiones de este tipo de Palet no coinciden con los valores informados.<br><br>¿Deseas cambiarlos por los estándares?','pregunta','Sustituir','Mantener')
					.done(function(){
						if(ancho) anchoInformado.val(ancho);
						if(fondo) fondoInformado.val(fondo);
					});
				}
				
			}
			
			<?php if($confirmarPesaje) { ?>
			
			//8-10-2021 recalculo de pesos
			var pesoContenidoOriginal;
			if($('#palet-'+idpalet+'-pesoContenidoOriginal').val()>0) pesoContenidoOriginal=parseFloat($('#palet-'+idpalet+'-pesoContenidoOriginal').val());
			else pesoContenidoOriginal=0;
			var checkConfirmaPesaje=$('#palet-'+idpalet+'-pesaje').is(':checked');
			if(!checkConfirmaPesaje) $('#palet-'+idpalet+'-peso').val(peso+pesoContenidoOriginal);
			
			<?php } ?>
		
		});
	
		$('.campoAtributo').on('click',function(e) {
			$('#calculadora').show();
			$('#valorCalculadora').val( $(this).val() );
			$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
			$('#enterCalculadora').attr('forzarEnter','si');
		});
		
		$('.campoAtributo').on('change',function(e) {
		
			e.preventDefault();
			
			var nombre=$(this).attr('id');
			
			console.log('cambio: '+nombre);
			
			var valores=nombre.split('-');
			var composicionNombrePalet='palet-'+valores[1]+'-';
			var calculo= parseInt($('#'+composicionNombrePalet+'ancho').val())/1000 * parseInt($('#'+composicionNombrePalet+'fondo').val())/1000 * parseInt($('#'+composicionNombrePalet+'alto').val())/1000;
			if(calculo>0) {
				calculo=parseFloat(calculo);
				calculo=calculo.toFixed(2);
				console.log('calculo: '+calculo);
				calculo=calculo.toString().replace('.',',');
			}
			else calculo='';
			$('#'+composicionNombrePalet+'m3').val( calculo );
		});
		
		$('#botonInformar').on("click",function(e) {
		
			e.preventDefault();
			
			var esCierre=false;
			var confirmarPesaje=false;
			
			var hayVacios=false;
			var pesosInformadosSinCheck=false;
			var pesosBrutosMayoresNetos=false;
			
			<?php if($_GET['cierre']=='si') { ?>
			
			esCierre=true;
			
			<?php } ?>
			
			<?php if($confirmarPesaje) { ?>
			
			confirmarPesaje=true;
			
			$('.selectorTipoPalet').each(function(){
			
				var idpalet=$(this).attr('IDPalet');
				var seleccionado=$('option:selected',this);
				
				var pesoPalet;
				if(seleccionado.attr('peso')>0) pesoPalet=parseFloat(seleccionado.attr('peso'));
				else pesoPalet=0;
				
				var pesoContenidoOriginal;
				if($('#palet-'+idpalet+'-pesoContenidoOriginal').val()>0) pesoContenidoOriginal=parseFloat($('#palet-'+idpalet+'-pesoContenidoOriginal').val());
				else pesoContenidoOriginal=0;
				
				
				
				var deberiaSumar=pesoPalet+pesoContenidoOriginal;
				
				console.log('deberiaSumar: '+deberiaSumar);
				
				var pesoInformado=parseFloat($('#palet-'+idpalet+'-peso').val());
				
				var checkConfirmaPesaje=$('#palet-'+idpalet+'-pesaje').is(':checked');
				if(!checkConfirmaPesaje && pesoInformado!=deberiaSumar) pesosInformadosSinCheck=true;
				
				
				
				console.log('idpalet: '+idpalet);
				console.log('checkConfirmaPesaje: '+checkConfirmaPesaje);
				console.log('pesosInformadosSinCheck: '+pesosInformadosSinCheck);
			
			});
			
			<?php } ?>
			
			<?php if($informarPesos) { ?>
			
			//28-07-2025 TAREA INTERNA 68463
			$('.selectorTipoPalet').each(function(){
			
				var idpalet=$(this).attr('IDPalet');
			
				var pesoInformado=parseFloat($('#palet-'+idpalet+'-peso').val());
				var pesoNeto=parseFloat( $('#palet-'+idpalet+'-pesoNeto').val().replace(',','.') );
				
				
				console.log('pesoInformado: '+pesoInformado);
				console.log('pesoNeto: '+pesoNeto);
				
				if(pesoInformado<pesoNeto) pesosBrutosMayoresNetos=true; 
			
			});
			
			<?php } ?>
						
			$('.campoAtributo').each(function(e) {
				//console.log($(this));
				if($(this).val()=='') hayVacios=true;
			});
			
			
			//console.log('Traza 1');
			
			if(pesosBrutosMayoresNetos) {
				alert('ATENCION:<br>Alguno de los pesos brutos informados es menor que el peso neto del producto que contiene.',null,'error');
			}
			else if( confirmarPesaje && pesosInformadosSinCheck ) {
				alert('ATENCION:<br>Has modificado el peso de algún palet sin confirmar el pesaje.<br>Debes marcarlo para continuar.',null,'error');
			}
			else if( esCierre && hayVacios) {
				confirm('Atención, hay datos sin informar.<br>¿Deseas continuar igualmente con el cierre de la <?php if($esPreparacion) { ?>Preparación<?php } else if($esEntrada) { ?>Entrada<?php } ?>?','advertencia')
				.done(function(){
					//alert('Procedemos al envio... y cierre!');
					$('#popupCargando').show();
					$('#formularioPalets').submit();
				});
			}
			else {
				//alert('Procedemos al envio solo');
				$('#popupCargando').show();
				$('#formularioPalets').submit();
			}
			
		});
		
	});
	
	</script>
	
	<?php
	
}
else {
	?><p class="error">Error, no consta ninguna <?php if($esPreparacion) { ?>Preparación<?php } else if($esEntrada) { ?>Entrada<?php } ?>.</p><?php
}



include($rutaPhp.$rutaHtml.'/maqueta/abajo.php');
?>