jQuery(document).ready(function() {
	var validator = jQuery("#f_registro").validate({
		errorElement: "em",
		rules: {
			usuario: {
				required: true,
				minlength: 5,
				remote: "registro?validar=usuario"
			},
			email: {
				required: true,
				email: true,
				remote: "registro?validar=email"
			},
			password: {
				required: true,
				minlength: 8
			},
			rpassword: {
				required: true,
				minlength: 8,
				equalTo: "#DatosPassword"
			},
			nombre: "required",
			apellidos: "required",
			sexo: "required",
			f_nacimiento: "required",
			tratofiscal: "required",
			empresa: { minlength:0 },
			idfiscal: "required",
			pais: "required",
			provincia: "required",
			cpostal: {
				required: true,
				digits: true
			},
			ciudad: "required",
			direccion: "required",
			telefono: "required",
			condiciones: "required"
		},
		messages: {
			nombre: "Por favor, escriba su nombre.",
			apellidos: "Por favor, escriba sus apellidos.",
			sexo: "Por favor, seleccione su género.",
			f_nacimiento: "Por favor, introduzca su fecha de de nacimiento.",
			tratofiscal: "Por favor, seleccione su trato fiscal.",
			idfiscal: "Por favor, escriba su número de identificación fiscal.",
			pais: "Por favor, seleccione su país de residencia.",
			provincia: "Por favor, escriba su provincia de residencia.",
			cpostal: "Por favor, escriba su código postal.",
			ciudad: "Por favor, escriba su ciudad de residencia.",
			direccion: "Por favor, escriba su dirección.",
			telefono: "Por favor, escriba su número de teléfono fijo o móvil.",
			usuario: {
				required: "Por favor, escriba un nombre de usuario.",
				minlength: jQuery.format("Introduzca al menos {0} caracteres."),
				remote: jQuery.format("El usuario <strong>{0}<\/strong> no está disponible.")
			},
			password: {
				required: "Debe proporcionar una contraseña.",
				rangelength: jQuery.format("Introduzca al menos {0} caracteres.")
			},
			rpassword: {
				required: "Por favor, repita su contraseña.",
				minlength: jQuery.format("Introduzca al menos {0} caracteres."),
				equalTo: "Por favor, repita la misma contraseña que la anterior."
			},
			email: {
				required: "Por favor, introduzca una dirección de correo válida.",
				minlength: "Por favor, introduzca una dirección de correo válida.",
				remote: jQuery.format("La dirección de correo <strong>{0}<\/strong> ya está en uso.")
			},
			condiciones: "Debe aceptar las condiciones legales."
		},
		errorPlacement: function(error, element) {
			if ( element.is(":radio") ) {
				element.parent().parent().parent().parent().append('<span class="error">&nbsp;</span>');
				error.appendTo( element.parent().parent().parent().parent() );
			}
			else if ( element.hasClass('fecha') ) {
				error.appendTo( element.parent() );
			}
			else {
				element.parent().append('<span class="error">&nbsp;</span>');
				error.appendTo( element.parent() );
			}

		},
		errorHandler: function(error, element) {
			element.parent().find('span.error.checked').removeClass('checked');
		},
		success: function(element) {
			// set   as text for IE
			element.parent().find('span.error').addClass('checked');
			element.html(" ").addClass("checked");
		}
	});

	// propose username by combining first- and lastname
	jQuery("#DatosUsuario").focus(function() {
		var firstname = jQuery("#DatosApellidos").val();
		var lastname = jQuery("#DatosNombre").val();
		if(firstname && lastname && !this.value) {
			this.value = firstname + "." + lastname;
		}
	});
 });

 /*
 * Translated default messages for the jQuery validation plugin.
 * Locale: ES
 */
jQuery.extend(jQuery.validator.messages, {
  required: "Este campo es obligatorio.",
  remote: "Por favor, rellene este campo.",
  email: "Por favor, escriba una dirección de correo válida.",
  url: "Por favor, escriba una URL válida.",
  date: "Por favor, escriba una fecha válida.",
  dateISO: "Por favor, escriba una fecha (ISO) válida.",
  number: "Por favor, escriba un número entero válido.",
  digits: "Por favor, escriba sólo dígitos.",
  creditcard: "Por favor, escriba un número de tarjeta válido.",
  equalTo: "Por favor, escriba el mismo valor de nuevo.",
  accept: "Por favor, escriba un valor con una extensión aceptada.",
  maxlength: jQuery.validator.format("Por favor, no escriba más de {0} caracteres."),
  minlength: jQuery.validator.format("Por favor, no escriba menos de {0} caracteres."),
  rangelength: jQuery.validator.format("Por favor, escriba un valor entre {0} y {1} caracteres."),
  range: jQuery.validator.format("Por favor, escriba un valor entre {0} y {1}."),
  max: jQuery.validator.format("Por favor, escriba un valor menor o igual a {0}."),
  min: jQuery.validator.format("Por favor, escriba un valor mayor o igual a {0}.")
});
