var isValidNif;
var isValidCif;

jQuery(document).ready(function() {
	
	/* 
	
	APLICAMOS FIX PARA NAVEGADORES Webkit (Chrome y Safari)
	
	Con document.ready, las imágenes y css es posible que aun no se hayan cargado.
	Si el navegador es de tipo Webkit, procesará el javascript y los estilos de modo paralelo,
	por tanto, intentará calcular anchos y altos antes de que tener completado el CSS o la imagen cargada.
	
	Este fix es necesario para calcular el ancho del <ul> del menu-perfiles, y el ancho .bannerspie-pagina
	para poder centrar su contenido con margin: auto.
	
	Por tanto debemos emplear window.load antes de comenzar a calcular anchos y altos.
	
	*/
	jQuery(window).load(function() {

		jQuery.noConflict();

		isValidNif = function(abc) {
			dni=abc.substring(0,abc.length-1);
			let=abc.charAt(abc.length-1);
			if (!isNaN(let)) {
				return false;
			}else{
				cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
				posicion = dni % 23;
				letra = cadena.substring(posicion,posicion+1);
				if (letra!=let.toUpperCase()){
					return false;
				}
			}
			return true;
		};

		isValidCif = function(abc) {
			par = 0;
			non = 0;
			letras = "ABCDEFGHKLMNPQS";
			let = abc.charAt(0);
			if (abc.length!=9) {
				return false;
			}
			if (letras.indexOf(let.toUpperCase())==-1) {
				return false;
			}
			for (zz=2;zz<8;zz+=2) {
				par = par+parseInt(abc.charAt(zz));
			}
			for (zz=1;zz<9;zz+=2) {
				nn = 2*parseInt(abc.charAt(zz));
				if (nn > 9) nn = 1+(nn-10);
				non = non+nn;
			}
			parcial = par + non;
			control = (10 - ( parcial % 10));
			if (control==10) control=0;
			if (control!=abc.charAt(8)) {
				return false;
			}
			return true;
		};

		jQuery("form#contacto-con-nif").submit(function() {
			if (isValidNif(jQuery("input#uid201",this).val())) {
				return true;
			}
			else if (isValidCif(jQuery("input#uid201",this).val())) {
				return true;
			}
			else {
				alert("El campo NIF/CIF parece incorrecto");
				return false;
			}
		});



	});
});

