function esNIFValido(obj){
	var nif = obj.value
	var letras  = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','U');
	txtError = "";
	ok = true;
	dni = nif.substring(0,nif.length-1);
//	dni = parseInt(dni);
	var letra = nif.charAt(nif.length-1);
	letra = letra.toUpperCase()
	letraCorrecta = letras[ dni % 23];
	if (dni > 99999999){ 
		txtError += "El DNI tiene a lo sumo 8 cifras\n";
		ok = false;
	} else if(letra < "A" || letra > "Z"){
		txtError += "El último carácter debe ser una letra"
		ok = false;
	} else if(letra != letraCorrecta) {
		txtError += "La letra del NIF es incorrecta"
		ok = false;
	}

	if (ok) {
		return true;
	}else{
		alert(txtError);
		obj.focus();
		obj.select();
		return false;
	}
}	
function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function validaPass()
	{
		var esnif = false;
		var form=getForm();
		var nif=form.nif;
		var pass=form.pass;
		var subpass=form.SubPass;
		var orden=form.orden;
		var nie=form.nif.value.toUpperCase();

		if (nie.charAt(0) == "X" || nie.charAt(0) == "Y" || nie.charAt(0) == "Z" )
			{	
				form.target ="_blank";
				return true;
			}
			else
			{

				if (nif) {
					if (!isNumeric(nif.value.substring(0, nif.value.length-1))){
						alert("N.I.F./N.I.E. incorrecto. Por favor, compruebe que este dato es correcto. Le recordamos que estamos a su disposición en el teléfono 24 horas 902 33 23 13.");
						nif.focus();
						return false;
					}
					if (esVaciaCadena(nif.value) ){
						alert("El campo NIF es obligatorio");
						nif.focus();
						return false;
					}
					if (!esVaciaCadena(nif.value) && !esNIFValido(nif)){
						nif.focus();
						return false;
					}
					if (pass && esVaciaCadena(pass.value))
					{
						alert("El campo Nº de Póliza es obligatorio");
						pass.focus();
						return false;
					}

				}
				form.target ="_blank";
				
				return true;
			}
	}	

	function esVaciaCadena(str){
		var re = /^\s+$/;
		if ( (str == null) || (str == "") || (re.test(str)) ) return true;
		return false;
	}

	function accesoEurope() {
			var dni = document.getElementById('nif').value;
			var poliza = document.getElementById('pass').value;
			
			var subpoliza = document.getElementById('SubPass').value;
			var orden = document.getElementById('orden').value;
			
			var cia = document.getElementById('cia').value;
			var producto = document.getElementById('producto').value;
			
			if (validaPass()) {
				document.getElementById('busqueda_pol').style.display='none';
				progressBarInit();
				EuropeAssistanceDWR.accesoEurope(
					dni, poliza, subpoliza, orden, cia, producto,
						{ 
							callback:function(acceso) {
								if (acceso=='S') {

									doSubmit();
								} else if (acceso=='1') {
									alert("N.I.F./N.I.E. no corresponde con ninguno de los asegurados de la póliza indicada. Por favor, compruebe que este dato es correcto. Le recordamos que estamos a su disposición en el teléfono 24 horas 902 33 23 13.");
									document.getElementById('pass').focus();
									document.getElementById('busqueda_pol').style.display='block';
																		ocultarBarra();
								} else if (acceso=='2') {
									alert("Póliza anulada. Por favor, compruebe que este dato es correcto. Le recordamos que estamos a su disposición en el teléfono 24 horas 902 33 23 13.");
									document.getElementById('pass').focus();
									document.getElementById('busqueda_pol').style.display='block';
																		ocultarBarra();
								} else if (acceso=='3') {
									alert("Póliza no detectada en nuestros sistemas. Por favor, compruebe que este dato es correcto. Le recordamos que estamos a su disposición en el teléfono 24 horas 902 33 23 13.");
									document.getElementById('pass').focus();
									document.getElementById('busqueda_pol').style.display='block';
																		ocultarBarra();
								} else if (acceso=='4') {
									alert("Póliza sin la Garantía de Asistencia Multiservicios contratada. Le recordamos que estamos a su disposición en el teléfono 24 horas 902 33 23 13.");
									document.getElementById('pass').focus();
									document.getElementById('busqueda_pol').style.display='block';
																		ocultarBarra();
								} else {
									alert("En estos momentos no se presta el servicio correctamente. Por favor, intentelo de nuevo pasado unos momentos. Le recordamos que estamos a su disposición en el teléfono 24 horas 902 33 23 13.");
									document.getElementById('pass').focus();
									document.getElementById('busqueda_pol').style.display='block';
									ocultarBarra();
								}
						}
					}
				); 

			}
	}

function ocultarBarra()
{

	PBouter=(ns4)?findlayer('PBouter',document):(ie4)?document.all['PBouter']:document.getElementById('PBouter');
	PBdone=(ns4)?PBouter.document.layers['PBdone']:(ie4)?document.all['PBdone']:document.getElementById('PBdone');	
	PBouter.style.display='none';

}
