// JavaScript Document

function leerCookie(nombre) {
		
	 var lista = document.cookie.split(";");
	 for (i in lista) {
		 var busca = lista[i].search(nombre);
		 if (busca > -1) {micookie=lista[i]}
		 }
	 var igual = micookie.indexOf("=");
	 var valor = micookie.substring(igual+1);
	 return valor;  
	 
}

function cantidadParaCalculadora(valor) {
	valor = valor.replace(/\./g,'');
	valor = valor.replace(/\,/g,'.');
	return valor;
}

function cantidadParaPantalla(valor) {

	if(valor)  valor=parseFloat( valor );
	else valor=0;
	
	valor = Intl.NumberFormat("de-DE",{minimumFractionDigits:3}).format( valor );
	return valor;

}

function htmlEncode(s) {
    return $('<div>').text(s).html();
}

function htmlDecode(s) {
    return $('<div>').html(s).text();
}

function validaMatricula(matricula){

	var retornar='';

	if(matricula.length !=11) retornar='La longitud de una matrícula de Contenedor debe de ser de 11 caracteres.';
	else if(/^[a-zA-Z]*$/.test(matricula.substring(0,4))==false) retornar='Los cuatro primeros caracteres de una matrícula de Contenedor deben de ser letras.';
	else if(isNaN(parseInt(matricula.substring(4,6)))) retornar='La matrícula de un Contenedor debe contener 6 dígitos.';
	else {
	
		var acumulado=0;
		var letras= {'A':10,'B':12,'C':13,'D':14,'E':15,'F':16,'G':17,'H':18,'I':19,'J':20,'K':21,'L':23,'M':24,'N':25,'O':26,'P':27,'Q':28,'R':29,'S':30,'T':31,'U':32,'V':34,'W':35,'X':36,'Y':37,'Z':38};
		
		for(var i=0;i<10;i++)	{
			
			var caracter= matricula.charAt(i);
			caracter=caracter.toUpperCase();
			
			if(!isNaN(parseInt(caracter))) var valor=caracter;
			else var valor=letras[caracter];
			acumulado+=valor*Math.pow(2,i);
		}
		//alert('acumulado: '+acumulado);
		var division=acumulado/11;
		//alert('division: '+division);
		var parteEntera=Math.floor(division);
		//alert('parteEntera: '+parteEntera);
		parteEntera=parteEntera*11;
		//alert('parte entera multiplicada x 11: '+parteEntera);
		
		var digitoControl=acumulado-parteEntera;
		//alert('digito control: '+digitoControl);
		
		if(digitoControl==10) digitoControl=0;
		
		if(matricula.charAt(10)!=digitoControl) retornar='El dígito de control de esta matrícula de Contenedor debe ser: '+digitoControl;
	}
	
	//console.log('Funcion validacion matricula. Retorno '+retornar);
	
	return retornar;
}


	function mueveScrollHastaElemento( elemento ) {
		
		var posicion = elemento.offset().top;
		$("html, body").animate({
			scrollTop: posicion-100
		}, 500);
		
	}


		//15-02-2022 control decimales
		function controlDecimales( campo , decimalesPermitir , decimalesPermitirMaximo ) {
		
			//console.log('FUNCION CONTROLDECIMALES (INTERIOR)');
			//console.log('valor: '+campo.val());
			//console.log('decimalesPermitir: '+decimalesPermitir+' / decimalesPermitirMaximo: '+decimalesPermitirMaximo);
			

		
			//Borra cualquier caracter que no sea numero, coma o punto
			campo.val( campo.val().replace(/[^0-9.,]/gi,'') );
			//Substituye comas por puntos
			campo.val( campo.val().replace(/\,/gi,'.') );
		
			var decimalesControlMaximo;
			
			if(decimalesPermitirMaximo>0) decimalesControlMaximo=true;
			else decimalesControlMaximo=false;
		
			if( decimalesPermitir && !decimalesControlMaximo ){ //no hay ningun tipo de control de decimales
			
				return true;
				
			}
			else {
		
				var valores=campo.val().split('.');
				
				if( valores[1] ) { //se han introducido decimales
				
					 if( !decimalesPermitir ) { //No estan permitidos los decimales
					
						alert('Error: No están permitidos los decimales para este producto.',null,'error')
						.done(function(){
							$('#cantidad').val('');
							$('#cantidad').focus();
							return false;
						});
						
					}
					else { //si están permitidos
					
						if(decimalesControlMaximo) { //hay control de decimales maximos
					
							var numDecimales=valores[1].length;
						
							if(numDecimales > decimalesPermitirMaximo) {
										
								alert('Error: Para este producto solo están permitidos '+decimalesPermitirMaximo+' decimales y has introducido '+numDecimales+'.',null,'error')
								.done(function(){
									$('#cantidad').val('');
									$('#cantidad').focus();
									return false;
								});
							}
							else return true;
		
						}
						else return true //no hay control de maxim0
					
					}
				
				}
				else { //no se han introducido decimales
				
					return true;
					
				}
			
			}

			
		}
		