/*
Copyright 2009 Gerrit Veldman
All rights reserved. See license.txt.
*/
$(document).ready(function() {
	var $em = $('#em');
	var $ee = $('#ee');
	var $nm = $('#nm');
	var $tt = $('#tt');
	var $sb = $('#sb');
	var $code = $('#code');
	var check = function() {
		if (this.id != 'tt') {
			$message = $(this).next('.error');
			$message.fadeOut().queue(function() {
				$message.remove().dequeue();
			});
		}
		else {
			$message = $(this).prev('.error');
			$message.fadeOut().queue(function() {
				$message.remove().dequeue();
			});
		}
		if (this.id != 'tt' && this.value == '') {
			$message.remove();
			var error = ' ' + LN_ERROR_REQUIRED;
			$('<span></span>')
			.addClass('error')
			.text(error)
			.insertAfter(this)
			.hide()
			.fadeIn();
		}
		else if (this.id == 'tt' && this.value == '') {
			$message.remove();
			var error = ' ' + LN_ERROR_REQUIRED;
			$('<span></span>')
			.addClass('error')
			.text(error)
			.insertBefore(this)
			.hide()
			.fadeIn();
		}
		else if (this.id == 'ee' && this.value != $em.val()) {
			$message.remove();
			var error = ' ' + LN_ERROR_NO_EMAIL_MATCH;
			$('<span></span>')
			.addClass('error')
			.text(error)
			.insertAfter(this)
			.hide()
			.fadeIn();
		}
		else if (this.id == 'em' && !/^[A-Z0-9._%-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i.test(this.value)) {
			$message.remove();
			var error = ' ' + LN_ERROR_EMAIL_NOT_VALID;
			$('<span></span>')
			.addClass('error')
			.text(error)
			.insertAfter(this)
			.hide()
			.fadeIn();
		}
	};
	$em.focus();
	$em.blur(check);
	$ee.blur(check);
	$nm.blur(check);
	$tt.blur(check);
	$sb.blur(check);
	$code.blur(check);
	$tt.parents('form').submit(function() {
		$('.error').remove();
		$em.trigger('blur');
		$ee.trigger('blur');
		$nm.trigger('blur');
		$tt.trigger('blur');
		$sb.trigger('blur');
		$code.trigger('blur');
		if ($('.error').length) {
			var error = LN_ERROR_FORM_NOT_COMPLETED;
			$('<span></span>')
			.addClass('error')
			.text(error)
			.insertAfter(this)
			.hide()
			.fadeIn();
			return false;
		}
	});
});
