﻿$(document).ready(function() {
	// validate signup form on keyup and submit
	var validator = $("#signupform").validate({
		rules: {
			nombre: "required",
			apellido: "required",
			direccion: "required",
			direccionEnvases: "required",
			ciudad: "required",
			telefono: {
				required: true,
				minlength: 10
			},
			asunto: "required",
			mensaje: "required",
			cuenta: "required",
			passwordOld: {
				required: true,
				remote: "/includes/checkPassword.php"
			},
			nombreusuario: {
				required: true,
				minlength: 2,
				remote: "/includes/checkUsuario.php"
			},
			password: {
				required: true,
				minlength: 5
			},
			password_confirm: {
				required: true,
				minlength: 5,
				equalTo: "#password"
			},
			email: {
				required: true,
				email: true
			},
			fechaentrega: {
				required: true,
				remote: "/includes/checkFechaEntrega.php"
			}
		},
		messages: {
			nombre: "Ingrese su nombre",
			apellido: "Ingrese su apellido",
			direccion: "Ingrese su dirección",
			direccionEnvases: "Ingrese la dirección",
			ciudad: "Ingrese su ciudad",
			telefono: {
				required: "Ingrese su número de teléfono",
				minlength: jQuery.format("Ingrese al menos {0} caracteres")
			},
			asunto: "Ingrese el asunto",
			mensaje: "Ingrese el mensaje",
			cuenta: "Ingrese su número de cuenta",
			passwordOld:  {
				required: "Ingrese su contraseña actual",
				remote: jQuery.format("Contraseña incorrecta")
			},
			nombreusuario: {
				required: "Ingrese un nombre de usuario",
				minlength: jQuery.format("Ingrese al menos {0} caracteres"),
				remote: jQuery.format("{0} ya existe como usuario")
			},
			password: {
				required: "Ingrese una contraseña",
				minlength: jQuery.format("Ingrese al menos {0} caracteres")
			},
			password_confirm: {
				required: "Confirme su contraseña",
				minlength: jQuery.format("Ingrese al menos {0} caracteres"),
				equalTo: "Las contraseñas no son iguales"
			},
			email: {
				required: "Ingrese su email",					
				email: "Ingrese un email válido"
			},
			fechaentrega:  {
				required: "Ingrese la fecha de entrega",
				remote: jQuery.format("La fecha no puede ser menor a la fecha del pedido")
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent().next().next() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.next() );
			else
				error.appendTo( element.parent().next() );
		},
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		}
	});
	
	var validator = $("#loginform").validate({
		rules: {
			nombreUsuarioLogin: "required",
			passwordLogin: "required"
		},
		messages: {
			nombreUsuarioLogin: "Ingrese su nombre de usuario",
			passwordLogin: "Ingrese su contraseña"
		},
		errorPlacement: function(error, element) {
			error.appendTo( element.parent().parent().next().children().get(0) );
		},
		success: function(label) {
			label.addClass("checked");
		}
	});
	
	// propose nombreusuario by combining nombre and apellido
	$("#nombreusuario").focus(function() {
		var nombre = $("#nombre").val().replace(/ /g, '').replace(/á/g, 'a').replace(/é/g, 'e').replace(/í/g, 'i').replace(/ó/g, 'o').replace(/ú/g, 'u');
		var apellido = $("#apellido").val().replace(/ /g, '').replace(/á/g, 'a').replace(/é/g, 'e').replace(/í/g, 'i').replace(/ó/g, 'o').replace(/ú/g, 'u');
		if(nombre && apellido && !this.value) {
			this.value = nombre + apellido;
		}
	});

});
