function validator() {
	var contacto;
	var form

	if (!document.getElementById("formulario_registro")) {
		contacto = true;
		if (!document.getElementById("formulario_contacto")) { return false; }
		else form = document.getElementById("formulario_contacto");
	}
	else { contacto = false;
		form = document.getElementById("formulario_registro");
	}

	if(!contacto)
	form.onsubmit = function() {
		var errors = 0;
		
		$$('#formulario_registro li.error_formulario span').each(function(item){
			item.remove();
		});
		
		$$('#formulario_registro li').each(function(item){
			item.removeClassName("error_formulario");
		});
		
		var nombre = document.getElementById("nombre");
		if(nombre.value === '') {
			errors[errors++]
			$('nombre').up('li').addClassName("error_formulario").insert('<span>El nombre/alias es obligatorio</span>');
			}
			
		var nombre_completo = document.getElementById("nombre_completo");
		if(nombre_completo.value === '') {
			errors[errors++]
			$('nombre_completo').up('li').addClassName("error_formulario").insert('<span>El nombre completo es obligatorio</span>');
			}
			
		var pais = document.getElementById("pais");
		if(pais.value === '') {
			errors[errors++]
			$('pais').up('li').addClassName("error_formulario").insert('<span>El país es obligatorio</span>');
			}
			
		var localidad = document.getElementById("localidad");
		if(localidad.value === '') {
			errors[errors++]
			$('localidad').up('li').addClassName("error_formulario").insert('<span>La localidad es obligatoria</span>');
			}
		
		var cod_postal = document.getElementById("cod_postal");
		if(cod_postal.value === '') {
			errors[errors++]
			$('cod_postal').up('li').addClassName("error_formulario").insert('<span>El código postal es obligatorio</span>');
			}
			
		var direccion = document.getElementById("direccion");
		if(direccion.value === '') {
			errors[errors++]
			$('direccion').up('li').addClassName("error_formulario").insert('<span>La dirección es obligatoria</span>');
			}
		
		var email = document.getElementById("email");	
		if(email.value === '') {
			errors[errors++]
			$('email').up('li').addClassName("error_formulario").insert('<span>El e-mail es obligatorio</span>');
			}
		else{
			val=email.value;
			p=val.indexOf('@');
			if (p<1 || p==(val.length-1)){
				errors[errors++]
				$('email').up('li').addClassName("error_formulario").insert('<span>No es una direcci&oacute;n de email v&aacute;lida</span>');
			}
		}
		
		var fecha_dia = document.getElementById("fecha_nacimientoDay");
		
		if(fecha_dia.value === '') {
			errors[errors++]
			$('fecha_nacimientoDay').up('li').addClassName("error_formulario").insert('<span>No se ha elegido el d&iacute;a</span>');
			}
		var fecha_mes = document.getElementById("fecha_nacimientoMonth");
		if(fecha_mes.value === '') {
			errors[errors++]
			$('fecha_nacimientoMonth').up('li').addClassName("error_formulario").insert('<span>No se ha elegido el mes</span>');
			}
		var fecha_anyo = document.getElementById("fecha_nacimientoYear");
		if(fecha_anyo.value === '') {
			errors[errors++]
			$('fecha_nacimientoYear').up('li').addClassName("error_formulario").insert('<span>No se ha elegido el a&ntilde;o</span>');
			}
		if((fecha_anyo.value !== '')&&(fecha_mes.value !== '')&&(fecha_dia.value !== '')){
			var fecha_nacimiento = new Date();
			var mes=fecha_mes.value - 1;
			fecha_nacimiento.setFullYear( fecha_anyo.value, mes, fecha_dia.value);
			if ( fecha_nacimiento.getMonth() != mes ) {
				errors[errors++]
				$('fecha_nacimientoYear').up('li').addClassName("error_formulario").insert('<span>La fecha no es v&aacute;lida</span>');			
			}
			var hoy=new Date();
			if(	hoy<fecha_nacimiento){
			//if((hoy.getFullYear() >= fecha_nacimiento.getFullYear()) && ((hoy.getMonth() < fecha_nacimiento.getMonth()) || ((hoy.getMonth() == fecha_nacimiento.getMonth()) && (hoy.getDate() < fecha_nacimiento.getDate()) ) ))  {
				errors[errors++]
				$('fecha_nacimientoYear').up('li').addClassName("error_formulario").insert('<span>La fecha de nacimiento es posterior a hoy</span>');
			}	
		}
		
	}
		if(contacto)
		form.onsubmit = function() {
		var errors = 0;
		
		$$('#formulario_registro li.error_formulario span').each(function(item){
			item.remove();
		});
		
		$$('#formulario_registro li').each(function(item){
			item.removeClassName("error_formulario");
		});
		
		var nombre = document.getElementById("nombre");
		if(nombre.value === '') {
			errors[errors++]
			$('nombre').up('li').addClassName("error_formulario").insert('<span>El nombre/alias es obligatorio</span>');
			}
			
		
		
		var email = document.getElementById("email");	
		if(email.value === '') {
			errors[errors++]
			$('email').up('li').addClassName("error_formulario").insert('<span>El e-mail es obligatorio</span>');
			}
		else{
			val=email.value;
			p=val.indexOf('@');
			if (p<1 || p==(val.length-1)){
				errors[errors++]
				$('email').up('li').addClassName("error_formulario").insert('<span>No es una direcci&oacute;n de email v&aacute;lida</span>');
			}
		}
		
		

		var validacion = document.getElementById("validacion");
		if(validacion.value === '') {
			errors[errors++]
			$('validacion').up('li').addClassName("error_formulario").insert('<span>La validaci&oacute;n no coincide con la imagen</span>');
			}
		
		
		if (errors != 0) {
			$('boton').up('li').addClassName("error_formulario").insert('<span>Hay errores en el formulario</span>');		
			return false;
		}
		
	}
}

document.observe('dom:loaded',function(){
	validator();
});

