
function validar_usuario_registro()
{
	if ( !validar_logeo() )
		return validar_datos_form();

	return false;
}

function validar_datos_form()
{
	problem = false;

	//comprobamos el campo nombre
	if ( (!problem) && ( obligatorio("document.formulario.nombre","NOMBRE") ) )
	{
		document.formulario.nombre.focus();
		problem = true;
	}
	
	//comprobamos el campo apellido1
	if ( (!problem) && ( obligatorio("document.formulario.apellido1","PRIMER APELLIDO") ) )
	{
		document.formulario.apellido1.focus();
		problem = true;
	}

/*	
	//comprobamos el campo apellido2
	if ( (!problem) && ( obligatorio("document.formulario.apellido2","SEGUNDO APELLIDO") ) )
	{
		document.formulario.apellido2.focus();
		problem = true;
	}
*/	

	//comprobamos el campo dni/passaporte
	if ( (!problem) && ( obligatorio("document.formulario.dni_pass","DNI/PASAPORTE") ) )
	{
		document.formulario.dni_pass.focus();
		problem = true;
	}	

	//comprobamos el campo fecha
	dia = document.formulario.fecha_dia.value;
	mes = document.formulario.fecha_mes.value;
	anyo = document.formulario.fecha_anyo.value;

	if ( (!problem) && (!isDate(anyo, mes, dia)) )
	{
		if ( ( dia == 0 ) && ( mes == 0 ) && ( anyo ==  0 ) )
			alert("El campo FECHA DE NACIMIENTO es obligatorio");
		else
			alert("El campo FECHA DE NACIMIENTO es incorrecto");

		document.formulario.fecha_dia.focus();
		problem = true;
	}
/*
	if ( (!problem) && ( ( dia > 0 ) || ( mes > 0 ) || ( anyo > 0 ) ) )
	{
		if ( !(isDate (anyo, mes, dia)) )
		{
			alert("El campo FECHA DE NACIMIENTO es incorrecta");
			document.formulario.fecha_dia.focus();
			problem = true;
		}
	}
*/	
	//comprobamos el campo email
	if ( (!problem) && ( !esemail("document.formulario.email","E-MAIL") ) )
	{
		document.formulario.email.focus();
		problem = true;
	}
		
		//comprobamos el campo pais
	if ( (!problem) && ( uno_seleccionado("document.formulario.pais","PAÍS") ) )
	{
		document.formulario.pais.focus();
		problem = true;
	}

	if ( (!problem) && ( document.formulario.pais.value =="España") )
	{
		if ( uno_seleccionado("document.formulario.provincia","PROVINCIA") )
		{
			document.formulario.provincia.focus();
			problem = true;
		}
	}

	//comprobamos el campo población
	if ( (!problem) && ( obligatorio("document.formulario.poblacion","POBLACIÓN") ) )
	{
		document.formulario.poblacion.focus();
		problem = true;
	}

	//comprobamos el campo codigo postal
	if ( (!problem) && ( numerico("document.formulario.codigo_postal","CÓDIGO POSTAL") ) )
	{
		document.formulario.codigo_postal.focus();
		problem = true;
	}

	//comprobamos el campo direccion
	if ( (!problem) && ( obligatorio("document.formulario.direccion","DIRECCIÓN") ) )
	{
		document.formulario.direccion.focus();
		problem = true;
	}

	//comprobamos el numero del portal
	if ( (!problem) && ( numerico("document.formulario.num_portal","Nº PORTAL") ) )
	{
		document.formulario.num_portal.focus();
		problem = true;
	}
/*
	//comprobamos la puerta
	if ( (!problem) && ( obligatorio("document.formulario.puerta","PLANTA/ESCALERA/PUERTA") ) )
	{
		document.formulario.puerta.focus();
		problem = true;
	}
*/
	//comprobamos el numero de telefono 1 
	if ( (!problem) && ( obligatorio("document.formulario.telefono1","TELÉFONO 1") ) )
	{
		document.formulario.telefono1.focus();
		problem = true;
	}

/*
	//comprobamos el numero de telefono 2 
	if ( (!problem) && ( obligatorio("document.formulario.telefono2","TELÉFONO 2") ) )
	{
		document.formulario.telefono2.focus();
		problem = true;
	}
*/

	return (!problem);
}

function validar_buscar(tx_frase, opcion)
{
	if ( tx_frase == "" )
	{
		alert("Especifique la palabra clave a buscar");

		document.formulario_buscar.tx_frase.focus();
	}
	else
		if ( opcion == 1 )
			document.formulario_buscar.submit();
		else
			return true;

	return false;
}


function validar_dudas()
{
	problem = false;

	if ( typeof(document.formulario.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("document.formulario.nombre","NOMBRE") ) )
		{
			document.formulario.nombre.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( !esemail("document.formulario.email","E-MAIL") ) )
		{
			document.formulario.email.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( uno_seleccionado("document.formulario.opcion_duda","OPCIÓN") ) )
		{
			document.formulario.opcion_duda.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("document.formulario.duda","TEXTO") ) )
		{
			document.formulario.duda.focus();
			problem = true;
		}
	}
	
	return (!problem);
}

function validar_atencion_cliente()
{
	problem = false;

	if ( typeof(document.formulario.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( uno_seleccionado("document.formulario.tipo_consulta", "Motivo de la consulta") ) )
		{
			document.formulario.tipo_consulta.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( uno_seleccionado("document.formulario.servicios", "Consulta acerca de...") ) )
		{
			document.formulario.servicios.focus();
			problem = true;
		}

		//comprobamos el campo
		campo = "document.formulario.status"
		nombre_campo = "Status colección"
		if (!problem)
		{
			if ( eval(campo + ".value == 100") )
			{
				alert("Debe seleccionar un elemento del campo " + nombre_campo);
				document.formulario.status.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("document.formulario.nombre","Nombre") ) )
		{
			document.formulario.nombre.focus();
			problem = true;
		}

		if ( (!problem) && ( obligatorio("document.formulario.email","E-mail") ) )
		{
			document.formulario.email.focus();
			problem = true;
		}
		else
		{
			if ( (!problem) && ( !esemail("document.formulario.email","E-mail") ) )
			{
				document.formulario.email.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		campo = "document.formulario.pais"
		nombre_campo = "País"
		if (!problem)
		{
			if ( eval(campo + ".value == 200") )
			{
				alert("Debe seleccionar un elemento del campo " + nombre_campo);
				document.formulario.pais.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("document.formulario.texto","Texto") ) )
		{
			document.formulario.texto.focus();
			problem = true;
		}
	}
	
	return (!problem);
}

function validar_atencion_cliente_replica()
{
	problem = false;

	//comprobamos el campo
	if ( (!problem) && ( obligatorio("document.formulario.texto","TEXTO") ) )
	{
		document.formulario.texto.focus();
		problem = true;
	}
	
	return (!problem);
}

function validar_atencion_cliente_respuesta()
{
	problem = false;

	if ( typeof(document.formulario.texto) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("document.formulario.texto","TEXTO") ) )
		{
			document.formulario.texto.focus();
			problem = true;
		}
	}
	
	return (!problem);
}

function validar_registro_usuarios()
{
	problem = false;

	if ( typeof(document.formulario.email) != "undefined" )
	{
		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.area_interes1) != "undefined"))
		{
			if ( (!problem) && (!(document.formulario.area_interes1.checked) && !(document.formulario.area_interes2.checked) && !(document.formulario.area_interes3.checked) && !(document.formulario.area_interes4.checked) && !(document.formulario.area_interes5.checked) && !(document.formulario.area_interes6.checked) && !(document.formulario.area_interes7.checked) && !(document.formulario.area_interes8.checked) && !(document.formulario.area_interes9.checked)) )
			{
				alert("Debe seleccionar una o más áreas de interés");
				document.formulario.area_interes1.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.nombre) != "undefined"))
		{
			if ( (!problem) && ( obligatorio("document.formulario.nombre","Nombre") ) )
			{
				document.formulario.nombre.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.apellido1) != "undefined"))
		{
			if ( (!problem) && ( obligatorio("document.formulario.apellido1","Primer apellido") ) )
			{
				document.formulario.apellido1.focus();
				problem = true;
			}
		}
		
		//comprobamos el campo fecha
		if ((!problem) && (typeof(document.formulario.dia) != "undefined"))
		{
			f = document.formulario
			if ((!problem) && (typeof(f.dia) != "undefined") && (typeof(f.mes) != "undefined") && (typeof(f.anyo) != "undefined"))
			{
				var a, mes, dia, anyo, febrero;
				function anyoBisiesto(fin)
				{
				/*
					primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto, es decir, 
					obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
				*/
					if (fin % 4 != 0)
						return false;
					else
					{
						if (fin % 100 == 0)
						{
						/*
						si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
						*/
							if (fin % 400 == 0)
							{
								return true;
							}
						/*
						si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
						*/
							else
							{
								return false;
							}
						}
						/*
						si es divisible por 4 y no es divisible por 100 > el año es bisiesto
						*/
						else
						{
							return true;
						}
					}
				}
				dia = document.formulario.dia.value;
				mes = document.formulario.mes.value;
				anyo = document.formulario.anyo.value;
				
				if (!((dia == 0) && (mes == 0) && (anyo == 0)))
				{
					if ((dia != 0) && ((mes == 0) || (anyo == 0)))
					{
						alert("El campo Fecha nacimiento no es correcto");
						document.formulario.dia.focus();
						problem = true;
					}
					else
					{
						if ((mes != 0) && ((dia == 0) || (anyo == 0)))
						{
							alert("El campo Fecha nacimiento no es correcto");
							document.formulario.dia.focus();
							problem = true;
						}
						else
						{
							if ((anyo != 0) && ((dia == 0) || (mes == 0)))
							{
								alert("El campo Fecha nacimiento no es correcto");
								document.formulario.dia.focus();
								problem = true;
							}
						}
					}
					
					if (!problem)
					{
						if(anyoBisiesto(anyo))
							febrero=29;
						else
							febrero=28;
						
						/*
						si el mes introducido es febrero y el dia es mayor que el correspondiente al año 
						introducido > alertamos y detenemos ejecucion
						*/
						if ((!problem) && ((mes==2) && ((dia<1) || (dia>febrero))))
						{
							alert("El campo Fecha nacimiento no es correcto");
							document.formulario.dia.focus();
							problem = true;
						}
						/*
						si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
						*/
						if ((!problem) && (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))))
						{
							alert("El campo Fecha nacimiento no es correcto");
							document.formulario.mes.focus();
							problem = true;
						}
						/*
						si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
						*/
						if ((!problem) && (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))))
						{
							alert("El campo Fecha nacimiento no es correcto");
							document.formulario.mes.focus();
							problem = true;
						}
					}
				}
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.sexo) != "undefined"))
		{
			if ( (!problem) && ( uno_seleccionado("document.formulario.sexo", "Sexo") ) )
			{
				document.formulario.sexo.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.email) != "undefined"))
		{
			if ( (!problem) && ( obligatorio("document.formulario.email","E-mail") ) )
			{
				document.formulario.email.focus();
				problem = true;
			}
			else
			{
				if ( (!problem) && ( !esemail("document.formulario.email","E-mail") ) )
				{
					document.formulario.email.focus();
					problem = true;
				}
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.pais_form) != "undefined"))
		{
			if ( (!problem) && ( obligatorio("document.formulario.pais_form","País") ) )
			{
				document.formulario.pais_form.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.provincia) != "undefined"))
		{
			if ( (!problem) && ( obligatorio("document.formulario.provincia","Provincia") ) )
			{
				document.formulario.provincia.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ((!problem) && (typeof(document.formulario.poblacion) != "undefined"))
		{
			if ( (!problem) && ( obligatorio("document.formulario.poblacion","Población") ) )
			{
				document.formulario.poblacion.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("document.formulario.cp","Código postal") ) )
		{
			document.formulario.cp.focus();
			problem = true;
		}
	}
	
	return (!problem);
}

function validar_suscripcion()
{
	problem = false;

	f = document.formulario;

	if (submitPagina == true && document.getElementById("btnSubmit"))
		problem = true;
	
	if ( typeof(f.nombre) != "undefined" )
	{		
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.nombre","NOMBRE") ) )
		{
			f.nombre.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.apellido1","PRIMER APELLIDO") ) )
		{
			f.apellido1.focus();
			problem = true;
		}
		
		
		//FECHA DE NACIMIENTO
		if ((!problem) && (typeof(f.dia) != "undefined") && (typeof(f.mes) != "undefined") && (typeof(f.anyo) != "undefined"))
		{
			var a, mes, dia, anyo, febrero;
			
			dia = document.formulario.dia.value;
			mes = document.formulario.mes.value;
			anyo = document.formulario.anyo.value;
			
			if (!((dia == 0) && (mes == 0) && (anyo == 0)))
			{
				if ((dia != 0) && ((mes == 0) || (anyo == 0)))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.dia.focus();
					problem = true;
				}
				else
				{
					if ((mes != 0) && ((dia == 0) || (anyo == 0)))
					{
						alert("El campo FECHA NACIMIENTO no es correcto");
						document.formulario.dia.focus();
						problem = true;
					}
					else
					{
						if ((anyo != 0) && ((dia == 0) || (mes == 0)))
						{
							alert("El campo FECHA NACIMIENTO no es correcto");
							document.formulario.dia.focus();
							problem = true;
						}
					}
				}
				
				if (!problem)
				{
					if(anyoBisiesto(anyo))
						febrero=29;
					else
						febrero=28;
					
					/*
					si el mes introducido es febrero y el dia es mayor que el correspondiente al año 
					introducido > alertamos y detenemos ejecucion
					*/
					if ((!problem) && ((mes==2) && ((dia<1) || (dia>febrero))))
					{
						alert("El campo FECHA NACIMIENTO no es correcto.");
						document.formulario.dia.focus();
						problem = true;
					}
					/*
					si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
					*/
					if ((!problem) && (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))))
					{
						alert("El campo FECHA NACIMIENTO no es correcto");
						document.formulario.mes.focus();
						problem = true;
					}
					/*
					si el mes introducido es de 30 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
					*/
					if ((!problem) && (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))))
					{
						alert("El campo FECHA NACIMIENTO no es correcto");
						document.formulario.mes.focus();
						problem = true;
					}
					
					if (!problem)
					{
						//calculo la fecha de hoy 
						hoy=new Date()
						
						//resto los años de las dos fechas 
						anyo_hoy = hoy.getFullYear();
						mes_hoy = hoy.getMonth() + 1;
						dia_hoy = hoy.getDate();
						edad = anyo_hoy - anyo;

						es_mayor = 1

						if (edad == 18)
						{
							if (mes_hoy < mes)
							{
								es_mayor = 0
							}		
							else
							{
								if ((mes_hoy == mes) && (dia_hoy < dia))
								{
									es_mayor = 0
								}	
							}
						}
						else
						{
							if (edad < 18)
							{
								es_mayor = 0
							}
						}

						if (es_mayor == 0)
						{
							alert("Para hacer un pedido debe ser MAYOR DE EDAD");
							document.formulario.dia.focus();
							problem = true;
						}
					}
				}
			}else{
				problem = true;
				alert("La FECHA DE NACIMIENTO es obligatoria");
			}
		}
		
		//TIPO VÍA
		if ((!problem) && (typeof(f.tipo_via) != "undefined"))
		{
			if ( uno_seleccionado("f.tipo_via", "TIPO VÍA") )
			{
				problem = true;
			}
		}

		//DIRECCIÓN
		if ( (!problem) && (typeof(f.direccion) != "undefined"))
		{
			if ( obligatorio("f.direccion","DIRECCIÓN")) 
			{
				f.direccion.focus();
				problem = true;
			}
		}

		//NÚMERO
		if ( (!problem) && (typeof(f.numero) != "undefined"))
		{
			if ( obligatorio("f.numero","NÚMERO") ) 
			{
				f.numero.focus();
				problem = true;
			}
		}

		//POBLACIÓN
		if ((!problem) && (typeof(f.tipo_via) != "undefined"))
		{
			 if( obligatorio("f.poblacion","POBLACIÓN") ) 
			{
				f.poblacion.focus();
				problem = true;
			}
		}

		//PROVINCIA
		if ((!problem) && (typeof(f.provincia) != "undefined")) 
		{
			if ( uno_seleccionado("f.provincia", "PROVINCIA") )
			{
				problem = true;
			}
		}

		//CÓDIGO POSTAL
		if ((!problem) && (typeof(f.cp) != "undefined"))
		{
			cadena = new String(f.cp.value);
			if (cadena.length < 3)
			{
				alert("El campo CÓDIGO POSTAL ha tener 5 caracteres");
				f.cp.select()
				problem = true;
			}
			
			if(cadena!="")
			{
				codigoPinc="35 38 51 52";
				codP = cadena.substr(0,2);			
				if(codigoPinc.match(codP)!=null)
				{
					alert("El campo CÓDIGO POSTAL debe ser de la península o baleares");
					f.cp.select()
					problem = true;
				}
			}
		}
		
		//SEXO
		if ((!problem) && (typeof(f.sexo) != "undefined")) 
		{
			if ( uno_seleccionado("f.sexo", "SEXO") )
			{
				problem = true;
			}
		}
		
		//TELÉFONO
		if ((!problem) && (typeof(f.telefono) != "undefined"))
		{
			if ( ( document.formulario.telefono.value != "" ) || ( document.formulario.movil.value != "" ) )
			{
				if ( document.formulario.telefono.value != "" )
				{
					cadena = new String(f.telefono.value);
					//cadena2 = new String(f.solo_prefijo.value);

				/*	if ( (cadena.length + cadena2.length) < 9 )
					{
						alert("El campo TELÉFONO (INCLUIDO EL PREFIJO) ha tener 9 caracteres" + cadena2);
						f.telefono.focus()
						problem = true;
					} */
				}
				else
				{
					if ( (!problem) && ( numero_caracteres_obligatorios("f.movil", 9, "MÓVIL") ) )
					{
						f.movil.focus();
						problem = true;
					}
				}
			}
			else
			{
				alert("Uno de los campos, teléfono o móvil, es obligatorio");
				document.formulario.telefono.focus();
				problem = true;
			}
		}
		
		//PASAMOS AL ROBINSON

		if ( typeof(f.robinson) != "undefined")
		{
			if (typeof(f.robin) == "undefined")
			{
				if (!problem && (f.forma_pago[0].checked))
				{
					
					cadena = new String(f.nif.value);
					if ( cadena.length < 9 )
					{
						alert("El campo NIF/CIF ha tener 9 caracteres.\n\nAl tener seleccionada la opción de Domiciliación\nbancaria, este campo es obligatorio.");
						f.nif.focus()
						problem = true;
					}

					if (!problem)
					{
						nif = f.nif.value;
						primer_caracter = nif.substring(0,1)

						if ( isDigit(primer_caracter) ) //NIF
						{
							if ( (!problem) && ( !isInteger(nif.substring(0,nif.length-1) ) ) )
							{
								alert("Los 8 primeros carácteres del campo NIF han de ser numéricos.");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !isLetter(nif.substring(nif.length-1,nif.length) ) ) )
							{
								alert("El último carácter del campo NIF ha de ser una letra");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !validar_NIF("f.nif") ) )
							{
								alert("El campo NIF es incorrecto");
								f.nif.focus();
								problem = true;
							}
						}
						else //CIF
						{
							if ( (!problem) && ( !isLetter(nif.substring(0,1) ) ) )
							{
								alert("El primer carácter del campo CIF ha de ser una letra");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !isInteger(nif.substring(1,nif.length-1) ) ) )
							{
								alert("Los 7 carácteres centrales del campo CIF han de ser numéricos.");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !isAlphanumeric(nif.substring(nif.length-1,nif.length) ) ) )
							{
								alert("El último carácteres del campo CIF han de ser alfanumérico.");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !validar_cif("f.nif") ) )
							{
								alert("El campo CIF es incorrecto");
								f.nif.focus();
								problem = true;
							}
						}
					}
			
			/*else
			{
				problem = true;
			}*/

			//comprobamos el campo
	/*		if ( (!problem) && ( obligatorio("f.nombre_titular","NOMBRE TITULAR") ) )
			{
				f.nombre_titular.focus();
				problem = true;
			}

			//comprobamos el campo
			if ( (!problem) && ( obligatorio("f.apellido1_titular","PRIMER APELLIDO") ) )
			{
				f.apellido1_titular.focus();
				problem = true;
			}

			//comprobamos el campo
			if ( (!problem) && ( obligatorio("f.apellido2_titular","SEGUNDO APELLIDO") ) )
			{
				f.apellido2_titular.focus();
				problem = true;
			}
	*/
			//BANCO
			if ((!problem) && (typeof(f.entidad) != "undefined") && (typeof(f.oficina) != "undefined") && (typeof(f.dc) != "undefined") && (typeof(f.numero_cuenta) != "undefined"))
			{
				if ( (!problem) && (numerico("f.entidad","ENTIDAD") ) )
				{
					f.entidad.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.entidad", 4, "ENTIDAD") ) )
				{
					f.entidad.focus();
					problem = true;
				}

				if ( (!problem) && (numerico("f.oficina","OFICINA") ) )
				{
					f.oficina.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.oficina", 4, "OFICINA") ) )
				{
					f.entidad.focus();
					problem = true;
				}

				if ( (!problem) && (numerico("f.dc","D.C.") ) )
				{
					f.dc.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.dc", 2, "D.C.") ) )
				{
					f.dc.focus();
					problem = true;
				}

				if ( (!problem) && (numerico("f.numero_cuenta","NÚMERO DE CUENTA") ) )
				{
					f.numero_cuenta.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.numero_cuenta", 10, "NÚMERO DE CUENTA") ) )
				{
					f.numero_cuenta.focus();
					problem = true;
				}
			
				if (  (!problem) && ( !(obtener_DC_entidad("00" + f.entidad.value + f.oficina.value) == parseInt(f.dc.value.charAt(0))) || !(obtener_DC_entidad(f.numero_cuenta.value) == parseInt(f.dc.value.charAt(1))) ) )
				{
					//alert("El CÓDIGO DE CUENTA es incorrecto.\n\nLos dígitos de control no se corresponden con los números de la cuenta.");
					alert("El campo CÓDIGO DE CUENTA es incorrecto.");
					f.numero_cuenta.focus();
					problem = true;
				}

				if ((!problem) && (parseInt(f.entidad.value) == 0) && (parseInt(f.oficina.value) == 0) && (parseInt(f.dc.value) == 0))
				{
					alert("El CÓDIGO DE CUENTA es incorrecto.\n\nLos dígitos de control no se corresponden con los números de la cuenta.");
					alert("El campo CÓDIGO DE CUENTA es incorrecto.");
					f.numero_cuenta.focus();
					problem = true;
				}
			}
			
			//comprobamos el campo
		/*	if ( (!problem) && ( obligatorio("f.nombre_banco","BANCO/CAJA DE AHORROS") ) )
			{
				f.nombre_banco.focus();
				problem = true;
			}

			//TIPO VÍA
			if (!problem) 
			{
				if ( uno_seleccionado("f.tipo_via_direccion_agencia", "TIPO VÍA DE LA AGENCIA") )
				{
					problem = true;
				}
			}

			//DIRECCIÓN AGENCIA
			if ( (!problem) && ( obligatorio("f.direccion_agencia","DIRECCIÓN DE LA AGENCIA") ) )
			{
				f.direccion_agencia.focus();
				problem = true;
			}

			//POBLACIÓN
			if ( (!problem) && ( obligatorio("f.poblacion_agencia","POBLACIÓN DE LA AGENCIA") ) )
			{
				f.poblacion_agencia.focus();
				problem = true;
			}

			//PROVINCIA
			if (!problem) 
			{
				if ( uno_seleccionado("f.provincia_agencia", "PROVINCIA DE LA AGENCIA") )
				{
					problem = true;
				}
			}

			//PROVINCIA
			if (!problem) 
			{
				cadena = new String(f.cp_agencia.value);
				if (cadena.length < 3)
				{
					alert("El campo CÓDIGO POSTAL DE LA AGENCIA ha tener 5 caracteres");
					f.cp_agencia.select()
					problem = true;
				}
			}
*/				}
			}
		}	
	}
	
	if(document.getElementById("btnSubmit")) {
		submitPagina = true;
		document.getElementById("btnSubmit").disabled = true;
	}

	return (!problem);
}

function validar_suscripcion_libro_disney()
{
	problem = false;

	f = document.formulario;

	if ( typeof(f.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.nombre","NOMBRE") ) )
		{
			f.nombre.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.apellido1","PRIMER APELLIDO") ) )
		{
			f.apellido1.focus();
			problem = true;
		}

		//NIF
		if ((!problem) && ((typeof(f.nif) != "undefined") && (f.nif.value != "")))
		{
			//NIF o CIF
			if (!problem)
			{
				cadena = new String(f.nif.value);
				if ( cadena.length < 9 )
				{
					alert("El campo NIF/CIF ha tener 9 caracteres.");
					f.nif.focus()
					problem = true;
				}

				if (!problem)
				{
					nif = f.nif.value;
					primer_caracter = nif.substring(0,1)

					if ( isDigit(primer_caracter) ) //NIF
					{
						if ( (!problem) && ( !isInteger(nif.substring(0,nif.length-1) ) ) )
						{
							alert("Los 8 primeros carácteres del campo NIF han de ser numéricos.");
							f.nif.focus();
							problem = true;
						}

						if ( (!problem) && ( !isLetter(nif.substring(nif.length-1,nif.length) ) ) )
						{
							alert("El último carácter del campo NIF ha de ser una letra");
							f.nif.focus();
							problem = true;
						}

						if ( (!problem) && ( !validar_NIF("f.nif") ) )
						{
							alert("El campo NIF es incorrecto");
							f.nif.focus();
							problem = true;
						}
					}
					else //CIF
					{
						if ( (!problem) && ( !isLetter(nif.substring(0,1) ) ) )
						{
							alert("El primer carácter del campo CIF ha de ser una letra");
							f.nif.focus();
							problem = true;
						}

						if ( (!problem) && ( !isInteger(nif.substring(1,nif.length-1) ) ) )
						{
							alert("Los 7 carácteres centrales del campo CIF han de ser numéricos.");
							f.nif.focus();
							problem = true;
						}

						if ( (!problem) && ( !isAlphanumeric(nif.substring(nif.length-1,nif.length) ) ) )
						{
							alert("El último carácteres del campo CIF han de ser alfanumérico.");
							f.nif.focus();
							problem = true;
						}

						if ( (!problem) && ( !validar_cif("f.nif") ) )
						{
							alert("El campo CIF es incorrecto");
							f.nif.focus();
							problem = true;
						}
					}
				}
			}
		}

		//TIPO VÍA
		if ((!problem) && (typeof(f.tipo_via) != "undefined"))
		{
			if ( uno_seleccionado("f.tipo_via", "TIPO VÍA") )
			{
				problem = true;
			}
		}

		//DIRECCIÓN
		if ( (!problem) && (typeof(f.direccion) != "undefined"))
		{
			if ( obligatorio("f.direccion","DIRECCIÓN")) 
			{
				f.direccion.focus();
				problem = true;
			}
		}

		//NÚMERO
		if ( (!problem) && (typeof(f.numero) != "undefined"))
		{
			if ( obligatorio("f.numero","NÚMERO") ) 
			{
				f.numero.focus();
				problem = true;
			}
		}

		//POBLACIÓN
		if ((!problem) && (typeof(f.tipo_via) != "undefined"))
		{
			 if( obligatorio("f.poblacion","POBLACIÓN") ) 
			{
				f.poblacion.focus();
				problem = true;
			}
		}

		//PROVINCIA
		if ((!problem) && (typeof(f.provincia) != "undefined")) 
		{
			if ( uno_seleccionado("f.provincia", "PROVINCIA") )
			{
				problem = true;
			}
		}

		//CÓDIGO POSTAL
		if ((!problem) && (typeof(f.cp) != "undefined"))
		{
			cadena = new String(f.cp.value);
			if (cadena.length < 3)
			{
				alert("El campo CÓDIGO POSTAL ha tener 5 caracteres");
				f.cp.select()
				problem = true;
			}
		}

		//TELÉFONO
		if ((!problem) && (typeof(f.telefono) != "undefined"))
		{
			if( obligatorio("f.telefono","TELÉFONO 1") ) 
			{
				f.telefono.focus();
				problem = true;
			}
			else
			{
				cadena = new String(f.telefono.value);
				inicio = cadena.substring(0,1);
				if ((inicio != 6) && (inicio != 7) && (inicio != 8) && (inicio != 9))
				{
					alert("El campo TELÉFONO 1 no es correcto.\nLos teléfonos deben empezar por 6, 7, 8 ó 9");
					f.telefono.focus()
					problem = true;
				}
				
				if (f.movil.value != "")
				{
					cadena = new String(f.movil.value);
					inicio = cadena.substring(0,1);
					if ((inicio != 6) && (inicio != 7) && (inicio != 8) && (inicio != 9))
					{
						alert("El campo TELÉFONO 2 no es correcto.\nLos teléfonos deben empezar por 6, 7, 8 ó 9");
						f.movil.focus()
						problem = true;
					}
				}
			}
		}

		//E-MAIL
		if ( (!problem) && (typeof(f.email) != "undefined"))
		{
			if ( obligatorio("f.email","E-MAIL")) 
			{
				f.email.focus();
				problem = true;
			}
			else
			{
				str = new String(f.email.value);
				// are regular expressions supported?
				var supported = 0;
				if (window.RegExp) {
					var tempStr = "a";
					var tempReg = new RegExp(tempStr);
					if (tempReg.test(tempStr)) supported = 1;
				}
				if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
				var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
				var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
				if (!r1.test(str) && r2.test(str))
				{
				
				} else {
					alert("El formato de mail del campo E-MAIL no es válido");
					f.email.select();
					return false;
				}
			}
		}

		//comprobamos el campo fecha
	if ((!problem) && (typeof(f.dia) != "undefined") && (typeof(f.mes) != "undefined") && (typeof(f.anyo) != "undefined"))
	{
		var a, mes, dia, anyo, febrero;
		function anyoBisiesto(fin)
		{
		/*
			primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto, es decir, 
			obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
		*/
			if (fin % 4 != 0)
				return false;
			else
			{
				if (fin % 100 == 0)
				{
				/*
				si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
				*/
					if (fin % 400 == 0)
					{
						return true;
					}
				/*
				si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
				*/
					else
					{
						return false;
					}
				}
				/*
				si es divisible por 4 y no es divisible por 100 > el año es bisiesto
				*/
				else
				{
					return true;
				}
			}
		}
		dia = document.formulario.dia.value;
		mes = document.formulario.mes.value;
		anyo = document.formulario.anyo.value;
		
		if (!((dia == 0) && (mes == 0) && (anyo == 0)))
		{
			if ((dia != 0) && ((mes == 0) || (anyo == 0)))
			{
				alert("El campo FECHA NACIMIENTO no es correcto");
				document.formulario.dia.focus();
				problem = true;
			}
			else
			{
				if ((mes != 0) && ((dia == 0) || (anyo == 0)))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.dia.focus();
					problem = true;
				}
				else
				{
					if ((anyo != 0) && ((dia == 0) || (mes == 0)))
					{
						alert("El campo FECHA NACIMIENTO no es correcto");
						document.formulario.dia.focus();
						problem = true;
					}
				}
			}
			
			if (!problem)
			{
				if(anyoBisiesto(anyo))
					febrero=29;
				else
					febrero=28;
				
				/*
				si el mes introducido es febrero y el dia es mayor que el correspondiente al año 
				introducido > alertamos y detenemos ejecucion
				*/
				if ((!problem) && ((mes==2) && ((dia<1) || (dia>febrero))))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.dia.focus();
					problem = true;
				}
				/*
				si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
				*/
				if ((!problem) && (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.mes.focus();
					problem = true;
				}
				/*
				si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
				*/
				if ((!problem) && (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.mes.focus();
					problem = true;
				}
			}
		}
	}
		if ( typeof(f.robinson) != "undefined") 
		{
			if (typeof(f.robin) == "undefined")
			{
				if (!problem && (f.forma_pago(0).checked))
				{
					
					cadena = new String(f.nif.value);
					if ( cadena.length < 9 )
					{
						alert("El campo NIF/CIF ha tener 9 caracteres.\n\nAl tener seleccionada la opción de Domiciliación\nbancaria, este campo es obligatorio.");
						f.nif.focus()
						problem = true;
					}

					if (!problem)
					{
						nif = f.nif.value;
						primer_caracter = nif.substring(0,1)

						if ( isDigit(primer_caracter) ) //NIF
						{
							if ( (!problem) && ( !isInteger(nif.substring(0,nif.length-1) ) ) )
							{
								alert("Los 8 primeros carácteres del campo NIF han de ser numéricos.");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !isLetter(nif.substring(nif.length-1,nif.length) ) ) )
							{
								alert("El último carácter del campo NIF ha de ser una letra");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !validar_NIF("f.nif") ) )
							{
								alert("El campo NIF es incorrecto");
								f.nif.focus();
								problem = true;
							}
						}
						else //CIF
						{
							if ( (!problem) && ( !isLetter(nif.substring(0,1) ) ) )
							{
								alert("El primer carácter del campo CIF ha de ser una letra");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !isInteger(nif.substring(1,nif.length-1) ) ) )
							{
								alert("Los 7 carácteres centrales del campo CIF han de ser numéricos.");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !isAlphanumeric(nif.substring(nif.length-1,nif.length) ) ) )
							{
								alert("El último carácteres del campo CIF han de ser alfanumérico.");
								f.nif.focus();
								problem = true;
							}

							if ( (!problem) && ( !validar_cif("f.nif") ) )
							{
								alert("El campo CIF es incorrecto");
								f.nif.focus();
								problem = true;
							}
						}
					}
			
				
			//BANCO
			if ((!problem) && (typeof(f.entidad) != "undefined") && (typeof(f.oficina) != "undefined") && (typeof(f.dc) != "undefined") && (typeof(f.numero_cuenta) != "undefined"))
			{
				if ( (!problem) && (numerico("f.entidad","ENTIDAD") ) )
				{
					f.entidad.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.entidad", 4, "ENTIDAD") ) )
				{
					f.entidad.focus();
					problem = true;
				}

				if ( (!problem) && (numerico("f.oficina","OFICINA") ) )
				{
					f.oficina.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.oficina", 4, "OFICINA") ) )
				{
					f.entidad.focus();
					problem = true;
				}

				if ( (!problem) && (numerico("f.dc","D.C.") ) )
				{
					f.dc.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.dc", 2, "D.C.") ) )
				{
					f.dc.focus();
					problem = true;
				}

				if ( (!problem) && (numerico("f.numero_cuenta","NÚMERO DE CUENTA") ) )
				{
					f.numero_cuenta.focus();
					problem = true;
				}
				
				if ( (!problem) && (numero_caracteres_obligatorios("f.numero_cuenta", 10, "NÚMERO DE CUENTA") ) )
				{
					f.numero_cuenta.focus();
					problem = true;
				}
			
				if (  (!problem) && ( !(obtener_DC_entidad("00" + f.entidad.value + f.oficina.value) == parseInt(f.dc.value.charAt(0))) || !(obtener_DC_entidad(f.numero_cuenta.value) == parseInt(f.dc.value.charAt(1))) ) )
				{
					//alert("El CÓDIGO DE CUENTA es incorrecto.\n\nLos dígitos de control no se corresponden con los números de la cuenta.");
					alert("El campo CÓDIGO DE CUENTA es incorrecto.");
					f.numero_cuenta.focus();
					problem = true;
				}
				
				if ((!problem) && (f.numero_cuenta.value == "0000000000") && (f.dc.value=="00") && (f.oficina.value=="0000") && (f.entidad.value=="0000"))
				{
					f.entidad.focus();
					alert("El campo CÓDIGO DE CUENTA es incorrecto.");
					problem = true;
				}
			}
			
			//comprobamos el campo
		/*	if ( (!problem) && ( obligatorio("f.nombre_banco","BANCO/CAJA DE AHORROS") ) )
			{
				f.nombre_banco.focus();
				problem = true;
			}

			//TIPO VÍA
			if (!problem) 
			{
				if ( uno_seleccionado("f.tipo_via_direccion_agencia", "TIPO VÍA DE LA AGENCIA") )
				{
					problem = true;
				}
			}

			//DIRECCIÓN AGENCIA
			if ( (!problem) && ( obligatorio("f.direccion_agencia","DIRECCIÓN DE LA AGENCIA") ) )
			{
				f.direccion_agencia.focus();
				problem = true;
			}

			//POBLACIÓN
			if ( (!problem) && ( obligatorio("f.poblacion_agencia","POBLACIÓN DE LA AGENCIA") ) )
			{
				f.poblacion_agencia.focus();
				problem = true;
			}

			//PROVINCIA
			if (!problem) 
			{
				if ( uno_seleccionado("f.provincia_agencia", "PROVINCIA DE LA AGENCIA") )
				{
					problem = true;
				}
			}

			//PROVINCIA
			if (!problem) 
			{
				cadena = new String(f.cp_agencia.value);
				if (cadena.length < 3)
				{
					alert("El campo CÓDIGO POSTAL DE LA AGENCIA ha tener 5 caracteres");
					f.cp_agencia.select()
					problem = true;
				}
			}
*/				}
			}
		}	
	}
	
	return (!problem);
}

function validar_suscripcion_otras()
{
	problem = false;

	f = document.formulario;

	if ( typeof(f.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.nombre","NOMBRE") ) )
		{
			f.nombre.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.apellido1","PRIMER APELLIDO") ) )
		{
			f.apellido1.focus();
			problem = true;
		}

		//NIF o CIF
		if (!problem)
		{
			cadena = new String(f.nif.value);
			if ( cadena.length < 9 )
			{
				alert("El campo NIF/CIF ha tener 9 caracteres.\n\nAl tener seleccionada la opción de Domiciliación\nbancaria, este campo es obligatorio.");
				f.nif.focus()
				problem = true;
			}

			if (!problem)
			{
				nif = f.nif.value;
				primer_caracter = nif.substring(0,1)

				if ( isDigit(primer_caracter) ) //NIF
				{
					if ( (!problem) && ( !isInteger(nif.substring(0,nif.length-1) ) ) )
					{
						alert("Los 8 primeros carácteres del campo NIF han de ser numéricos.");
						f.nif.focus();
						problem = true;
					}

					if ( (!problem) && ( !isLetter(nif.substring(nif.length-1,nif.length) ) ) )
					{
						alert("El último carácter del campo NIF ha de ser una letra");
						f.nif.focus();
						problem = true;
					}

					if ( (!problem) && ( !validar_NIF("f.nif") ) )
					{
						alert("El campo NIF es incorrecto");
						f.nif.focus();
						problem = true;
					}
				}
				else //CIF
				{
					if ( (!problem) && ( !isLetter(nif.substring(0,1) ) ) )
					{
						alert("El primer carácter del campo CIF ha de ser una letra");
						f.nif.focus();
						problem = true;
					}

					if ( (!problem) && ( !isInteger(nif.substring(1,nif.length-1) ) ) )
					{
						alert("Los 7 carácteres centrales del campo CIF han de ser numéricos.");
						f.nif.focus();
						problem = true;
					}

					if ( (!problem) && ( !isAlphanumeric(nif.substring(nif.length-1,nif.length) ) ) )
					{
						alert("El último carácteres del campo CIF han de ser alfanumérico.");
						f.nif.focus();
						problem = true;
					}

					if ( (!problem) && ( !validar_cif("f.nif") ) )
					{
						alert("El campo CIF es incorrecto");
						f.nif.focus();
						problem = true;
					}
				}
			}
		}

		//TIPO VÍA
		if ((!problem) && (typeof(f.tipo_via) != "undefined"))
		{
			if ( uno_seleccionado("f.tipo_via", "TIPO VÍA") )
			{
				problem = true;
			}
		}

		//DIRECCIÓN
		if ( (!problem) && (typeof(f.direccion) != "undefined"))
		{
			if ( obligatorio("f.direccion","DIRECCIÓN")) 
			{
				f.direccion.focus();
				problem = true;
			}
		}

		//NÚMERO
		if ( (!problem) && (typeof(f.numero) != "undefined"))
		{
			if ( obligatorio("f.numero","NÚMERO") ) 
			{
				f.numero.focus();
				problem = true;
			}
		}

		//POBLACIÓN
		if ((!problem) && (typeof(f.tipo_via) != "undefined"))
		{
			 if( obligatorio("f.poblacion","POBLACIÓN") ) 
			{
				f.poblacion.focus();
				problem = true;
			}
		}

		//PROVINCIA
		if ((!problem) && (typeof(f.provincia) != "undefined")) 
		{
			if ( uno_seleccionado("f.provincia", "PROVINCIA") )
			{
				problem = true;
			}
		}

		//CÓDIGO POSTAL
		if ((!problem) && (typeof(f.cp) != "undefined"))
		{
			cadena = new String(f.cp.value);
			if (cadena.length < 3)
			{
				alert("El campo CÓDIGO POSTAL ha tener 5 caracteres");
				f.cp.select()
				problem = true;
			}
		}

		//TELÉFONO
		if ((!problem) && (typeof(f.telefono) != "undefined"))
		{
			 if( obligatorio("f.telefono","TELÉFONO") ) 
			{
				f.telefono.focus();
				problem = true;
			}
		}
		
		/*if ((!problem) && (typeof(f.telefono) != "undefined"))
		{
			if ( ( document.formulario.telefono.value != "" ) || ( document.formulario.movil.value != "" ) )
			{
				if ( document.formulario.telefono.value != "" )
				{
					cadena = new String(f.telefono.value);
					//cadena2 = new String(f.solo_prefijo.value);

				/*	if ( (cadena.length + cadena2.length) < 9 )
					{
						alert("El campo TELÉFONO (INCLUIDO EL PREFIJO) ha tener 9 caracteres" + cadena2);
						f.telefono.focus()
						problem = true;
					} */
				/*}
				else
				{
					if ( (!problem) && ( numero_caracteres_obligatorios("f.movil", 9, "MÓVIL") ) )
					{
						f.movil.focus();
						problem = true;
					}
				}
			}
			else
			{
				alert("Uno de los campos, teléfono o móvil, es obligatorio");
				document.formulario.telefono.focus();
				problem = true;
			}
		}*/

		//E-MAIL
		if ( (!problem) && (typeof(f.email) != "undefined"))
		{
			if ( obligatorio("f.email","E-MAIL")) 
			{
				f.email.focus();
				problem = true;
			}
			else
			{
				str = new String(f.email.value);
				// are regular expressions supported?
				var supported = 0;
				if (window.RegExp) {
					var tempStr = "a";
					var tempReg = new RegExp(tempStr);
					if (tempReg.test(tempStr)) supported = 1;
				}
				if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
				var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
				var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
				if (!r1.test(str) && r2.test(str))
				{
				
				} else {
					alert("El formato de mail del campo E-MAIL no es válido");
					f.email.select();
					return false;
				}
			}
		}

		//BANCO
		if ((!problem) && (typeof(f.entidad) != "undefined") && (typeof(f.oficina) != "undefined") && (typeof(f.dc) != "undefined") && (typeof(f.numero_cuenta) != "undefined"))
		{
			if ( (!problem) && (numerico("f.entidad","ENTIDAD") ) )
			{
				f.entidad.focus();
				problem = true;
			}
			
			if ( (!problem) && (numero_caracteres_obligatorios("f.entidad", 4, "ENTIDAD") ) )
			{
				f.entidad.focus();
				problem = true;
			}

			if ( (!problem) && (numerico("f.oficina","OFICINA") ) )
			{
				f.oficina.focus();
				problem = true;
			}
			
			if ( (!problem) && (numero_caracteres_obligatorios("f.oficina", 4, "OFICINA") ) )
			{
				f.entidad.focus();
				problem = true;
			}

			if ( (!problem) && (numerico("f.dc","D.C.") ) )
			{
				f.dc.focus();
				problem = true;
			}
			
			if ( (!problem) && (numero_caracteres_obligatorios("f.dc", 2, "D.C.") ) )
			{
				f.dc.focus();
				problem = true;
			}

			if ( (!problem) && (numerico("f.numero_cuenta","NÚMERO DE CUENTA") ) )
			{
				f.numero_cuenta.focus();
				problem = true;
			}
			
			if ( (!problem) && (numero_caracteres_obligatorios("f.numero_cuenta", 10, "NÚMERO DE CUENTA") ) )
			{
				f.numero_cuenta.focus();
				problem = true;
			}
		
			if (  (!problem) && ( !(obtener_DC_entidad("00" + f.entidad.value + f.oficina.value) == parseInt(f.dc.value.charAt(0))) || !(obtener_DC_entidad(f.numero_cuenta.value) == parseInt(f.dc.value.charAt(1))) ) )
			{
				//alert("El CÓDIGO DE CUENTA es incorrecto.\n\nLos dígitos de control no se corresponden con los números de la cuenta.");
				alert("El campo CÓDIGO DE CUENTA es incorrecto.");
				f.numero_cuenta.focus();
				problem = true;
			}
			
			if ((!problem) && (f.numero_cuenta.value == "0000000000") && (f.dc.value=="00") && (f.oficina.value=="0000") && (f.entidad.value=="0000"))
			{
				f.entidad.focus();
				alert("El campo CÓDIGO DE CUENTA es incorrecto.");
				problem = true;
			}
		}
	}	
	//problem = true;

	return (!problem);
}

function validar_numeros_atrasados()
{
	problem = false;

	f = document.formulario;

	if ( typeof(f.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && (typeof(f.cantidad) != "undefined"))
		{
			if ( uno_seleccionado("document.formulario.cantidad","CANTIDAD") )
			{
				document.formulario.cantidad.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ( (!problem) && (typeof(f.numero_fasciculo_1) != "undefined") && (typeof(f.numero_fasciculo_2) != "undefined") && (typeof(f.numero_fasciculo_3) != "undefined") && (typeof(f.numero_fasciculo_4) != "undefined") && (typeof(f.numero_fasciculo_5) != "undefined") && (typeof(f.numero_fasciculo_6) != "undefined"))
		{

			cadena_1 = new String(eval("document.formulario.numero_fasciculo_1.value"));
			cadena_2 = new String(eval("document.formulario.numero_fasciculo_2.value"));
			cadena_3 = new String(eval("document.formulario.numero_fasciculo_3.value"));
			cadena_4 = new String(eval("document.formulario.numero_fasciculo_4.value"));
			cadena_5 = new String(eval("document.formulario.numero_fasciculo_5.value"));
			cadena_6 = new String(eval("document.formulario.numero_fasciculo_6.value"));

			if ((!problem) && (document.formulario.cantidad.value == 0) && (cadena_1.length != 0))
			{
				alert("El campo CANTIDAD es obligatorio");
				document.formulario.cantidad.focus();
				problem = true;
			}

			/*if ((!problem) && (document.formulario.cantidad_2.value == 0) && (cadena_2.length != 0))
			{
				alert("El campo CANTIDAD es obligatorio");
				document.formulario.cantidad_2.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_3.value == 0) && (cadena_3.length != 0))
			{
				alert("El campo CANTIDAD es obligatorio");
				document.formulario.cantidad_3.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_4.value == 0) && (cadena_4.length != 0))
			{
				alert("El campo CANTIDAD es obligatorio");
				document.formulario.cantidad_4.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_5.value == 0) && (cadena_5.length != 0))
			{
				alert("El campo CANTIDAD es obligatorio");
				document.formulario.cantidad_5.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_6.value == 0) && (cadena_6.length != 0))
			{
				alert("El campo CANTIDAD es obligatorio");
				document.formulario.cantidad_6.focus();
				problem = true;
			}
	
			if ((cadena_1.length == 0) && (cadena_2.length == 0) && (cadena_3.length == 0) && (cadena_4.length == 0) && (cadena_5.length == 0) && (cadena_6.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_1.focus();
				problem = true;
			}*/

			if ((!problem) && (document.formulario.cantidad.value != 0) && (cadena_1.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_1.focus();
				problem = true;
			}

			/*if ((!problem) && (document.formulario.cantidad_2.value != 0) && (cadena_2.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_2.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_3.value != 0) && (cadena_3.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_3.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_4.value != 0) && (cadena_4.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_4.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_5.value != 0) && (cadena_5.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_5.focus();
				problem = true;
			}

			if ((!problem) && (document.formulario.cantidad_6.value != 0) && (cadena_6.length == 0))
			{
				alert("El campo FASCÍCULO Nº es obligatorio");
				document.formulario.numero_fasciculo_6.focus();
				problem = true;
			}*/

			if ((!problem) && (cadena_2.length != 0))
			{
				if (document.formulario.numero_fasciculo_2.value == document.formulario.numero_fasciculo_1.value)
				{
					alert("El fascículo Nº " + document.formulario.numero_fasciculo_2.value + " está repetido como petición de números atrasados");
					document.formulario.numero_fasciculo_2.focus();
					problem = true;
				}
			}

			if ((!problem) && (cadena_3.length != 0))
			{
				if ((document.formulario.numero_fasciculo_3.value == document.formulario.numero_fasciculo_1.value) || (document.formulario.numero_fasciculo_3.value == document.formulario.numero_fasciculo_2.value))
				{
					alert("El fascículo Nº " + document.formulario.numero_fasciculo_3.value + " está repetido como petición de números atrasados");
					document.formulario.numero_fasciculo_3.focus();
					problem = true;
				}
			}

			if ((!problem) && (cadena_4.length != 0))
			{
				if ((document.formulario.numero_fasciculo_4.value == document.formulario.numero_fasciculo_1.value) || (document.formulario.numero_fasciculo_4.value == document.formulario.numero_fasciculo_2.value) || (document.formulario.numero_fasciculo_4.value == document.formulario.numero_fasciculo_3.value))
				{
					alert("El fascículo Nº " + document.formulario.numero_fasciculo_4.value + " está repetido como petición de números atrasados");
					document.formulario.numero_fasciculo_4.focus();
					problem = true;
				}
			}

			if ((!problem) && (cadena_5.length != 0))
			{
				if ((document.formulario.numero_fasciculo_5.value == document.formulario.numero_fasciculo_1.value) || (document.formulario.numero_fasciculo_5.value == document.formulario.numero_fasciculo_2.value) || (document.formulario.numero_fasciculo_5.value == document.formulario.numero_fasciculo_3.value) || (document.formulario.numero_fasciculo_5.value == document.formulario.numero_fasciculo_4.value))
				{
					alert("El fascículo Nº " + document.formulario.numero_fasciculo_5.value + " está repetido como petición de números atrasados");
					document.formulario.numero_fasciculo_5.focus();
					problem = true;
				}
			}

			if ((!problem) && (cadena_6.length != 0))
			{
				if ((document.formulario.numero_fasciculo_6.value == document.formulario.numero_fasciculo_1.value) || (document.formulario.numero_fasciculo_6.value == document.formulario.numero_fasciculo_2.value) || (document.formulario.numero_fasciculo_6.value == document.formulario.numero_fasciculo_3.value) || (document.formulario.numero_fasciculo_6.value == document.formulario.numero_fasciculo_4.value) || (document.formulario.numero_fasciculo_6.value == document.formulario.numero_fasciculo_5.value))
				{
					alert("El fascículo Nº " + document.formulario.numero_fasciculo_6.value + " está repetido como petición de números atrasados");
					document.formulario.numero_fasciculo_6.focus();
					problem = true;
				}
			}
		}
		
		//comprobamos el campo
		if ( typeof(f.nombre) != "undefined" )
		{
			if ( (!problem) && ( obligatorio("f.nombre","NOMBRE") ) )
			{
				f.nombre.focus();
				problem = true;
			}
		}
		//comprobamos el campo
		if ( typeof(f.apellido1) != "undefined" )
		{
			if ( (!problem) && ( obligatorio("f.apellido1","PRIMER APELLIDO") ) )
			{
				f.apellido1.focus();
				problem = true;
			}
		}
		//TIPO VÍA

		if ((!problem) && ( typeof(f.tipo_via) != "undefined" ))
		{
			if ( uno_seleccionado("f.tipo_via", "TIPO VÍA") )
			{
				problem = true;
			}
		}

		//DIRECCIÓN
		if ( typeof(f.direccion) != "undefined" )
		{
			if ( (!problem) && ( obligatorio("f.direccion","DIRECCIÓN") ) )
			{
				f.direccion.focus();
				problem = true;
			}
		}
		//NÚMERO
		if ( typeof(f.numero) != "undefined" )
		{
			if ( (!problem) && ( obligatorio("f.numero","NÚMERO") ) )
			{
				f.numero.focus();
				problem = true;
			}
		}
		//POBLACIÓN
		if ( typeof(f.poblacion) != "undefined" )
		{
			if ( (!problem) && ( obligatorio("f.poblacion","POBLACIÓN") ) )
			{
				f.poblacion.focus();
				problem = true;
			}
		}
		//PROVINCIA
		if ((!problem) && ( typeof(f.provincia) != "undefined" )) 
		{
			if ( uno_seleccionado("f.provincia", "PROVINCIA") )
			{
				problem = true;
			}
		}
		
		//CÓDIGO POSTAL
		if ((!problem) && ( typeof(f.cp) != "undefined" ))
		{
			cadena = new String(f.cp.value);
			if (cadena.length < 3)
			{
				alert("El campo CÓDIGO POSTAL ha tener 5 caracteres");
				f.cp.select()
				problem = true;
			}
		}

		//TELÉFONO
		if ((!problem)  && ( typeof(f.telefono) != "undefined" ))
		{
			if ( ( document.formulario.telefono.value != "" ) || ( document.formulario.movil.value != "" ) )
			{
				if ( document.formulario.telefono.value != "" )
				{
					cadena = new String(f.telefono.value);
					//cadena2 = new String(f.solo_prefijo.value);

				/*	if ( (cadena.length + cadena2.length) < 9 )
					{
						alert("El campo TELÉFONO (INCLUIDO EL PREFIJO) ha tener 9 caracteres" + cadena2);
						f.telefono.focus()
						problem = true;
					} */
				}
				else
				{
					if ( (!problem) && ( numero_caracteres_obligatorios("f.movil", 9, "MÓVIL") ) )
					{
						f.movil.focus();
						problem = true;
					}
				}
			}
			else
			{
				alert("Uno de los campos, teléfono o móvil, es obligatorio");
				document.formulario.telefono.focus();
				problem = true;
			}
		}

		//comprobamos el campo fecha
	if ((!problem) && (typeof(f.dia) != "undefined") && (typeof(f.mes) != "undefined") && (typeof(f.anyo) != "undefined"))
	{
		var a, mes, dia, anyo, febrero;
		function anyoBisiesto(fin)
		{
		/*
			primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto, es decir, 
			obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
		*/
			if (fin % 4 != 0)
				return false;
			else
			{
				if (fin % 100 == 0)
				{
				/*
				si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
				*/
					if (fin % 400 == 0)
					{
						return true;
					}
				/*
				si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
				*/
					else
					{
						return false;
					}
				}
				/*
				si es divisible por 4 y no es divisible por 100 > el año es bisiesto
				*/
				else
				{
					return true;
				}
			}
		}
		dia = document.formulario.dia.value;
		mes = document.formulario.mes.value;
		anyo = document.formulario.anyo.value;
		
		if (!((dia == 0) && (mes == 0) && (anyo == 0)))
		{
			if ((dia != 0) && ((mes == 0) || (anyo == 0)))
			{
				alert("El campo FECHA NACIMIENTO no es correcto");
				document.formulario.dia.focus();
				problem = true;
			}
			else
			{
				if ((mes != 0) && ((dia == 0) || (anyo == 0)))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.dia.focus();
					problem = true;
				}
				else
				{
					if ((anyo != 0) && ((dia == 0) || (mes == 0)))
					{
						alert("El campo FECHA NACIMIENTO no es correcto");
						document.formulario.dia.focus();
						problem = true;
					}
				}
			}
			
			if (!problem)
			{
				if(anyoBisiesto(anyo))
					febrero=29;
				else
					febrero=28;
				
				/*
				si el mes introducido es febrero y el dia es mayor que el correspondiente al año 
				introducido > alertamos y detenemos ejecucion
				*/
				if ((!problem) && ((mes==2) && ((dia<1) || (dia>febrero))))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.dia.focus();
					problem = true;
				}
				/*
				si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
				*/
				if ((!problem) && (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.mes.focus();
					problem = true;
				}
				/*
				si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
				*/
				if ((!problem) && (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))))
				{
					alert("El campo FECHA NACIMIENTO no es correcto");
					document.formulario.mes.focus();
					problem = true;
				}
				
				if (!problem)
				{
					//calculo la fecha de hoy 
					hoy=new Date()
					
					//resto los años de las dos fechas 
					anyo_hoy = hoy.getYear();
					mes_hoy = hoy.getMonth() + 1;
					dia_hoy = hoy.getDate();

					edad = anyo_hoy - anyo;

					es_mayor = 1

					if (edad == 18)
					{
						if (mes_hoy < mes)
						{
							es_mayor = 0
						}		
						else
						{
							if ((mes_hoy == mes) && (dia_hoy < dia))
							{
								es_mayor = 0
							}	
						}
					}
					else
					{
						if (edad < 18)
						{
							es_mayor = 0
						}
					}

					if (es_mayor == 0)
					{
						alert("Para hacer un pedido debe ser MAYOR DE EDAD");
						document.formulario.dia.focus();
						problem = true;
					}
				}
			}
		}
	}

		//RECIBIR PUBLICIDAD
		/*if (!problem) 
		{
			if ( ( f.robinson.checked == true ) || (f.email.value != "") )
			{
				//E-MAIL
				str = new String(f.email.value);
				// are regular expressions supported?
				var supported = 0;
				if (window.RegExp) {
					var tempStr = "a";
					var tempReg = new RegExp(tempStr);
					if (tempReg.test(tempStr)) supported = 1;
				}
				if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
				var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
				var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
				if (!r1.test(str) && r2.test(str))
				{
				
				} else {
					alert("El formato de mail del campo E-MAIL no es válido.\n\nAl tener seleccionada la opción de recibir publicidad\nvía e-mail, este campo es obligatorio.");
					f.email.select();
					return false;
				}
			}
		}*/
	}

	return (!problem);
}

function gestionar_forma_pago(opcion)
{
	campos_domiciliacion_bancaria = new Array("entidad", "oficina", "dc", "numero_cuenta");

	estado = ( opcion == 1 ) ? true : false;

	for ( i = 0; i < campos_domiciliacion_bancaria.length; i++ )
	{
		eval("document.formulario." + campos_domiciliacion_bancaria[i] + ".disabled=" + estado);
	}
}

function validar_enviar_amigo()
{
	problem = false;

	f = document.formulario;

	if ( typeof(f.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.nombre","NOMBRE") ) )
		{
			f.nombre.focus();
			problem = true;
		}

		//comprobamos el campo email
		if ( (!problem) && ( !esemail("document.formulario.email","E-MAIL") ) )
		{
			document.formulario.email.focus();
			problem = true;
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.nombre_amigo","NOMBRE DEL AMIGO") ) )
		{
			f.nombre_amigo.focus();
			problem = true;
		}

		//comprobamos el campo email
		if ( (!problem) && ( !esemail("document.formulario.email_amigo","E-MAIL DEL AMIGO") ) )
		{
			document.formulario.email_amigo.focus();
			problem = true;
		}
		
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.texto","TEXTO") ) )
		{
			f.texto.focus();
			problem = true;
		}
	}

	return (!problem);
}

function validar_nuestro_experto()
{
	problem = false;

	f = document.formulario;

	if ( typeof(f.nombre) != "undefined" )
	{
		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.nombre","NOMBRE") ) )
		{
			f.nombre.focus();
			problem = true;
		}

		if (!problem)
		{
			if ( ( document.formulario.telefono.value != "" ) || ( document.formulario.email.value != "" ) )
			{
				if ( document.formulario.telefono.value == "" )
				{
					//comprobamos el campo
					if ( (!problem) && ( !esemail("document.formulario.email","E-MAIL") ) )
					{
						document.formulario.email.focus();
						problem = true;
					}
				}
			}
			else
			{
				alert("Uno de los campos, teléfono o e-mail, es obligatorio");
				document.formulario.telefono.focus();
				problem = true;
			}
		}

		//comprobamos el campo
		if ( (!problem) && ( obligatorio("f.texto","TEXTO") ) )
		{
			f.texto.focus();
			problem = true;
		}
	}

	return (!problem);
}

function validar_previsualizar_enviar_amigo(id_producto, id_modelo)
{
	if ( validar_enviar_amigo() )
		previsualizar_enviar_amigo(id_producto, id_modelo);
}

function validar_registro_boletin(accion)
{
	//comprobamos el campo email
	campo = "document.formulario.email";
	nombre_campo = "Correo electrónico"
	if (obligatorio(campo, nombre_campo))
	{
		document.formulario.email.focus();
		return false;
	}
	else
	{
		if (!esemail("document.formulario.email","Correo electrónico"))
		{
			document.formulario.email.focus();
			return false;
		}
	}
	
	//comprobamos el campo PASSWORD
	campo = "document.formulario.cp";
	nombre_campo = "Código postal"
	if (obligatorio(campo, nombre_campo))
	{
		document.formulario.cp.focus();
		return false;
	}
	
	if (accion == 2)
	{
		if (confirm("¿Seguro que desea darse de baja del boletín?"))
		{
			document.formulario.action = "registro_usuarios_gestion.asp?accion=" + accion;
			document.formulario.submit();
		}
	}
	else
	{
		document.formulario.action = "registro_usuarios_gestion.asp?accion=" + accion;
		document.formulario.submit();
	}
}