/*
Copyright 2009 Gerrit Veldman
All rights reserved. See license.txt.
*/
$(document).ready(function() {
	var $em = $('#em');
	var $ee = $('#ee');
	var $nm = $('#nm');
	var $aa = $('#aa');
	var $aaa = $('#aaa');
	var $lp = $('#lp');
	var $zc = $('#zc');
	var $cr = $('#cr');
	var $ct = $('#ct');
	var $code = $('#code');
	var check = function () {
		$message = $(this).prev('.error');
		$message.fadeOut().queue(function() {
			$message.remove().dequeue();
		});
		if (this.value == '') {
			$message.remove();
			var error = ' ' + LN_ERROR_REQUIRED;
			$('<div></div>')
			.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;
			$('<div></div>')
			.addClass('error')
			.text(error)
			.insertBefore(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;
			$('<div></div>')
			.addClass('error')
			.text(error)
			.insertBefore(this)
			.hide()
			.fadeIn();
		}
		else if (this.id == 'em') {
			$.ajax ({
				'url': CF_BASE_PATH + 'index.php',
				'data': {'a': CF_BASE_LANG + 'ajaxvalidate.xml','f':'em','v':$em.val()},
				'dataType': 'html',
				'type': 'GET',
				'success': function(data) {
					if (data == '1') {
						$message.remove();
						var error = ' ' + LN_ERROR_ALREADY_EXISTS;
						$('<div></div>')
						.addClass('error')
						.text(error)
						.insertBefore($em)
						.hide()
						.fadeIn();
					}
				}
			});
		}
	};
	$em.focus();
	$em.blur(check);
	$ee.blur(check);
	$nm.blur(check);
	if (CF_USER_ADDRESS) {
		$aa.blur(check);
		$lp.blur(check);
		$cr.blur(check);
	}
	$code.blur(check);
	$em.parents('form').submit(function() {
		$('.error').remove();
		$em.trigger('blur');
		$ee.trigger('blur');
		$nm.trigger('blur');
		if (CF_USER_ADDRESS) {
			$aa.trigger('blur');
			$lp.trigger('blur');
			$cr.trigger('blur');
		}
		$code.trigger('blur');
		if ($('.error').length) {
			var error = LN_ERROR_FORM_NOT_COMPLETED;
			$('<div></div>')
			.addClass('error')
			.text(error)
			.insertAfter(this)
			.hide()
			.fadeIn();
			return false;
		}
	});
});

