$(document).ready(function(){
	var validatecodechecked = false;
    $("input", regForm).blur(function(){
        analyseData(this);
    });
    
    $("input", regForm).focus(function(){
        analyseData(this, true);
    });
	
	$("input", regForm).mouseover(function(){
        analyseData(this, true, false, true);
    });
	
	$("input", regForm).mouseout(function(){
        analyseData(this, false);
    });
	
	$("input[name='submit']", regForm).click(function(){
		$("form").submit( function(){
			if (checkAll()) 
				return true;
			return false;
		});
    });
	
	function checkAll(){
	    var result = true;		
	    //var e =  document.getElementsByTagName("input");
		var e = $("input", regForm);
	    for(var i=0;i<e.length;i++){			
			if (e[i].id) {
				if ((e[i].type == 'text' || e[i].type == 'password') && e[i].name != 'validatecode') {
					var tmpresult = analyseData(e[i], false, true);
					if(typeof(tmpresult) != 'undefined'){
			        	result &= tmpresult;
			    	}
				}
			}
		}		
		
		if (!validatecodechecked){
			//alert(validatecodechecked);
			$("#validatecode_info").removeClass();
			$("#validatecode_info").addClass('Wrong');
            $("#validatecode_info").html('验证码不正确');
			return false;
		}
		result &= validatecodechecked;
	    return (result == "0"?false:true);
	}
	
    function analyseData(obj, onfocus, checkdata, mouseover){
		var result = 1;
        if (obj.id) {
            var id = obj.id;            
            switch (id) {
                case "userName":
                    result = checkUserName(obj, onfocus, checkdata);
                    break;
				case "userPwd":
					result = checkUserPwd(obj, onfocus, checkdata);
					break;
				case "reUserPwd":
					result = checkReUserPwd(obj, onfocus, checkdata);
					break;
				case "email":
					result = checkEmail(obj, onfocus, checkdata);
					break;
				case "company":
					result = checkCompany(obj, onfocus, checkdata);
					break;
				case "companyAddress":				
					result = checkCompanyAddress(obj, onfocus, checkdata);
					break;
				case "realName":
					result = checkRealName(obj, onfocus, checkdata);
					break;
				case "telephone":
					result = checkTelephone(obj, onfocus, checkdata);
					break;
				case "mobile":
					result = checkMobile(obj, onfocus, checkdata);
					break;
				case "validatecode":
					result = checkValidatecode(obj, onfocus, checkdata, mouseover);
					break;
				case "im":
					result = checkIM(obj, onfocus, checkdata);
					break;
				case "msn":
					result = checkIM(obj, onfocus, checkdata);
					break;
				case "QQ":
					result = checkIM(obj, onfocus, checkdata);
					break;
				case "wlt":
					result = checkIM(obj, onfocus, checkdata);
					break;
            }
        }
		return result;
    }	
    
    function checkUserName(obj, onfocus, checkdata){
        $("#userName_info").removeClass();
        $("#userName_info").html('');
        if (onfocus) {
            $("#userName_info").addClass('Exp');
            $("#userName_info").html('3-20个字母或数字');
            return 0;
        }
        var name = obj.value;

		if (name.length==0 && !checkdata) return 0;

		if (name.length <3 || name.length >20){
			$("#userName_info").addClass('Wrong');
            $("#userName_info").html('用户名长度错误');
			return 0;
		}
		
		var patn =   /^[a-zA-Z]+[a-zA-Z0-9]+$/;
		if (!patn.test(name)){
			$("#userName_info").addClass('Wrong');
            $("#userName_info").html('用户名格式错误');
			return 0;
		}
        
		$("#userName_info").html('检测中，请稍等...');
        $.get('_checkUserNameIsExist.do', {
            userName: name
        }, function(g){
            if (g == 'true') {
                $("#userName_info").addClass('Wrong');
                $("#userName_info").html('该用户名已经存在');
				return 0;
            }
            else {
                $("#userName_info").addClass('Correct');
                $("#userName_info").html('该用户名可以注册');
				return 1;
            }
        });
    }
	
	function checkValidatecode(obj, onfocus, checkdata, mouseover){
        $("#validatecode_info").removeClass();
        $("#validatecode_info").html('');
        if (onfocus && !mouseover) {
			$("#validatecode_info").addClass('Exp');
            $("#validatecode_info").html('请输入验证码');
			$("#validatecodeimg").html('<img src="codeimage?'+Math.random()+'" width="40" height="18">');
			validatecodechecked = false;
			//$("#validatecodeimg").attr({ src: '/boxOnLife-web/codeimage?'+Math.random()});           
			
            return 0;
        }
        var validatecode = obj.value;
		if (validatecode.length==0 && !checkdata) return 0;

		$("#validatecode_info").html('检测中，请稍等...');
		validatecodechecked = false;
        $.get('_checkValidateCode.do', {
            code: validatecode
        }, function(g){
            if (g != 'true') {
                $("#validatecode_info").addClass('Wrong');
                $("#validatecode_info").html('验证码不正确');
				validatecodechecked = false;
				return 0;
            }
            else {
				validatecodechecked = true;
                $("#validatecode_info").addClass('Correct');
                $("#validatecode_info").html('填写正确');
				
				return 1;
            }
        });
    }	
	

	function checkUserPwd(obj, onfocus, checkdata){
		$("#userPwd_info").removeClass();
        $("#userPwd_info").html('');
        if (onfocus) {
            $("#userPwd_info").addClass('Exp');
            $("#userPwd_info").html('6-12个字母或数字');
            return 0;
        }
		var pwd = obj.value;
		if (pwd.length==0 && !checkdata) return 0;
		if(pwd.length<6 || pwd.length>12){
			$("#userPwd_info").addClass('Wrong');
            $("#userPwd_info").html('密码长度错误');
			return 0;
		}		
		
		$("#userPwd_info").addClass('Correct');
        $("#userPwd_info").html('填写正确');
		return 1;		
	}
	
	function checkReUserPwd(obj, onfocus, checkdata){
		$("#reUserPwd_info").removeClass();
        $("#reUserPwd_info").html('');
		if (onfocus) {
            $("#reUserPwd_info").addClass('Exp');
            $("#reUserPwd_info").html('请再输入密码');
            return 0;
        }
		var repwd = obj.value;
		if (repwd.length==0 && !checkdata) return 0;
		var pwd = $("#userPwd").val();
		if (repwd == pwd && repwd.length>0){
			$("#reUserPwd_info").addClass('Correct');
            $("#reUserPwd_info").html('填写正确');
			return 1;
		}else{
			$("#reUserPwd_info").addClass('Wrong');
            $("#reUserPwd_info").html('输入的密码不一致');
			return 0;
		}
	}
	
	function checkEmail(obj, onfocus, checkdata){
		$("#email_info").removeClass();
        $("#email_info").html('');		
		if (onfocus) {
            $("#email_info").addClass('Exp');
            $("#email_info").html('请填写真实的邮箱');
            return 0;
        }
		
		var email = obj.value;
		if (email.length==0 && !checkdata) return 0;
		var myReg = /^[-a-zA-Z0-9_\.]+@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/;
		if(!myReg.test(email)){
			$("#email_info").addClass('Wrong');
            $("#email_info").html('Email格式有误');
			return 0;
		} 
		
		$("#email_info").addClass('Correct');
        $("#email_info").html('填写正确');
		return 1;
	}
	
	function checkCompany(obj, onfocus, checkdata){
		$("#company_info").removeClass();
        $("#company_info").html('');		
		if (onfocus) {
            $("#company_info").addClass('Exp');
            $("#company_info").html('请填写工商局注册的全称');
            return 0;
        }
		var company = obj.value;
		if (company.length==0 && !checkdata) return 0;
		if (company.length <3 || company.company >50){
			$("#company_info").addClass('Wrong');
            $("#company_info").html('公司名称长度错误');
			return 0;
		}		

		$("#company_info").addClass('Correct');
        $("#company_info").html('填写正确');		
		return 1;
	}
	
	function checkCompanyAddress(obj, onfocus, checkdata){
		$("#companyAddress_info").removeClass();
        $("#companyAddress_info").html('');		
		if (onfocus) {
            $("#companyAddress_info").addClass('Exp');
            $("#companyAddress_info").html('请填写贵公司经营地址');
            return 0;
        }
		var companyAddress = obj.value;
		if (companyAddress.length==0 && !checkdata) return 0;
		if (companyAddress.length <3 || companyAddress.length >50){
			$("#companyAddress_info").addClass('Wrong');
            $("#companyAddress_info").html('经营地址长度错误');
			return 0;
		}		

		$("#companyAddress_info").addClass('Correct');
        $("#companyAddress_info").html('填写正确');	
		return 1;	
	}
	
	function checkRealName(obj, onfocus, checkdata){
		$("#realName_info").removeClass();
        $("#realName_info").html('');		
		if (onfocus) {
            $("#realName_info").addClass('Exp');
            $("#realName_info").html('请填写您的中文姓名');
            return 0;
        }
		var realName = obj.value;
		if (realName.length==0 && !checkdata) return 0;
		if (realName.length <2 || realName.length >20){
			$("#realName_info").addClass('Wrong');
            $("#realName_info").html('姓名长度错误');
			return 0;
		}		

		$("#realName_info").addClass('Correct');
        $("#realName_info").html('填写正确');	
		return 1;	
	}
	
	function checkTelephone(obj, onfocus, checkdata){
		$("#telephone_info").removeClass();
        $("#telephone_info").html('');		
		if (onfocus) {
            $("#telephone_info").addClass('Exp');
            $("#telephone_info").html('请填写您的直线电话');
            return 0;
        }
		var telephone = obj.value;
		if (telephone.length==0 && !checkdata) return 0;
		if (telephone.length <6 || telephone.length >20){
			$("#telephone_info").addClass('Wrong');
            $("#telephone_info").html('电话号码长度错误');
			return 0;
		}		

		$("#telephone_info").addClass('Correct');
        $("#telephone_info").html('填写正确');	
		return 1;
	}
	
	function checkMobile(obj, onfocus, checkdata){
		$("#mobile_info").removeClass();
        $("#mobile_info").html('');		
		if (onfocus) {
			$("#mobile_info").addClass('Exp');
            $("#mobile_info").html('请填写您的手机号码');
            return 0;
        }
		var mobile = obj.value;
		if (mobile.length==0 && !checkdata) return 0;
		var patn = /^[0-9]+$/;
		if(!patn.test(mobile) || mobile.length>16 || mobile.length<8){
			$("#mobile_info").addClass('Wrong');
            $("#mobile_info").html('手机号码错误');
			return 0;
		}

		$("#mobile_info").addClass('Correct');
        $("#mobile_info").html('填写正确');	
		return 1;
	}
	
	function checkIM(obj, onfocus, checkdata){
		$("#im_info").removeClass();
        $("#im_info").html('');
		if (onfocus) {
			$("#im_info").addClass('Exp');
            $("#im_info").html('请输入帐号');
            return 0;
        }
		if($("#ali_user_name").val().length<1 && $("#msn").val().length<1 && $("#QQ").val().length<1 && $("#wlt").val().length<1){
			$("#im_info").addClass('Wrong');
            $("#im_info").html('至少输入一项');
			return 0;
		}

		$("#im_info").addClass('Correct');
        $("#im_info").html('填写正确');	
		return 1;
	}
});

