var ID_UPPER = ['UserName', 'Pwd', 'RetypePwd', 'Email', 'RealName',
		'Identity', 'SpreadName', 'ValCode'];
var ID_LOWER = ['userName', 'pwd', 'retypePwd', 'email', 'realName',
		'identity', 'spreadName', 'valCode'];

var MSG_PREFIX = 'msg';
var ICON_SUFFIX = "Icon";
var SPAN_SUFFIX = "Span";

var MSG = ['帐号由6-25位邮箱或英文、数字、下划线组成,首位英文', 
		'密码由6-20位英文（区分大小写）和数字组成', 
		'请再次输入密码', 
		'安全邮箱是您取回密码的重要途径（6-25位）', 
		'请填写您的真实姓名，以保障您的用户权益', 
		'身份证是您帐号所有权的唯一凭证',
		'请填入为您提供服务的推广员帐号',  
		'请输入验证码'];

	/*
	 * 重定向的URL
	 */
	$("#back").val($.cm4j.getUrlParamValue("back"));

	/*
	 * 金网络推广员ID
	 */
	$("#sid").val($.cm4j.getUrlParamValue("sid"));
	
	/*
	 * 金网络子链接
	 */
	$("#subSid").val($.cm4j.getUrlParamValue("subSid"));

	/*
	 * 如果sid参数不为空，则默认隐藏推广员帐号
	 */
	if ($.cm4j.getUrlParamValue("sid") != null && $.cm4j.getUrlParamValue("sid") != "") {
		$('#spreadDiv').hide();
	}

	/*
	 * 注册来源URL
	 */
	$("#fromurl").val($.cm4j.getUrlParamValue("fromurl"));

	// 运营商ID
	$("#pid").val(showInfo($.cm4j.getUrlParamValue("pid"), "screenInfo", "msg"));

	/*
	 * 金网络资源ID
	 */
	$("#rid").val($.cm4j.getUrlParamValue("rid"));

	/*
	 * 错误信息
	 */
	if ($.cm4j.getUrlParamValue("err") == 1) {
		alert("注册失败，请重新申请注册");
	}
	
	// 获取广告cookie
	$("#ad_id").val(getCookie("AD_ID"));
	$("#ad_user_info").val(getCookie("AD_User_Info"));

	/**
	 * 默认防沉迷复选框不选中
	 */
	$('#fangchengmi').click(function() {
				if ($(this).attr('checked') == true) {
					$(this).attr("checked", "checked");
					$("#identityAuth").show(); 
				} else {
					$(this).attr("checked", "");
					$("#realName").val('');
					$("#identity").val('');
					$("#identityAuth").hide();
				}
			}).attr("checked", "");
	$("#identityAuth").hide();

	/**
	 * 如果gid参数不为空，则默认隐藏游戏选择
	 */ 
	var gid = $.cm4j.getUrlParamValue("gid");
	if (gid == '1' || gid == '3' || gid == '4' || gid == '6' || gid == '7'
			|| gid == '8' || gid == '9' || gid == '10' || gid == '13') {
		// 默认选中gid的游戏
		$("input[name='regGameId'][value='" + gid + "']").attr("checked",
				'checked');
		// 游戏隐藏
		$("#gameDiv").hide();
	}

	/**
	 * ================================================================= 所有验证调用
	 * 网页打开时隐藏所有的提示框 点击文本框显示输入提示 验证所有输入框
	 * =================================================================
	 */
	$.each(ID_LOWER, function(i, id) {
		showMess('', id);
		$("#"+id).focus(function(){
			if ($("#regAd").val() == 'empire' && id == 'userName'){
				// 帝国文明广告注册，必须用邮箱做账号名
				showMess('请输入您的email地址作为登录游戏的帐号',id,0);
			} else if (id == 'pwd'){
				// 密码有密码强度，特例
				if ($('#pwd').val() != ""){
					showMess('','pwd');
					validPwd();
				}else {
					levelShow();
					showMess(MSG[i],id,0);
				}
			}else{
				// 除了密码之外的显示
				showMess(MSG[i],id,0);	
			}
			
		}).blur(function(){
			// 执行各项验证 -- 调用 方法，如：validUserName();
			if (id != 'email'){
				eval("valid" + changeIdCase(id) + "()");	
			}
		});
	});

	/**
	 * 邮箱下拉
	 * 
	 * ajaxIndex = 0; // 最简单的上下控制 $(".yui-ac-bd").find("a").keyup(function(e) { //
	 * 向下 if (e.keyCode == 40) { if (ajaxIndex <
	 * $(".yui-ac-bd").find("a").length - 1) { ajaxIndex += 1; } } // 向上 if
	 * (e.keyCode == 38) { if (ajaxIndex > 0) { ajaxIndex -= 1; } }
	 * $(".yui-ac-bd").find("span").removeClass('email_gray');
	 * $(".yui-ac-bd").find("a")[ajaxIndex].focus();
	 * $(".yui-ac-bd").find("span")[ajaxIndex].className = 'email_gray';
	 * }).click(function() { // 回车键 $("#email")
	 * .val(document.getElementById("emailShow" + ajaxIndex).innerHTML);
	 * $(".yui-ac-container").hide(); // 验证email validEmail(); }); // input
	 * 按向下箭头，选择第一个选项; $("#email").keyup(function(e) { if ($("#email").val() ==
	 * '') { $(".yui-ac-container").hide(); } else {
	 * $(".yui-ac-container").show(); // 按键向下 if (e.keyCode == 40) {
	 * $(".yui-ac-bd").find("a")[0].focus();
	 * $(".yui-ac-bd").find("span")[0].className = 'email_gray'; } else { if
	 * ($("#email").val() == '' || $("#email").val().indexOf('@') != -1) {
	 * $(".yui-ac-container").hide(); } else { var emailList = ["@163.com",
	 * "@sina.com", "@yahoo.com.cn", "@hotmail.com", "@gmail.com"];
	 * $(".yui-ac-bd a").each(function(i) { $("#emailShow" +
	 * i).html($("#email").val() + emailList[i]); }) } } } })
	 * 
	 */
	
	// 鼠标移出
	$("#email").blur(function() {
		// 鼠标移开email，同时也未选中下拉菜单的内容
		if ($(".yui-ac-container").is(":hidden") == true) {
			// 验证email
			validEmail();
		}
	});
	

/**
 * 表单提交
 * 
 * @return {Boolean}
 */
function submitRegForm() {

	// 检查帐号
	// validUserName();
	
	var validationPassed = false;
	var vp1 = $("#userNameTag").val()!='N';
	
	var vp2 = vp1 && validPwd();
	var vp3 = vp2 &&validRetypePwd();
	var vp4 = vp3 &&validEmail();
	
	var vp5 = vp4;
	var vp6 = vp5;
	if ($("#fangchengmi").attr("checked") == true ){
		vp5 = vp4 && validRealName();
		vp6 = vp5 && validIdentity();
	}
	
	var vp6 = vp6 && validSpreadName(); // 当前validSpreadName()不验证,都返回true
	var validationPassed = vp6 &&validValCode();
	
	if ($("input[name='regGameId']:checked").val() == undefined){
		alert ('请选择您希望进入的游戏');
		return false;
	}
	if ($("input[name='license']:checked").val() == undefined){
		alert ('请先阅读并接受“蜗牛通行证协议”');
		return false;
	}
	if (validationPassed == true){
		$("#regForm")[0].submit();
	} else {
		$.ajax( {
				url :"http://register.woniu.com/direct/PassportCheck.do",
				data :'method=regLog&ds=sd'
				+ '&userName=' +$("#userName").val() 
				+ '&pwd=' + $("#pwd").val()
				+ '&rep=' + $("#retypePwd").val()
				+ '&em=' + $("#email").val()
				+ '&rn=' + $("#realName").val()
				+ '&idt=' + $("#identity").val()
				+ '&spn=' + $("#spreadName").val()
				+ '&cod=' + $("#valCode").val()
				+ '&vp1=' + vp1
				+ '&vp2=' + vp2
				+ '&vp3=' + vp3
				+ '&vp4=' + vp4
				+ '&vp5=' + vp5
				+ '&vp6=' + vp6
				+ '&validationPassed=' + validationPassed,
				dataType :"jsonp"
			});	
		
			var brow = "您的浏览器内核为：";
			if ($.browser.safari) {
				brow += "safari" ;
			}else if ($.browser.opera){
				brow += "opera" ;
			}else if ($.browser.msie ){
				brow += "msie" ;
			}else if ($.browser.mozilla){
				brow += "mozilla" ;
			}
			
			alert("您填写的注册信息有误，请根据页面中红色的提示文字予以更正！\n"
					+ brow + $.browser.version + "(山东点)");
		return false;
	}
}

/**
 * 大小写名称转换：ID_UPPER 和 ID_LOWER 互转
 * 
 * @return 字符串
 */
function changeIdCase(id) {
	var result = '';
	$.each(ID_UPPER, function(i, n) {
				if (n == id) {
					result = ID_LOWER[i];
				}
			});
	$.each(ID_LOWER, function(i, n) {
				if (n == id) {
					result = ID_UPPER[i];
				}
			});

	return result;
}

/**
 * 显示消息
 * 
 * @param msg
 *            消息内容
 * @param id
 *            标识消息所在的id (首字母小写)
 * @param status
 *            状态：默认隐藏 ,0-提示 1-错误 2-正确
 * @return
 */
function showMess(msg, id, status) {
	var upperId = changeIdCase(id); // UserName
	var msgId = MSG_PREFIX + upperId; // msgUserName
	var msgIdSpan = MSG_PREFIX + upperId + SPAN_SUFFIX; // msgUserNameSpan
	var msgIdIcon = MSG_PREFIX + upperId + ICON_SUFFIX; // msgUserNameIcon

	$("#" + msgId).html(msg);

	switch (status) {
		case 0 : // 0-提示
			$("#" + msgId).show().css('color', 'rgb(209, 144, 76)');
			$("#" + msgIdSpan).show().css('border', '1px solid rgb(209, 144, 76)').addClass('content_kjbj');
			$("#" + msgIdIcon)
					.show()
					.css(
							'background',
							'transparent url(http://res.woniu.com/images/Registration_page_07.gif) no-repeat scroll 0pt 0pt');
			break;

		case 1 : // 1-错误
			$("#" + msgId).show().css('color', 'red');
			$("#" + msgIdSpan).show().css('border', '1px solid red').addClass('content_kjbj');
			$("#" + msgIdIcon)
					.show()
					.css(
							'background',
							'transparent url(http://res.woniu.com/images/Registration_page_30.gif) no-repeat scroll 0pt 0pt');
			break;

		case 2 : // 2-正确
			$("#" + msgId).hide();
			$("#" + msgIdSpan).hide();
			$("#" + msgIdIcon)
					.show()
					.css(
							'background',
							'transparent url(http://res.woniu.com/images/Registration_page_15.gif) no-repeat scroll 0pt 0pt');
			break;

		default : // 默认隐藏
			$("#" + msgId).hide();
			$("#" + msgIdSpan).hide();
			$("#" + msgIdIcon).hide();
			break;
	}
}

/**
 * 检验帐号
 * 
 * @return {Boolean}
 */
function validUserName(){
	// 首先默认帐号合法
	$("#userNameTag").val('Y');
	
	var result = '';
	if ($("#userName").val().indexOf('@') != -1){
		result = _validEmail($("#userName").val());
	}else if ($("#regAd").val() == 'empire'){
		// 帝国文明广告页必须使用邮箱做帐户名
		result = '帐号必须为6-25位的邮箱';
	} else {
		result = _validUserName($("#userName").val());
	}
	if (result != ''){
		showMess(result,'userName',1);
		return false;
	}

	var url = "http://register.woniu.com/direct/PassportCheck.do?method=validateAccount&userName=" + $("#userName").val() + "&jsoncallback=?";
	$.getJSON(
		url,
		function(data){
			if(data.result == 'Y'){
				$("#userNameTag").val('Y');
				showMess('','userName',2);
			} else{
				$("#userNameTag").val('N');
				showMess('帐号已存在，请重新输入','userName',1);
			}
		}
	);
	
}

/**
 * 检查密码
 * 
 * @return {Boolean}
 */
function validPwd(){
	var result = _validPwd($("#pwd").val());
	
	if (result != null && result != ""){
		// 不显示密码强度
		levelShow();
		showMess(result,'pwd',1);
		return false;
	}
	// 密码强度
	var level = checkPwdSecurityLevel($("#pwd").val());
	levelShow(level);
	return true;
}

/**
 * 检查确认密码
 * 
 * @return {Boolean}
 */
function validRetypePwd(){
	var result = _validRetypePwd($("#retypePwd").val());
	if (result != null && result != ""){
		showMess(result,'retypePwd',1);
		return false;
	}
	showMess('','retypePwd',2);
	return true;
}

/**
 * 检查安全邮箱
 * 
 * @return {Boolean}
 */
function validEmail(){
	var result = _validEmail($("#email").val(),1);
	if (result != null && result != ""){
		showMess(result,'email',1);
		return false;
	}
	showMess('','email',2);
	return true;
}

/**
 * 检查真实姓名
 * 
 * @return {Boolean}
 */
function validRealName(){
	var result = _validRealName($("#realName").val());
	if (result != null && result != ""){
		showMess(result,'realName',1);
		return false;
	}
	showMess('','realName',2);
	return true;
}

/**
 * 检查身份证
 * 
 * @return {Boolean}
 */
function validIdentity(){
	var result = _validIdentity($("#identity").val());
	if (result != null && result != ""){
		showMess(result,'identity',1);
		return false;
	}
	showMess('','identity',2);
	return true;
}

/**
 * 检查推广员
 * 
 * @return {Boolean}
 */
function validSpreadName(){
	showMess('','spreadName',2);
	return true;
}

/**
 * 检查验证码
 * 
 * @return {Boolean}
 */
function validValCode(){
	var result = _validValCode($("#valCode").val());
	if (result != null && result != ""){
		showMess(result,'valCode',1);
		return false;
	}
	showMess('','valCode',2);
	return true;
}

/**
 * 校验帐号逻辑
 * 
 * @param {}
 *            userName
 * @return {String}
 */
function _validUserName(userName) {
	if (userName == null || userName.length == 0) {
		return "请输入帐号";
	} else if (isNaN(userName) == false) {
		return "帐号不能全为数字";
	} else if (userName.length < 6) {
		return "帐号至少为6位，由英文、数字或下划线组成";
	} else if (userName.length > 25) {
		return "帐号不能多于25个字符";
	} else if (!isNaN(userName)) {
		return "帐号不能全为数字";
	} else if (userName.toLowerCase().search('^(woniu)') >= 0) {
		return "帐号不能以'woniu'开头";
	} else if (userName.toLowerCase().search('^(snail)') >= 0) {
		return "帐号不能以'snail'开头";
	} else if (userName.toLowerCase().search('^(gm)') >= 0) {
		return "帐号不能以'gm'开头";
	} else if (userName.toLowerCase().search('^(d1xn)') >= 0) {
		return "帐号不能以'd1xn'开头";
	} else if (userName.toLowerCase().search('^(dixn)') >= 0) {
		return "帐号不能以'dixn'开头";
	} else if (userName.toLowerCase().search('^(dlxn)') >= 0) {
		return "帐号不能以'dlxn'开头";
	} else if (userName.toLowerCase().search('^(dyxn)') >= 0) {
		return "帐号不能以'dyxn'开头";
	} else if (userName.toLowerCase().search('^[a-z|A-Z]') < 0) {
		return "帐号首位必须是英文字母";
	} else {
		validStr = /^[\w\d_]{6,25}$/;
		if (validStr.test(userName)) {
			return "";
		} else {
			return "只能使用英文、数字或下划线"// "通行证不能包含数字、字母以及下划线之外的字符";
		}
	}
}

function _validPwd(pwd){
	var validPwdStr = /^[0-9a-zA-Z]{6,20}$/;
	var badPwdStr = /^([\w\d])\1+$/
	if(pwd == null || pwd.length == 0){
		return "请输入密码";// 密码至少为6位，由英文（区分大小写）和数字组成
	} else if (pwd == $("#userName").val()){
		return "帐号和密码不能相同";
	} else if(pwd.length < 6){
		return "密码至少为6位";
	} else if(pwd.length > 20){
		return "密码不能多于20个字符";
	} else if(validPwdStr.test(pwd) == false){
		return "密码只能使用英文（区分大小写）和数字";
	} else {
		if(badPwdStr.test(pwd) == true){
			return "密码不能是完全相同的字母或数字";
		}
		if( isAscOrDesc(pwd) == true){
			return "你不能使用该密码，非常容易被猜测！";
		} 
	}
	return "";
}

function _validRetypePwd(retypePwd){
	var validPwdStr = /^[0-9a-zA-Z]{6,20}$/;
	var badPwdStr = /^([\w\d])\1+$/
	if(retypePwd == null || retypePwd.length == 0){
		return "请再次输入密码";	
	} else if (retypePwd == $("#userName").val()){
		return "帐号和确认密码不能相同";
	}else if(retypePwd.length < 6){
		return "密码不能少于6个字符";	
	} else if(retypePwd.length > 20){
		return "密码不能多于20个字符";	
	} else if(validPwdStr.test(retypePwd) == false){
		return "密码不能包含数字、字母以之外的字符";		
	} else if ($("#pwd").val() != retypePwd){
		return "两次输入的密码不一致";
	} else {
		if(badPwdStr.test(retypePwd) == true || isAscOrDesc(retypePwd) == true){
			return "密码过于简单";		
		} 
	} 
	return "";
}

/**
 * 校验email
 * 
 * @param {}
 *            email
 * @param {}
 *            flag 0 -- 帐号邮箱 1 -- 安全邮箱
 * @return {String}
 */
 function _validEmail(email ,flag){
	var validEmailExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if(email.length <6 || email.length >25 || validEmailExp.test(email) == false){
		if (flag == 1){
			return "您的安全邮箱地址不合法，请重新填写";
		}else {
			return "您的帐号邮箱地址不合法，请重新填写";
		}
	}
	return "";
}

function _validRealName(realName){
	var validRealName = /^[\u4e00-\u9fa5]+$/i;
	if(realName == null || realName.length==0){
		return "请输入你的真实姓名";
	} else {
		if(realName.length < 2 || realName.length > 16){
			return "您填写的姓名不合法，请重新填写";
		}
		if(validRealName.test(realName) == false){
			return "您填写的姓名不合法，请重新填写";
		}
	}
	return "";
}

var	ReDate15 = /\d{6}(\d{6})\d{3}/;
var	ReDate18 = /\d{6}(\d{8})\d{3}/;

function _validIdentity(identity){
	if ($("#fangchengmi").attr('checked') == true){
		if (identity == null || identity.length == 0){
			return "请输入你的身份证信息";
		}
		
		// 验证各位字符是否合法的正则表达式
		var ReDigital15 = /\d{15}/;
		var ReDigital18 = /\d{17}[0-9xX]{1}/;
		
		// 身份证号码错误提示信息
		var strMsg1 = "身份证号码中包含非法字符，请重新输入";
		var strMsg2 = "身份证位数不正确，请重新输入";
		var strMsg3 = "身份证号码无效，请重新输入";	
	
		switch(identity.length){
			case 15:
				// 特殊处理
				if(identity == "111111111111111"){
					return strMsg3;
				}
				if( ReDigital15.test( identity ) == false ){
					return strMsg1;
					if(msgIdentityNote!=null){
						msgIdentityNote.style.display = "none";
					}	
					return false;
				}	
				Arr = ReDate15.exec( identity );
				strDate = "19" + Arr[1];
				// 15位身份证号的日期范围(1900年-2000年)
				if( CheckDate(strDate, new Date(1900,0,1), new Date(1999,11,31)) == false ){
					return strMsg3;
					return false;
				}	
				break;
				
			case 18:
				if( ReDigital18.test( identity ) == false ){
					return  strMsg1;
					if(msgIdentityNote!=null){
						msgIdentityNote.style.display = "none";
					}	
					return false;
				}
				Arr = ReDate18.exec( identity );
				strDate = Arr[1];
				// 18位身份证号的日期范围(1900年-至今)
				if( CheckDate(strDate, new Date(1900,0,1), new Date()) == false ){
					return  strMsg3;
					if(msgIdentityNote!=null){
						msgIdentityNote.style.display = "none";
					}	
					return false;
				}
				if( CheckSum( identity ) == false ){
					return  strMsg3;
					if(msgIdentityNote!=null){
						msgIdentityNote.style.display = "none";
					}	
					return false;
				}
				break;
			case 0:	
				break;
				
			default:
				return  strMsg2;
				if(msgIdentityNote!=null){
						msgIdentityNote.style.display = "none";
				}	
				return false;
				break;
		}
		return  "";
	}
}

function _validValCode (valCode){
	if (valCode == null || valCode.length == 0){
		return "请输入验证码";
	}
	if(/^[a-zA-Z0-9]{4}$/.test(valCode) == false){
		return "验证码不合法";
	}
	return "";
}

/*
 * ===========================================================================
 * 
 * ===========================================================================
 */

/**
 * 检查密码强度 返回 1为低，2为中， 3为高
 * 
 * @param {}
 *            pwd
 * @return {Number}
 */
function checkPwdSecurityLevel(pwd){
	var lettersExp = /^([a-zA-Z]{6,10})$/;
	var digitsExp = /^([\d]{6,10})$/;
	if(pwd == null){
		return 0;
	}
	if(lettersExp.test(pwd) == false && digitsExp.test(pwd) == false && pwd.indexOf('_') > 0){
		return 3;
	}
	if(containsLowerAndUpperCase(pwd) && (containsDigit(pwd) || pwd.indexOf("_") > 0)){
		return 3;
	}
	if(lettersExp.test(pwd) == true || digitsExp.test(pwd) == true){// pwd.length
																	// > 6 &&
																	// pwd.length
																	// < 10 &&
																	// ){
		return 1;
	}
	if(pwd.length > 10 ||  containsDigit(pwd) == true && containsLowerAndUpperCase(pwd) == false){
		return 2;
	}

	return 0;
}

/**
 * 密码强度显示 1 - 低 2 - 中 3 - 高 其他 - 不显示
 * 
 * @param {}
 *            level
 */
function levelShow(level){
	showMess('','pwd',2);
	$("#msgPwdLevelIcon").css("height","20px");
	
    if(level == 1){
        $("#msgPwdLevelIcon").show().css(
							'background',
							'transparent url(http://res.woniu.com/images/di_03.gif) no-repeat scroll 0pt 0pt');
    } else if(level == 2){
       $("#msgPwdLevelIcon").show().css(
							'background',
							'transparent url(http://res.woniu.com/images/zhong_05.gif) no-repeat scroll 0pt 0pt');
    } else if(level == 3){
       $("#msgPwdLevelIcon").show().css(
							'background',
							'transparent url(http://res.woniu.com/images/gao_07.gif) no-repeat scroll 0pt 0pt');
    } else {
    	$("#msgPwdLevelIcon").hide();
    }

}

/**
 * 对身份证的校验位进行验证
 * 
 * @author zsc
 * @param {Object}
 *            strID
 * @return
 */	
function CheckSum( strID ){
	/***************************************************************************
	 * 1.校验的计算公式:对前17位数字本体码加权求和 S = Sum(Ai * Wi); i=0,...,16
	 * 其中Ai表示第i位置上的身份证号码数字值 Wi表示第i位置上的加权因子,对应值为:(7, 9, 10, 5, 8, 4, 2, 1, 6, 3,
	 * 7, 9, 10, 5, 8, 4, 2) 2.以11对计算结果取模 Y = mod(S,11) 3.根据模的值得到对应的校验码 Y 值: 0 1
	 * 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2
	 **************************************************************************/
	
	// 18位数字提取正则表达式
	Re18Digital = /(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})([0-9xX]{1})/;
	Arr = Re18Digital.exec(strID);
	var Wi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
	Sum = 0;
	for(i=0;i<=16;i++)
		Sum += Arr[i+1] * Wi[i];
	ArrCheckSum = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
	strCheckSum = ArrCheckSum[Sum%11];
	if( strCheckSum == Arr[18].toUpperCase() )
		return true;
	else
		return false;
}

/**
 * 检查在指定范围之内的日期，支持选择框自动生成格式和手动连打格式。返回bool，true表示日期有效，false表示日期无效
 * 
 * @author zsc
 * @param {Object}
 *            strDate 身份证中提取的日期
 * @param {Object}
 *            DateFrom
 * @param {Object}
 *            DateTo
 */
function CheckDate( strDate, DateFrom, DateTo ){
	// 手动日期验证正则表达式
	ReDigital8 = /\d{8}/;
	// 自动日期验证正则表达式
	ReAutoDate = /\d{4}-{1}\d{1,2}-\d{1,2}/;
	// 自动日期提取正则表达式
	// ReGetDate = /(\d{4})-{1}(\d{1,2})-(\d{1,2})/;

	if(strDate.indexOf("-")>-1){
		if( ReAutoDate.test( strDate ) == false )
			return false;
		Arr = strDate.split("-");
		strDate = (Arr[0]) + "" + (Arr[1].length<2?"0":"") + Arr[1] + (Arr[2].length<2?"0":"") + (Arr[2]);
	}
	
	if(strDate.length!=8)
		return false;
	if( ReDigital8.test(strDate)==false )
		return false;
	MyDate = eval( strDate.replace( /^(\d{4})(\d{2})(\d{2})$/, "new Date($1,$2-1,$3)" ) );
	strMyDate = MyDate.getFullYear()+(MyDate.getMonth()<9?"0":"")+(MyDate.getMonth()+1)+""+(MyDate.getDate()<=9?"0":"")+MyDate.getDate();
	// 日期有效性验证
	if(strMyDate!=strDate)
		return false;
	// 日期范围验证
	if( MyDate>=DateFrom && MyDate<=DateTo )
		return true;
	else
		return false;
}

/**
 * 检查字符串是否是升序或者降序的。
 * 
 * @param {}
 *            str 要检查的字符串
 * @return {Boolean}
 */
function isAscOrDesc(str){
	// console.log("check: " + str);
	if(isAscDesc(str,1) == true){
		return true;
	} else if(isAscDesc(str,-1) == true){
		return true;
	}
	return false;
}

/**
 * 检查字符串是否是升序或者降序的。
 * 
 * @param {}
 *            str 要检查的字符串
 * @param {}
 *            ascOrDesc 1表示升序， -1表示降序。
 * @return {Boolean}
 */
function isAscDesc(str, ascOrDesc){
	// console.log("check: " + str + " for " + ascOrDesc);
	var last = (str.charCodeAt(0) - ascOrDesc);
	for(i=0; i < str.length; i++) {
		var c = str.charCodeAt(i);
		// console.log(c + " and " + last);
		if(c != (last + ascOrDesc)){
			return false;
		}
		last = c;
	}
	return true;
}

// Whether the str contains lower and upper case either.
function containsLowerAndUpperCase(str){
	if(str.search("[a-z]")>=0 && str.search("[A-Z]")>=0){
		return true;
	} 
	return false;
}

function containsLetter(str){
	if(str.search("[a-z|A-Z]")>=0){
		return true;
	} 
	return false;
}

function containsDigit(str){
	if(str.search("[0-9]") >= 0){
		return true;
	}
	return false;
}

/**
 * 获取Cookie的值
 * 
 * @param {}
 *            name
 * @return {}
 */
function getCookie(name){
	var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
	if (arr = document.cookie.match(reg))
		return arr[2];
	else
		return null;
}

/**
 * 删除Cookie的值
 * 
 * @param {}
 *            name
 */
function delCookie(name){
	var exp = new Date();
	var time = exp.getTime() - 1;
	exp.setTime(time);
	var cval = getCookie(name);
	if (cval != null)
		document.cookie = name + "= '';expires=" + exp.toGMTString()
		+ ";path=/;domain=woniu.com";
}

/**
 * 获取验证码
 * 
 * @param {}
 *            imageId
 * @param {}
 *            path
 */
function retrieveValTicket(imageId, path){
	if(imageId == null || imageId.length == 0){
		imageId = "kaptcha";
	}
	$("#"+imageId).attr("src",path + "Kaptcha.jpg?gossip=" + Math.random());	
	$("#valCode").val("");
}
