<?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');


include($rutaPhp.$rutaHtml.'/librerias/funciones-gs1.php');


?>

<div style="font-size:0.9em">

<h2>Tester lectura GS1-128</h2>

<p>Lectura:<br /><input type="text" name="lectura" id="lectura" class="campo campoLecturaGS1"/></p>

<div id="resultado"></div>

<p><input type="submit" name="botonReiniciar" id="botonReiniciar" value="Reiniciar" class="boton"/></p>

<p>Lectura real codificada: </p>
<p><textarea name="lecturaReal" id="lecturaReal" rows="25" style="width:90%"></textarea></p>

</div>

<script>

var lecturaScanner=new Array();
var cadenaLectura='';
var esLecturaGS1Correcta=false;

$(document).ready(function() {
	
	<?php if(!$desactivaScannerBluetooth) { ?>
	
	$("#lectura").on('keydown',function(e){
	
		e.preventDefault();
		var resultado='';
		
		nuevaLinea='Tecla: '+e.key+' / Codigo: '+e.keyCode+' |||| Tecla: '+String.fromCharCode(e.which)+' / Codigo: '+e.which+' / Codigo char: '+e.charCode+'\n';
		$("#lecturaReal").val( $("#lecturaReal").val() + nuevaLinea );
		
		if(e.which==13 || e.key=='Enter') {
			$('#lectura').trigger('change');
		}
		else lecturaScanner.push( [ String.fromCharCode(e.which) , e.which , e.key ] );
	}); 
	
	<?php } ?>	
	
	$('#lectura').on('change',function(){
				
		//Método que detecta que se ha hecho una nueva lectura.
		//tenemos que comprobar si procede del scanner o procede del teclado emergente
		
		console.log('Change en campo lectura.');
		
		var lecturaFinal='';
		
		<?php if($desactivaScannerBluetooth && !$lecturaSinSeparadores) { ?>
		
			console.log('La escucha de scanner está desactivada, se espera un formato manual completo con paréntesis');
			lecturaFinal=transformaLecturaManualAlFormatoScanner( $('#lectura').val() );
			
			console.log('####### - '+lecturaFinal);
		
		<?php } else if($lecturaSinSeparadores) { ?>
		
			console.log('Lectura de códigos gs1 sin pulsaciones separadoras, o lectura manual sin paréntesis');
			lecturaFinal=extraeBloquesSinSeparador( $('#lectura').val() );
			
			console.log('@@@@@@ - '+lecturaFinal);
		
		<?php } else { ?>
		
			if(lecturaScanner.length > 0) { //scanner
			
				console.log('Hay lectura scanner con pulsaciones porque tiene longitud > 0');
				lecturaFinal=limpiaLecturaDesdeScanner( lecturaScanner );
				
				console.log('%%%%%%% - '+lecturaFinal);
				
				/*
				if(lecturaFinal.indexOf('error')!=-1) {
				
					if(identificadores==identificadores_v1) identificadores=identificadores_v2;
					else identificadores=identificadores_v1;
					
					lecturaFinal=limpiaLecturaDesdeScanner( lecturaScanner );
					
					if(identificadores==identificadores_v1) identificadores=identificadores_v2;
					else identificadores=identificadores_v1;
					
				}
				*/
				
			}
			else { //manual
			
				console.log('Es lectura manual');
				lecturaFinal=transformaLecturaManualAlFormatoScanner( $('#lectura').val() );
				
				console.log('//////// - '+lecturaFinal);
			}
		
		<?php } ?>
		
		var resultado=pintaLecturaHumana( lecturaFinal );
		
				/*
				if(resultado=='error') {
				
					if(identificadores==identificadores_v1) identificadores=identificadores_v2;
					else identificadores=identificadores_v1;
					
					resultado=pintaLecturaHumana( lecturaFinal );
					
					if(identificadores==identificadores_v1) identificadores=identificadores_v2;
					else identificadores=identificadores_v1;
					
				}
				*/
		
		console.log('LECTURA FINAL TROCEADA: '+lecturaFinal + ' > resultado: ' + resultado);
		
		if(resultado=='error')  {
			var mostrar=limpiaLecturaDesdeScannerNoGS1(lecturaScanner);
			alert('Error en la lectura. Código GS1-128 no reconocido.<br><br>'+mostrar,null,'error');
			$('#lectura').val( mostrar );
		}
		else {
			$('#lectura').val( resultado );
			$.post( "<?php echo $rutaHtml; ?>/contenidos/gs1-tester-resultado.php",{ cadena : resultado })
			.done(function(data) {
				$('#resultado').html(data);
			});
			
		}

	});
	
	$('#botonReiniciar').on('click',function(){
	
		console.log('Reinicio');
	
		lecturaScanner=new Array();
		cadenaLectura='';
		esLecturaGS1Correcta=false;
	
		$('#lectura').val('');
		$('#lecturaReal').val('');
		$('#resultado').html('');
		$('#lectura').focus();
		
	});
	
	$('#lectura').focus();
	
});

</script>

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