// JavaScript Document

$.validator.setDefaults({
	// submitHandler: function() { alert("submitted!"); }
});

$().ready(function() {
	// Refresh Captcha Image
	$("#refreshimg").click(function(){
		$.post('newsession.php');
		$("#captchaimage").load('image_req.php');
		return false;
	});
	
	// validate signup form on keyup and submit
	$("#signupForm").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			username: {
				required: true,
				minlength: 5,
				remote: "validate_users.php"
			},
			email: {
				required: true,
				email: true,
				remote: "validate_emails.php"
			},
			captcha: {
				required: true,
				remote: "validate_process.php"
			}
		},
		messages: {
			firstname: "Please Enter Your First Name",
			lastname: "Please Enter Your Last Name",
			username: {
				required: "Please Enter a Username",
				minlength: jQuery.format("Please Enter At Least {0} Characters"),
				remote: "Username Already In Use"
				//remote: jQuery.format("{0} is Taken")
			},
			email: {
				required: "Please Enter a Valid Email Address",
				email: "Please Enter a Valid Email Address",
				remote: "E-Mail Already In Use"
				// remote: jQuery.format("{0} is already in use")
			},
			captcha: "Does Not Match Image."
		},
		
		// the errorPlacement has to take the 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.parent().next() );
			else
				error.appendTo( element.parent() );
			}
	});
	
	// propose username by combining first- and lastname
	$("#username").focus(function() {
		var firstname = $("#firstname").val();
		var lastname = $("#lastname").val();
		if(firstname && lastname && !this.value) {
			this.value = firstname + "." + lastname;
		}
	});
});