//计算字符数，一个中文等于2个英文字符
function CheckLength(strTemp){
    var i,sum;
    sum=0;
    for(i=0;i<strTemp.length;i++) {
        if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
            sum=sum+1;
        else
            sum=sum+2;
        }
    return sum;
}
function errs(errorMsg){
    $('#errs').show();
    $('ol',$('#errs')).append('<li>'+errorMsg+'</li>');
}
function chkpw() {
    e = $('#password');
    var passLen = CheckLength(e.val());
    if(passLen<len_passmin || passLen>len_passmax || !/[\u0021-\u007E]+$/.test(e.val())){   
        var errorMsg = 'New password are not between '+len_passmin+' and '+len_passmax+' characters,please re-enter it.';
        e.next("span").removeClass().addClass("validate_error");
        errs(errorMsg);
        return false;
    }
    else {
        e.next("span").removeClass().addClass("validate_success");
        return true;
    }
}
function chkpw1() {
    e = $('#confirmpassword');
    var passLen = CheckLength(e.val());
    if(passLen<len_passmin || passLen>len_passmax || !/[\u0021-\u007E]+$/.test(e.val())){   
        var errorMsg = 'Confirm password are not between '+len_passmin+' and '+len_passmax+' characters,please re-enter it.';
        e.next("span").removeClass().addClass("validate_error");
        errs(errorMsg);
        if(e.val() != $("#password").val()){   
            var errorMsg = "New password doesn't match Confirm password.";
            e.next("span").removeClass().addClass("validate_error");
            errs(errorMsg);
        }
        return false;
    } else {
        e.next("span").removeClass().addClass("validate_success");
        return true;
    }
}
function chkemail() {
    e = $('#email');
    if(e.val() == '' || !/.+@.+\.[a-zA-Z]{2,4}$/.test(e.val())){   
        var errorMsg = "The email is illegal (e.g.name@example.com)";
        e.next("span").removeClass().addClass("validate_error");
        errs(errorMsg);
        return false;
    } else {
        e.next("span").removeClass().addClass("validate_success");
        return true;
    }
}
function chkbday() {
    e = $('#bday');
    if(e.val() == '' || !/^((19|20)(\d{2}))-(0[1-9]|1[0-2])-((0[1-9])|((1|2)[0-9])|30|31)$/.test(e.val())){
        var errorMsg = "Please typing a date in correct  formate.(e.g.2008-08-18)";
        e.next("span").removeClass().addClass("validate_error");
        errs(errorMsg);
        return false;
    } else {
        e.next("span").removeClass().addClass("validate_success");
        return true;
    }
}
function chkname() {
    e = $('#username');
    var usernameLen = CheckLength(e.val());
    if(usernameLen<len_usermin || usernameLen>len_usermax || !/^([a-zA-Z0-9_\u4e00-\u9fa5])+$/.test(e.val())){
        var errorMsg = 'The username are not between '+len_usermin+' and '+len_usermax+' characters,please re-enter it.';
        e.next("span").removeClass().addClass("validate_error");
        errs(errorMsg);
        return false;
    } else {
        e.next("span").removeClass().addClass("validate_success");
        return true;
    }
}
		$(function() {
			$("#formbody").each(function(){
				$(":input").focus(function() {
					$(this).css("border-color","#FDCA71");
				});

				$(":input").blur(function(){
					$(this).css("border-color","#E1E1E1");
				});
			});
			
			/*用户名
			$("#username").blur(function() {
				var usernameLen = CheckLength(this.value);

				if(usernameLen<3 || usernameLen>16 || !/^([a-zA-Z0-9_\u4e00-\u9fa5])+$/.test(this.value)){
					var errorMessage = "3-16个字符(包括大写、小写字母、数字、下划线、中文)";
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;

                    $(this).next("span").removeClass().addClass("validate_error");
                    errs(errorMsg);
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});*/

			/*密码
			$("#password").blur(function() {
				var passLen = CheckLength(this.value);
				if(passLen<6 || passLen>16 || !/[\u0021-\u007E]+$/.test(this.value)){   
					var errorMsg = "New password are not between 6 and 16 characters,please re-enter it.";
                    $(this).next("span").removeClass().addClass("validate_error");
                    errs(errorMsg);
                    return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});*/

			//密码强度测试
			$("#pass_strength_bar td").css("background","#E1E1E1");
			$("#password").keyup(function(){
                var min_passwd_len = len_passmin;
                var medium_passwd_len = (len_passmax + len_passmin)/2;
				if(this.value.length == 0){
					$("#pass_weak").css("background","#E1E1E1");
					$("#pass_medium").css("background","#E1E1E1");
					$("#pass_strong").css("background","#E1E1E1");
				} else if(this.value.length < min_passwd_len){
					//长度小于6
					$("#pass_weak").css("background","#FF0000");
					$("#pass_medium").css("background","#FF0000");
					$("#pass_strong").css("background","#FF0000");
				} else if(this.value.length > len_passmax){
					alert("Your password can't be longer than 16 characters.");
					$("#pass_weak").css("background","#FF0000");
					$("#pass_medium").css("background","#FF0000");
					$("#pass_strong").css("background","#FF0000");
				} else {
					//字母数字特殊字符 强口令
					if(/[\u0021-\u007E]+/.test(this.value)){
						$("#pass_weak").css("background","#9DE454");
						$("#pass_medium").css("background","#9DE454");
						$("#pass_strong").css("background","#9DE454");

						//字母数字 中口令
						if(!/[\u0021-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E]+/.test(this.value)){
							$("#pass_weak").css("background","#C5E24C");
							$("#pass_medium").css("background","#C5E24C");
							$("#pass_strong").css("background","#E1E1E1");

							//字母或数字 弱口令
							if(!/[0-9]+/.test(this.value) || !/[a-zA-Z]+/.test(this.value)){
								$("#pass_weak").css("background","#E4E046");
								$("#pass_medium").css("background","#E1E1E1");
								$("#pass_strong").css("background","#E1E1E1");

								//字符长度大于medium_passwd_len 中口令
								if(this.value.length > medium_passwd_len){
									$("#pass_weak").css("background","#C5E24C");
									$("#pass_medium").css("background","#C5E24C");
									$("#pass_strong").css("background","#E1E1E1");
								}
							}
						}
						else {
							//字母数字特殊字符 强口令
							$("#pass_weak").css("background","#9DE454");
							$("#pass_medium").css("background","#9DE454");
							$("#pass_strong").css("background","#9DE454");

							//特殊字符和字母或数字 中口令
							if(!/[0-9]+/.test(this.value) || !/[a-zA-Z]+/.test(this.value)){
								$("#pass_weak").css("background","#C5E24C");
								$("#pass_medium").css("background","#C5E24C");
								$("#pass_strong").css("background","#E1E1E1");
								
								//只有特殊字符 弱口令
								if(!/[0-9]+/.test(this.value) && !/[a-zA-Z]+/.test(this.value)){
									$("#pass_weak").css("background","#E4E046");
									$("#pass_medium").css("background","#E1E1E1");
									$("#pass_strong").css("background","#E1E1E1");

									//字符长度大于medium_passwd_len 中口令
									if(this.value.length > medium_passwd_len){
										$("#pass_weak").css("background","#C5E24C");
										$("#pass_medium").css("background","#C5E24C");
										$("#pass_strong").css("background","#E1E1E1");
									}
								}
							}
						}
					}
				}
			});

			/*重新输入密码是否一样
			$("#confirmpassword").blur(function() {

				var passLen = CheckLength(this.value);
				if(passLen<6 || passLen>16 || !/[\u0021-\u007E]+$/.test(this.value)){   
					var errorMessage = "Your password are not between 6 and 16 characters,please re-enter it.";
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				if(this.value != $("#password").val()){   
					var errorMessage = "This password doesn't match the confirmation password.";
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});*/

			//日期
			$("#bday").blur(function() {
				if(this.value == "" || !/^((19|20)(\d{2}))-(0[1-9]|1[0-2])-((0[1-9])|((1|2)[0-9])|30|31)$/.test(this.value)){   
					var errorMsg = "Please typing a date in correct  formate.(e.g.2008-08-18)";
					//$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
                    $(this).next("span").removeClass().addClass("validate_error");
                    errs(errorMsg);
					return false;
				}
				else {
					//$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});

			//省市联动
			/*$("#province").change(function() {
				alert($(this).val());
			});
			
			//通信地址
			$("#address").blur(function() {
				if(this.value == "") {
					var errorMessage = "Please fill in address";
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});*/

			/*EMAIL
			$("#email").blur(function() {
				if(this.value == "" || !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value)){   
					var errorMessage = "Your email is illegal (e.g.antiquer@example.com)";			   
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});*/

          /*
			//邮政编码
			$("#zipcode").blur(function() {
				if(this.value == "" || !/^[0-9]{6}$/.test(this.value)){   
					var errorMessage = "Your zipcode is illegal";			   
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});

			//电话号码
			$("#tel").blur(function() {
				if(this.value == "" || !/\d{3,4}-(\d{7,8})$/.test(this.value)){   
					var errorMessage = "请使用格式（区号-电话号码）输入"
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});

			//手机号码
			$("#mobile").blur(function() {
				if(this.value.length != 11 || !/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(this.value)){   
					var errorMessage = "请正确填写您的手机号码";			   
					$(this).next("span").removeClass().addClass("validate_error").text(errorMessage);
					//$(this).focus().select();
					return false;
				}
				else {
					$(this).next("span").removeClass().addClass("validate_success").text(" ");   
				}
			});
          */


		});

