function validator() {
	if (!document.getElementById("form_registro")) { return false; }
	var form = document.getElementById("form_registro");
	
	form.onsubmit = function() {
		var errors = 0;
			
		$$('#form_registro div.error_formulario span').each(function(item){
			item.remove();
		});
		
		$$('#form_registro div').each(function(item){
			item.removeClassName("error_formulario");
		});
		
		var usuario = document.getElementById("nombreusuario");
		if(usuario.value === '') {
			errors[errors++]
			$('nombreusuario').up('div').addClassName("error_formulario").insert('<span>El nombre de usuario es obligatorio</span>');
			}
		
		var nombre = document.getElementById("nombre");
		if(nombre.value === '') {
			errors[errors++]
			$('nombre').up('div').addClassName("error_formulario").insert('<span>El nombre es obligatorio</span>');
			}
			
		var pass = document.getElementById("pass");
		if(pass.value === '') {
			errors[errors++]
			$('pass').up('div').addClassName("error_formulario").insert('<span>El password es obligatorio</span>');
			}
		
		var apellidos = document.getElementById("apellidos");
		if(apellidos.value === '') {
			errors[errors++]
			$('apellidos').up('div').addClassName("error_formulario").insert('<span>Los apellidos son obligatorios</span>');
			}
		/*			
		var provincia = document.getElementById("provincia");
		if(provincia.value === '') {
			errors[errors++]
			$('provincia').up('div').addClassName("error_formulario").insert('<span>La provincia es obligatoria</span>');
			}
		*/	
		var direccion = document.getElementById("DireccionDireccion");
		if(direccion.value === '') {
			errors[errors++]
			$('DireccionDireccion').up('div').addClassName("error_formulario").insert('<span>La dirección es obligatoria</span>');
			}
			
		var localidad = document.getElementById("pais");
		if(localidad.value === '') {
			errors[errors++]
			$('pais').up('div').addClassName("error_formulario").insert('<span>Elige un país</span>');
			}
		
		var localidad = document.getElementById("localidad");
		if(localidad.value === '') {
			errors[errors++]
			$('localidad').up('div').addClassName("error_formulario").insert('<span>La localidad es obligatoria</span>');
			}
		var cp = document.getElementById("cp");
		if(cp.value === '') {
			errors[errors++]
			$('cp').up('div').addClassName("error_formulario").insert('<span>El código postal es obligatorio</span>');
			}
		
		var telf = document.getElementById("DireccionTelf");
		if(telf.value === '') {
			errors[errors++]
			$('DireccionTelf').up('div').addClassName("error_formulario").insert('<span>El teléfono es obligatorio</span>');
			}
			
		var email = document.getElementById("email");	
		if(email.value === '') {
			errors[errors++]
			$('email').up('div').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('div').addClassName("error_formulario").insert('<span>No es una direcci&oacute;n de email v&aacute;lida</span>');
			}
		}
		/*
		var fiscal = document.getElementById("fiscal");
		if(fiscal.value !== '') {
			if(validarNIF(fiscal.value)!==true){
				errors[errors++]
				$('fiscal').up('div').addClassName("error_formulario").insert('<span>El c&oacute;digo no es un NIF v&aacute;lido</span>');
			}			
		}
		*/
		var fecha_dia = document.getElementById("fecha_nacimientoDay");
		var fecha_mes = document.getElementById("fecha_nacimientoMonth");
		var fecha_anyo = document.getElementById("fecha_nacimientoYear");
		
		/*if((fecha_dia.value !== '')||(fecha_mes.value !== '')||(fecha_anyo.value !== '')){*/	
			if(fecha_dia.value === '') {
				errors[errors++]
				$('fecha_nacimientoDay').up('div').addClassName("error_formulario").insert('<span>No se ha elegido el d&iacute;a</span>');
				}
			
			if(fecha_mes.value === '') {
				errors[errors++]
				$('fecha_nacimientoMonth').up('div').addClassName("error_formulario").insert('<span>No se ha elegido el mes</span>');
				}
			
			if(fecha_anyo.value === '') {
				errors[errors++]
				$('fecha_nacimientoYear').up('div').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('div').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('div').addClassName("error_formulario").insert('<span>La fecha de nacimiento es posterior a hoy</span>');
				}	
			}
		/*}*/
		
		/*var validacion = document.getElementById("validacion");
		if(validacion.value === '') {
			errors[errors++]
			$('validacion').up('div').addClassName("error_formulario").insert('<span>La validaci&oacute;n no coincide con la imagen</span>');
			}
		
		
		var terminos = document.getElementById("UsuarioTerminos");
		if(!terminos.checked) {
			errors[errors++]
			$('UsuarioTerminos').up('div').addClassName("error_formulario").insert('<span>No se han aceptado los t&eacute;rminos y condiciones de Kr&eacute;alo</span>');
			}*/
			
		
		
		if (errors != 0) {
			$('boton').up('div').addClassName("error_formulario").insert('<span>Hay errores en el formulario</span>');		
			return false;
		}
	}
}
function validarNIF(texto){

	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
	
	longitud=texto.length;
	
	var letra=texto.substring(longitud-1);
	var dni=new Number(texto.substring(0,longitud-1));
	
	var numero = dni%23;
	
	if(letra!=letras.substring(numero,numero+1))
		return false;
	else
		return true;
}

function validarCIF(texto){
        
        var pares = 0;
        var impares = 0;
        var suma;
        var ultima;
        var unumero;
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
        var xxx;
        
        texto = texto.toUpperCase();
        
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);
         if (!regular.exec(texto)) return false;
             
         ultima = texto.substr(8,1);

         for (var cont = 1 ; cont < 7 ; cont ++){
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
             pares += parseInt(texto.substr(cont,1));
         }
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
         
         suma = (pares + impares).toString();
         unumero = parseInt(suma.substr(suma.length - 1, 1));
         unumero = (10 - unumero).toString();
         if(unumero == 10) unumero = 0;
         
         if ((ultima == unumero) || (ultima == uletra[unumero]))
             return true;
         else
             return false;

} 

document.observe('dom:loaded',function(){
	validator();
});

