$(document).ready(function() {
	var okIcon = $('<img />').attr('src', baseUrl+'/images/write_ok.gif').attr('alt', '成功');
	$('#ForumMembers_email').val('');

	$.ajaxSetup({ timeout : 5000 });

	$('.loginMain ul li input.ipt3').focus(function() {
		$(this).addClass('input_text_error');
	}).blur(function() {
		$(this).removeClass('input_text_error');
	})
	
	formBox = $('.loginMain');
	
	formBox.find(':input').blur(function() {
		if($(this).is('.required')) {
			var fld = $(this).next('p').removeClass('notice_error');
			if(empty($(this).val())) {
				$(this).removeClass('input_text_over');
				
				msg = '此为必填项，';
				switch($(this).attr('id')) {
					case 'ForumMembers_username':
						msg += '请输入您的用户名。';
						break;
					case 'ForumMembers_email':
						msg += '请输入您的 Email 地址。';
						break;
					case 'ForumMembers_password':
						msg += '请设置您的密码。';
						break;
					case 'confirmPassword':
						msg += '请再次输入您的密码。';
						break;
				}
				$(this).addClass('input_text_over');
				fld.addClass('notice_error').text(msg);
				return ;
			}
		}

        if($(this).is('#ForumMembers_username')) {
			var fld = $(this).next('p').removeClass('notice_error').empty();
			$(this).removeClass('input_text_over');
			$.ajaxSetup({ global : false});

			msg = '';
            $.post(baseUrl+'/index.php/users/checkusername', { username : $(this).val() },
                function(data) {
                    fld.empty();
                    error = false;
                    data = parseInt(data);
                    switch(data) {
                        case 1:
                            fld.append(okIcon.clone());
                            break;
                        case -1:
                            msg = '您输入的用户名不合法。用户名长度必须大于 3 个半角字符。';
                            error = true;
                            break;
                        case -2:
                            msg = '您输入的用户名包含不允许注册的词语，请重新输入。';
                            error = true;
                            break;
                        case -3:
                            msg = '您输入的用户名已经存在，请重新输入。';
                            error = true;
                            break;
                    }
                    if(error == true) {
                        $('#ForumMembers_username').addClass('input_text_over');
                        fld.addClass('notice_error');
                        fld.text(msg);
                    }
                }
            );
		}

		if($(this).is('#ForumMembers_email')) {
			var fld = $(this).next('p').removeClass('notice_error').empty();
			$(this).removeClass('input_text_over');
			$.ajaxSetup({ global : false});

			msg = '';
				$.post(baseUrl+'/index.php/users/emailexists', { email : $(this).val() },
                    function(data) {
                        fld.empty();
                        error = false;
                        data = parseInt(data);
                        switch(data) {
                            case 1:
                                fld.append(okIcon.clone());
                                break;
                            case -4:
                                msg = '您输入的 Email 格式有误，请检查后重新输入。';
                                error = true;
                                break;
                            case -5:
                                msg = '该 Email 不允许注册，请重新输入。';
                                error = true;
                                break;
                            case -6:
                                msg = '您输入的 Email 已经存在，请重新输入。';
                                error = true;
                                break;
                        }
                        if(error == true) {
                            $('#ForumMembers_email').addClass('input_text_over');
                            fld.addClass('notice_error');
                            fld.text(msg);
                        }
                    }
				);
		}
		
		if($(this).is('#ForumMembers_password')) {
			var fld = $(this).next('p').removeClass('notice_error');
			$(this).removeClass('input_text_over');
			
			reg = /^[\w]{6,20}$/;
			msg = '';
			if( ! empty($(this).val()) && ! reg.test($(this).val())) {
				msg = '您的密码格式有误。密码可以由大小写英文字母、数字组成，长度6－20位。';
				$(this).addClass('input_text_over');
				fld.addClass('notice_error');
				fld.text(msg);
			} else {
				fld.empty().append(okIcon.clone());
			}
		}
		

		if($(this).is('#confirmPassword')) {
			var fld = $(this).next('p').removeClass('notice_error');
			$(this).removeClass('input_text_over');
			
			msg = '';
			if( ! empty($(this).val()) && $(this).val() != $('#ForumMembers_password').val()) {
				msg = '两次密码输入的不一致，请重新输入。';
				$(this).addClass('input_text_over');
				fld.addClass('notice_error');
				fld.text(msg);
			} else if($('#ForumMembers_password').next('p').is('.notice_error')) {
				fld.empty();
			} else {
				fld.empty().append(okIcon.clone());
			}
		}
		
		if($(this).is('#ForumMembers_verifyCode')) {
			var fld = $(this).next('p').removeClass('notice_error').empty();
			$(this).removeClass('input_text_over');
			$.ajaxSetup({ global : false});

			msg = '';
			$.post(baseUrl+'/index.php/users/captchavalidate', { verifyCode : $(this).val() },
				function(data) {
					fld.empty();
					if(data == true) {
						fld.append(okIcon.clone());
					} else {
						$('#ForumMembers_verifyCode').addClass('input_text_over');
						msg = '您填写的验证码有误。';
						fld.addClass('notice_error');
						fld.text(msg);
					}
				}
			);
		}
		$.ajaxSetup({ async : true });
	})

	
	$('#registerForm').submit(function() {
		formBox.find(':input').not('#ForumMembers_email').not('#ForumMembers_verifyCode').trigger('blur');
		$.ajaxSetup({ async : false });
		$('#ForumMembers_email').trigger('blur');
		$.ajaxSetup({ async : false });
		$('#ForumMembers_verifyCode').trigger('blur');
		numErrs = formBox.find('.notice_error').length;

		if(numErrs) {
			return false;
		} else {
			document.form1.submit();
		}
		return false;
	});
})

function empty(str) {
	return str.replace(/^(\s)*$/, '') == '';
}
