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

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

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

if($_POST['ubicacionInicial']) {
	
	$peticion='SGANumerosSerieUbicacion#'.$_SESSION['empresa'].'#'.$_SESSION['almacen'].'#'.$_POST['ubicacionInicial'];
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
	
	if($_GET['traza']=='si') {
		echo "<p>".$peticion."</p>";
		print_r($resultado);
	}
	
	$resultado=$resultado[0];
	$numerosSerieDisponibles=arreglaArrayPXMobileProxiumResult($resultado['DetalleNumerosSerie']);
}
?>
<h2>Ubicar Producto por Números de Serie</h2>
	
<?php include($rutaPhp.$rutaHtml.'/contenidos/popup-playas.php'); ?>
    
<form id="formulario" name="formulario" method="post" action="">

<p>Ubicación inicial:<br />
<img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoUbicacionInicial" /><input name="ubicacionInicial" type="text" class="campo mayusculas" id="ubicacionInicial" style="width:350px" value="<?php echo $_POST['ubicacionInicial']; ?>" <?php if(count($numerosSerieDisponibles)>0) { ?>readonly<?php } ?>/><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="boton-x" id="borrarUbicacionInicial" style="margin-left:-60px;"/><img src="<?php echo DIR_IMAGENES; ?>/playa.png" alt="Seleccionar Playa" id="botonPlayas" style="width:45px;cursor:pointer;padding-left:15px;margin-right:-60px;margin-bottom:-10px"/></p>

</form>

<?php if(!$resultado['Error']) { ?>

	<?php if(count($numerosSerieDisponibles)>0) { ?>
    
    <p class="sinMargen">Números de serie:</p>
    <div style="width:380px;margin:0 auto">
        <div id="bloqueLecturaNS-1" class="campoOrdenPreparacionBloque">
            <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado iconoTecladoNS" id="tecladoNS-1" contador="1"/><input name="lecturaNS-1" type="text" class="campo campoOrdenPreparacion lecturaNS" id="lecturaNS-1" contador="1" /><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="campoOrdenPreparacionBorrar borrarNS" contador="1"/>
        </div>
        <div id="nuevaLecturaNS-1"></div>
    </div>
                
    <input type="<?php if($_GET['traza']=='si') { ?>text<?php } else { ?>hidden<?php } ?>" id="ultimoBloqueNumeroSerie" name="ultimoBloqueNumeroSerie" value="1" />
    <input type="<?php if($_GET['traza']=='si') { ?>text<?php } else { ?>hidden<?php } ?>" id="cadenaNumerosSerieLeidos" name="cadenaNumerosSerieLeidos" />
    
    <p>Ubicación final:<br />
    <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoUbicacionFinal" /><input name="ubicacionFinal" type="text" class="campo mayusculas" id="ubicacionFinal" size="14" maxlength="14"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="boton-x" id="borrarUbicacionFinal" style="margin-left:-60px;"/></p>
        
    <p>Cantidad leída:<br>
    <input name="cantidad" type="text" class="campo cantidad" id="cantidad" readonly="readonly" style="width:150px"/></p>
            
    <p><input type="submit" name="botonAceptar" id="botonAceptar" value="Aceptar" class="boton"/></p>
    
    
        
    <script>
    
        var numerosSerieDisponibles=new Array();
        
        <?php foreach($numerosSerieDisponibles as $item) { ?>
        numerosSerieDisponibles.push('<?php echo $item['NumSerie']; ?>');
        <?php } ?>
    
        function gestionaNumerosSerie() {
        
            var cadena='';
            var cuantos=0;
            $('.lecturaNS').each(function(){
                if($(this).val()!='') {
                    cadena=cadena+$(this).val()+',';
                    cuantos++;
                }
            });
            cadena=cadena.substr(0,cadena.length-1);
            $('#cadenaNumerosSerieLeidos').val(cadena);
                    
            if(cuantos>0) $('#cantidad').val(cuantos);
            else $('#cantidad').val('');
        
        }
        
        function construyeLecturaNS(contador) {
                        
            var nuevoContador=contador+1;
            
            $('#nuevaLecturaNS-'+contador).html('<div id="bloqueLecturaNS-'+nuevoContador+'" class="campoOrdenPreparacionBloque"><img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado iconoTecladoNS" id="tecladoNS-'+nuevoContador+'" contador="'+nuevoContador+'"/><input name="lecturaNS-'+nuevoContador+'" type="text" class="campo campoOrdenPreparacion lecturaNS" id="lecturaNS-'+nuevoContador+'" contador="'+nuevoContador+'" /><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="campoOrdenPreparacionBorrar borrarNS" contador="'+nuevoContador+'"/></div><div id="nuevaLecturaNS-'+nuevoContador+'"></div>');
            
            $('#ultimoBloqueNumeroSerie').val(nuevoContador);
            $('#lecturaNS-'+nuevoContador).focus();
            
            redimensionaPestanyas('contenedorPrincipal');
            
            var posicion = $('#lecturaNS-'+nuevoContador).offset().top;
            $('html,body').animate({scrollTop:posicion});
            
        }
    
    	function valida() {
		
			 if( $('#ubicacionInicial').val()=='' ) {
             	alert('Es obligatorio indicar la Ubicación inicial.')
             	.done( function(){ $('#ubicacionInicial').focus();  });
				return false;
             }
			else if( $('#cadenaNumerosSerieLeidos').val()=='' ) {
				alert('No hay ninguna lectura de Números de Serie.')
				.done( function(){ $('#lecturaNS-'+$('#ultimoBloqueNumeroSerie').val()).focus();  });
				return false;
			}
            else if( $('#ubicacionFinal').val()=='' ) {
            	alert('No has indicado donde se van a ubicar los productos.')
                .done( function(){ $('#ubicacionFinal').focus();  });
				return false;
            }
			else return true;
		}
	
		function envia(){
		
			if(valida()) {
			
				$('#popupCargando').show();
			
				$.post( "<?php echo $rutaHtml; ?>/contenidos/ubicar-masivo-ns.php<?php if($_GET['traza']=='si') { ?>?traza=si<?php } ?>", { 'ubicacionInicial' : $('#ubicacionInicial').val() , 'ubicacionFinal' : $('#ubicacionFinal').val() , 'numerosSerie' : $('#cadenaNumerosSerieLeidos').val() })
                 .done(function(data) {
                 	
					$('#popupCargando').hide();
					
					<?php if($_GET['traza']=='si') { ?>
					alert(data);
					<?php } else { ?>
					
					var resultado=data.split('#');
					if(resultado[0]=='1') {
						alert('ERROR: '+resultado[1]);
					}
					else if(resultado[0]=='3') {
						var codigosErroneos=resultado[1].split(',');
						var cadena='ERROR: Los siguientes Números de Serie no han sido ubicados:<br><br>';
						var encontrado;
						
						//Revisamos todos los campos de lectura
						$('.lecturaNS').each(function() {
							encontrado=false;
							for(i=0;i<codigosErroneos.length;i++) {
								if( $(this).val()==codigosErroneos[i] ) encontrado=true;
							}
							
							if($(this).val()!='' && encontrado==false) {
								var contador=$(this).attr('contador');
								$('#lecturaNS-'+contador).val('');
								$('#bloqueLecturaNS-'+contador).hide();
								gestionaNumerosSerie();
							}
						});
						
						for(i=0;i<codigosErroneos.length;i++) cadena=cadena+codigosErroneos[i]+'<br>';
						alert(cadena)
						.done(function(){
							$('#lecturaNS-'+$('#ultimoBloqueNumeroSerie').val()).focus();
						});
					}
					else if(resultado[0]=='0') {
						alert(resultado[1])
						.done(function(){
							window.location='ubicar-masivo-numeros-serie.php';
						});
					}
					
					<?php } ?>
					
				 });
			}
		
		}
	
        $(document).ready(function() {
        
            $('#botonAceptar').on("click",function(e){
                e.preventDefault();
                envia();
            });
			
			$('#tecladoUbicacionFinal').on("click",function(){
                    
                $('#teclado').show();
                $('#valor').val( $('#ubicacionFinal').val() );
                $('#valorOculto').val( $('#ubicacionFinal').val() );
                $('#enter').attr('campoValor','ubicacionFinal');
                $('#enter').attr('formulario','');
                        
            });
            
            $('#borrarUbicacionFinal').on("click",function(){
                
                $("#ubicacionFinal").val('');
                $("#ubicacionFinal").focus();
                        
            });
            
            $('#ubicacionFinal').on('change',function(e){
                 //envia();
            });
            
            
            
            
            /////////////////////////////////////////////////////Gestion iconos campo Numeros de Serie
                
                
                $(document).on('change','.lecturaNS',function(){
                
                    var campo=$(this);
					var contador=campo.attr('contador');
                
                    if( numerosSerieDisponibles.indexOf( campo.val() ) == -1 ) {
                        alert('Este Número de Serie no está disponible aquí.')
                        .done(function(){
                            campo.val('');
                            campo.focus();
                        });
                    }
                    else if( $('#cadenaNumerosSerieLeidos').val().indexOf( campo.val() ) != -1 ) {
                        alert('Este Número de Serie ya está leido.')
                        .done(function(){
                            campo.val('');
                            campo.focus();
                        });
                    }
                    else {
                    
                        $(this).attr('readonly','readonly');
						$('#tecladoNS-'+contador).hide();
                    
                        gestionaNumerosSerie();
                        
                        //var contador=parseInt( $(this).attr('contador') );
                        var contador=parseInt( $('#ultimoBloqueNumeroSerie').val() );
                            
                        construyeLecturaNS(contador);
                    }
                    
                });
                
                $(document).on('click','.borrarNS',function(){
                
                    var contador=parseInt($(this).attr('contador'));
                    var ultimoBloqueNumeroSerie=parseInt($('#ultimoBloqueNumeroSerie').val());
                    var cantidadActual=parseInt($('#cantidad').val());
                    
                    if($('#lecturaNS-'+contador).val() != '') {
                    
                        $('#lecturaNS-'+contador).val('');
                        
                        if( contador!=ultimoBloqueNumeroSerie ) $('#bloqueLecturaNS-'+contador).hide();
                        
                        gestionaNumerosSerie();
                        
                        if( $( '#lecturaNS-'+ultimoBloqueNumeroSerie ).val() != '' ) {
                        
                            construyeLecturaNS(ultimoBloqueNumeroSerie);
                        
                        }
                        
                        $('#lecturaNS-'+ultimoBloqueNumeroSerie).focus();
                        $('#lecturaNS-'+ultimoBloqueNumeroSerie).removeAttr('readonly');
                    
                    }
                    else {
                        $('#lecturaNS-'+contador).focus();
                        $('#lecturaNS-'+contador).removeAttr('readonly');
                    }
                
                });
				
				$(document).on('click','.iconoTecladoNS',function(){
				
					var contador=$(this).attr('contador');
					
					$('#teclado').show();
					$('#valor').val( $('#lecturaNS-'+contador).val() );
					$('#valorOculto').val( $('#lecturaNS-'+contador).val() );
					$('#enter').attr('campoValor','lecturaNS-'+contador);
					$('#enter').attr('forzarEnter','si');
				});
    
        });
    
    </script>
    
    <?php
    
    } else if($_POST['ubicacionInicial']) { //Fin si hay ubicacion
        ?><p class="error">ERROR: No se han encontrado productos en esa ubicación.</p><?php
    }

} //Fin si no hay error
else {

	$valores=explode('#',$resultado['Error']);
	?><p class="error">ERROR: <?php echo $valores[1]; ?></p><?php
}
?>

<script>

	$(document).ready(function(){

		$('#tecladoUbicacionInicial').on("click",function(){
				
			$('#teclado').show();
			$('#valor').val( $('#ubicacionInicial').val() );
			$('#valorOculto').val( $('#ubicacionInicial').val() );
			$('#enter').attr('campoValor','ubicacionInicial');
			$('#enter').attr('formulario','formulario');
			$('#enter').attr('forzarEnter','si');
					
		});

		$('#borrarUbicacionInicial').on("click",function(){
				
			$("#ubicacionInicial").val('');
			$("#formulario").submit();
					
		});
		
		$('#formulario').on('submit',function(){
			$('#popupCargando').show();
		});
		
		$('#botonPlayas').on("click",function(e){
            e.preventDefault();
            $('#popupPlayas').show();
        });
            
        $('.selectorPlaya').on("click",function(e){
			
			e.preventDefault();
            $("#ubicacionInicial").val( $(this).attr('id') );
			$('#popupPlayas').hide();
			$("#formulario").submit();

		});

	});

</script>

<?php
if($_POST['ubicacionInicial']) $foco='lecturaNS-1';
else $foco='ubicacionInicial';

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