function checkIdcard(idcard){
var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 

var idcard,Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null) return 4;
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
} else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard)) return 0;
else return 2;
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查 
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if(ereg.test(idcard)){//测试出生日期的合法性
//计算校验位
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1 
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3 ;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y,1);//判断校验位
if(M == idcard_array[17]) return 0; //检测ID的校验位
else return 3;
}
else return 2;
break;
default:
return 1;
break;
}
}

function errorstyleHint(e,s) {
	e.innerHTML = s;
	e.style.border = "solid #FF0000 1";
	e.style.color = "#FF0000";
}

function okstyleHint(e,s) {
	e.innerHTML = s;
	e.style.border = "none";
	e.style.color = "#0000FF";
}

function checkPasswdonkeyup() {
	var form1 = document.register;
	var hintelement = document.getElementById('passwdHint');
	if (!checkPasswd(form1.passwd.value)) {
		errorstyleHint(hintelement,"密码不符合规则");
	} else {
		if (form1.repeatpasswd.value.length > 0
			&(form1.passwd.value!=form1.repeatpasswd.value)) {
			errorstyleHint(hintelement,"两次输入密码不相同");
		} else {
			hintelement.innerHTML = "";
		}
	}
}

function checkrepeatPasswdonkeyup() {
	var form1 = document.register;
	var hintelement = document.getElementById('passwdHint');
	//alert(form1.passwd.value + "," +form1.repeatpasswd.value);
	if (form1.passwd.value!=form1.repeatpasswd.value) {
		errorstyleHint(hintelement, "两次输入密码不相同");
	} else {
		if (!checkPasswd(form1.passwd.value)) {
			errorstyleHint(hintelement, "密码不符合规则");
		} else {
			okstyleHint(hintelement, "密码符合规则");
		}
	}
}

function checkPasswd2onkeyup() {
	var form1 = document.register;
	var hintelement = document.getElementById('passwd2Hint');
	if (!checkPasswd2(form1.passwd2.value)) {
		errorstyleHint(hintelement,"二级密码不符合规则");
	} else {
		okstyleHint(hintelement,"二级密码符合规则");
	}
}


function accounttest(){
	if(isNull(document.forms["register"].username,"请输入用户名!")) return false;
		window.open("/yfbirthday/checkUserAction.do?username="+document.forms["register"].username.value,"checkuser","width=300px,height=100px,top=200px,left=200px,status=no,titlebar=no,scrollbars=no,toolbar=no,menubar=no,location=no");
	
	//window.open('/yfbirthday/checkUserAction.do?username='+register.username.value,'checkuser','width=300 height=100 top=200 left=200');
}

function fcmtest(){
	//if(isNull(register.fcmtruename,"请输入真实姓名!")) return false;

	var Errors=new Array(
	"身份证验证通过！",
	"身份证号码位数不对!",
	"身份证号码出生日期超出范围或含有非法字符!",
	"身份证号码校验错误!",
	"身份证地区非法!"
	);
	var temp = register.fcmidnumber.value.toUpperCase()
	var result=checkIdcard(temp);
	var hintelement = document.getElementById('indulgeHint');
	if(result!=0)
	{
		//alert(Errors[result]);
		hintelement.innerHTML = Errors[result];
		hintelement.style.border = "solid #FF0000 1";
		hintelement.style.color = "#FF0000";
		register.fcmidnumber.focus();
		return false;        
	}else{
		document.getElementById('indulgeHint').innerHTML = Errors[result];
		document.getElementById('indulgeHint').style.border = "none";
		document.getElementById('indulgeHint').style.color = "#0000FF";
		var fcmidnumber = register.fcmidnumber.value;
		if(fcmidnumber.length == 15){
			fcmidnumber = per15To18(fcmidnumber);	
		}
		var year = Number(fcmidnumber.substring(6,10)) + 18;
		var month = Number(fcmidnumber.substring(10,12)) - 1;
		var day = Number(fcmidnumber.substring(12,14));
		
		var myDate=new Date();
		myDate.setFullYear(year, month, day);
		var today = new Date();
		if (myDate > today) {
			document.getElementById('indulgeHint').innerHTML = Errors[result] + "小于18岁，纳入防沉迷。";
		} 
	}
}

function change(code){
	 return;
	 switch(code) {
		  case 1:
			  document.register.detail.value="合法的账号名必须由a-z的26个小写英文字母0-9的10个数字组成，不能包含空格等其他字符。长度为6-16个字符之间，请选择不会引起歧义的账号名.例如:abc007。";break;
		  case 2:
			  document.register.detail.value="为了保证您的密码安全,请设定密码长度为6－16个字符,由a-z的小写英文字母和0-9的数字组成，不能包含空格等其他字符。请保管好您的密码。";break;
		  case 3:
			  document.register.detail.value="请再输入一次，需要和密码一致。";break;
		  case 4:
			  document.register.detail.value="当您忘记密码时可以通过密码提示问题和答案找回密码(如：我的生日是多少?)。";break;
		  case 5:
			  document.register.detail.value="密码提示问题答案,请您用易于自己记忆的方式填写。";break;
		  case 6:
			  document.register.detail.value="请填写您证件上的真实信息";break;
		  case 7:
			  document.register.detail.value="请填写证件的真实信息。身份证有15位和18位两种";break;
		  case 8:
			  document.register.detail.value="请务必填写有效安全的邮箱,它将是您获得信息及找回密码的重要途径。";break;
		  case 9:
			  document.register.detail.value="为保证邮箱的正确性,请确认输入一次。";break;

	 }
}
function changeHidden(obj){
	//obj.checked = !obj.checked
	if(obj.checked){
		document.getElementById("xuantian").style.display=""
	}else{
		document.getElementById("xuantian").style.display="none"
	}

	if(obj.value==1){
		document.getElementById("xuantianwm").style.display=""
		document.getElementById("xuantianwl").style.display="none"
		document.getElementById("xuantiangj").style.display="none"
		document.getElementById("xuantianzx").style.display="none"
		document.getElementById("xuantiancb").style.display="none"
		document.getElementById("xuantianrw").style.display="none"
		document.getElementById("xuantianxy").style.display="none"
	}else if(obj.value==2){
		document.getElementById("xuantianwm").style.display="none"
		document.getElementById("xuantianwl").style.display=""
		document.getElementById("xuantiangj").style.display="none"
		document.getElementById("xuantianzx").style.display="none"
		document.getElementById("xuantiancb").style.display="none"
		document.getElementById("xuantianrw").style.display="none"
		document.getElementById("xuantianxy").style.display="none"
	}else if(obj.value==3){
		document.getElementById("xuantianwm").style.display="none"
		document.getElementById("xuantianwl").style.display="none"
		document.getElementById("xuantiangj").style.display=""
		document.getElementById("xuantianzx").style.display="none"
		document.getElementById("xuantiancb").style.display="none"
		document.getElementById("xuantianrw").style.display="none"
		document.getElementById("xuantianxy").style.display="none"
	}else if(obj.value==4){
		document.getElementById("xuantianwm").style.display="none"
		document.getElementById("xuantianwl").style.display="none"
		document.getElementById("xuantiangj").style.display="none"
		document.getElementById("xuantianzx").style.display=""
		document.getElementById("xuantiancb").style.display="none"
		document.getElementById("xuantianrw").style.display="none"
		document.getElementById("xuantianxy").style.display="none"		
	}
	else if(obj.value==5){
		document.getElementById("xuantianwm").style.display="none"
		document.getElementById("xuantianwl").style.display="none"
		document.getElementById("xuantiangj").style.display="none"
		document.getElementById("xuantianzx").style.display="none"
		document.getElementById("xuantiancb").style.display=""
		document.getElementById("xuantianrw").style.display="none"
		document.getElementById("xuantianxy").style.display="none"
	}
	else if(obj.value==6){
		document.getElementById("xuantianwm").style.display="none"
		document.getElementById("xuantianwl").style.display="none"
		document.getElementById("xuantiangj").style.display="none"
		document.getElementById("xuantianzx").style.display="none"
		document.getElementById("xuantiancb").style.display="none"
		document.getElementById("xuantianrw").style.display=""
		document.getElementById("xuantianxy").style.display="none"
	}
	else if(obj.value==7){
		document.getElementById("xuantianwm").style.display="none"
		document.getElementById("xuantianwl").style.display="none"
		document.getElementById("xuantiangj").style.display="none"
		document.getElementById("xuantianzx").style.display="none"
		document.getElementById("xuantiancb").style.display="none"
		document.getElementById("xuantianrw").style.display="none"
		document.getElementById("xuantianxy").style.display=""
	}
}

var where = new Array(35);

function comefrom(loca,locacity) {
	this.loca = loca;
	this.locacity = locacity;
}

where[0]= new comefrom("请选择省份名","请选择城市名");
where[1] = new comefrom("安徽","合肥|芜湖|蚌埠|马鞍山|淮北|铜陵|安庆|黄山|滁州|宿州|池州|淮南|巢湖|阜阳|六安|宣城|亳州");
where[2] = new comefrom("澳门","");
where[3] = new comefrom("北京","东城|西城|崇文|宣武|朝阳|丰台|石景山|海淀|门头沟|房山|通州|顺义|昌平|大兴|平谷|怀柔|密云|延庆");
where[4] = new comefrom("重庆","万州|涪陵|渝中|大渡口|江北|沙坪坝|九龙坡|南岸|北碚|万盛|双挢|渝北|巴南|黔江|长寿|綦江|潼南|铜梁|大足|荣昌|壁山|梁平|城口|丰都|垫江|武隆|忠县|开县|云阳|奉节|巫山|巫溪|石柱|秀山|酉阳|彭水|江津|合川|永川|南川");
where[5] = new comefrom("福建","福州|厦门|莆田|三明|泉州|漳州|南平|龙岩|宁德");
where[6] = new comefrom("甘肃","兰州|嘉峪关|金昌|白银|天水|酒泉|张掖|武威|定西|陇南|平凉|庆阳|临夏|甘南");
where[7] = new comefrom("广东","广州|深圳|珠海|汕头|东莞|中山|佛山|韶关|江门|湛江|茂名|肇庆|惠州|梅州|汕尾|河源|阳江|清远|潮州|揭阳|云浮");
where[8] = new comefrom("广西","南宁|柳州|桂林|梧州|北海|防城港|钦州|贵港|玉林|南宁地区|柳州地区|贺州|百色|河池");
where[9] = new comefrom("贵州","贵阳|六盘水|遵义|安顺|铜仁|黔西南|毕节|黔东南|黔南");
where[10] = new comefrom("海南","海口|三亚");
where[11] = new comefrom("河北","石家庄|邯郸|邢台|保定|张家口|承德|廊坊|唐山|秦皇岛|沧州|衡水");
where[12] = new comefrom("河南","郑州|开封|洛阳|平顶山|安阳|鹤壁|新乡|焦作|濮阳|许昌|漯河|三门峡|南阳|商丘|信阳|周口|驻马店|济源");
where[13] = new comefrom("黑龙江","哈尔滨|齐齐哈尔|牡丹江|佳木斯|大庆|绥化|鹤岗|鸡西|黑河|双鸭山|伊春|七台河|大兴安岭");
where[14] = new comefrom("湖北","武汉|宜昌|荆州|襄樊|黄石|荆门|黄冈|十堰|恩施|潜江|天门|仙桃|随州|咸宁|孝感|鄂州");
where[15] = new comefrom("湖南","长沙|常德|株洲|湘潭|衡阳|岳阳|邵阳|益阳|娄底|怀化|郴州|永州|湘西|张家界");
where[16] = new comefrom("吉林","长春|吉林|四平|辽源|通化|白山|松原|白城|延边");
where[17] = new comefrom("江苏","南京|镇江|苏州|南通|扬州|盐城|徐州|连云港|常州|无锡|宿迁|泰州|淮安");
where[18] = new comefrom("江西","南昌市|景德镇|九江|鹰潭|萍乡|新馀|赣州|吉安|宜春|抚州|上饶");
where[19] = new comefrom("辽宁","沈阳|大连|鞍山|抚顺|本溪|丹东|锦州|营口|阜新|辽阳|盘锦|铁岭|朝阳|葫芦岛");
where[20] = new comefrom("内蒙古","呼和浩特|包头|乌海|赤峰|呼伦贝尔盟|阿拉善盟|哲里木盟|兴安盟|乌兰察布盟|锡林郭勒盟|巴彦淖尔盟|伊克昭盟");
where[21] = new comefrom("宁夏","银川|石嘴山|吴忠|固原");
where[22] = new comefrom("青海","西宁|海东|海南|海北|黄南|玉树|果洛|海西");
where[23] = new comefrom("山东","济南|青岛|淄博|枣庄|东营|烟台|潍坊|济宁|泰安|威海|日照|莱芜|临沂|德州|聊城|滨州|菏泽");
where[24] = new comefrom("山西","太原|大同|阳泉|长治|晋城|朔州|吕梁|忻州|晋中|临汾|运城");
where[25] = new comefrom("陕西","西安|宝鸡|咸阳|铜川|渭南|延安|榆林|汉中|安康|商洛");
where[26] = new comefrom("上海","黄浦|卢湾|徐汇|长宁|静安|普陀|闸北|虹口|杨浦|闵行|宝山|嘉定|浦东|金山|松江|青浦|南汇|奉贤|崇明");
where[27] = new comefrom("四川","成都|绵阳|德阳|自贡|攀枝花|广元|内江|乐山|南充|宜宾|广安|达川|雅安|眉山|甘孜|凉山|泸州");
where[28] = new comefrom("台湾","台北|高雄|台中|台南|屏东|南投|云林|新竹|彰化|苗栗|嘉义|花莲|桃园|宜兰|基隆|台东|金门|马祖|澎湖");
where[29] = new comefrom("天津","和平|东丽|河东|西青|河西|津南|南开|北辰|河北|武清|红挢|塘沽|汉沽|大港|宁河|静海|宝坻|蓟县");
where[30] = new comefrom("西藏","拉萨|日喀则|山南|林芝|昌都|阿里|那曲");
where[31] = new comefrom("香港","");
where[32] = new comefrom("新疆","乌鲁木齐|石河子|克拉玛依|伊犁|巴音郭勒|昌吉|克孜勒苏柯尔克孜|博尔塔拉|吐鲁番|哈密|喀什|和田|阿克苏");
where[33] = new comefrom("云南","昆明|大理|曲靖|玉溪|昭通|楚雄|红河|文山|思茅|西双版纳|保山|德宏|丽江|怒江|迪庆|临沧");
where[34] = new comefrom("浙江","杭州|宁波|温州|嘉兴|湖州|绍兴|金华|衢州|舟山|台州|丽水");
where[35] = new comefrom("其它","北美洲|南美洲|亚洲|非洲|欧洲|大洋洲");

function select1() {
	with(document.register.province) {
		var loca2 = options[selectedIndex].value;
	}

	for(i = 0;i < where.length;i ++) {
		if (where[i].loca == loca2) {
			loca3 = (where[i].locacity).split("|");
			for(j = 0;j < loca3.length;j++) {
				with(document.register.city) {
					length = loca3.length;
					options[j].text = loca3[j];
					options[j].value = loca3[j];
					var loca4=options[selectedIndex].value;
				}
			}
			break;
		}
	}
	document.register.citys.value=loca4;
}

function initPrompt(){
	var FStr = document.register;
	//alert("FStr.prompt2.value:"+FStr.prompt2.value);
	//alert("document.all.spanb1:"+document.all.spanb1);
	if(FStr.prompt2.value=="-1"){
		//alert("register.spanb1:"+register.spanb1);
                //alert("document.all.spanb1:"+document.all.spanb1);
		selectPrompt(FStr.prompt2,document.all.spanb1,document.all.spanb2);
	}
}

//alert("FStr.spanb1:"+FStr.spanb1);
//alert("FStr.spanb2:"+FStr.spanb2);


function init() {
	with(document.register.province) {
		length = where.length;
		for(k=0;k<where.length;k++) {
			options[k].text = where[k].loca;
			options[k].value = where[k].loca;
		}
		options[selectedIndex].text = where[0].loca;
		options[selectedIndex].value = where[0].loca;
	}
	with(document.register.city) {
		loca3 = (where[0].locacity).split("|");
		length = loca3.length;
		for(l=0;l<length;l++) {
			options[l].text = loca3[l];
			options[l].value = loca3[l];
		}
		options[selectedIndex].text = loca3[0];
		options[selectedIndex].value = loca3[0];
	}
}

function init(pro,city) {
	with(document.register.province) {
		length = where.length;
		for(k=0;k<where.length;k++) {
			options[k].text = where[k].loca;
			options[k].value = where[k].loca;
		}
		if(pro!=""){
			options[selectedIndex].text = pro;
			options[selectedIndex].value = pro;
		}else{
			options[selectedIndex].text = where[0].loca;
			options[selectedIndex].value = where[0].loca;
		}
	}
	with(document.register.city) {
		loca3 = (where[0].locacity).split("|");
		length = loca3.length;
		for(l=0;l<length;l++) {
			options[l].text = loca3[l];
			options[l].value = loca3[l];
		}
		if(city!=""){
			options[selectedIndex].text = city;
			options[selectedIndex].value = city;
		}else{
			options[selectedIndex].text = loca3[0];
			options[selectedIndex].value = loca3[0];
		}
	}
} 

function selectEmailType(obj,mailobj){
	//alert("obj.value:"+obj.value);
	if(obj.value==""){
		return;
	}
	var mailvalue = mailobj.value;
	mailobj.value = "";
	//alert(mailvalue);
	if(mailvalue==""){
		mailobj.value = obj.value;
	}else if(mailvalue.indexOf("@")>=0){
		var mailsplit = mailvalue.split("@");
		mailobj.value = mailsplit[0] + obj.value;
	}else{
		mailobj.value = mailvalue + obj.value;
	}
}

function selectEmailType2(select,obj1,mailObj){
	if(select.value=="-1"){
		obj1.style.display = "none";
		mailObj.size = "30"
		//obj2.style.display = "";
	}
}
function selectPrompt(selectObj,spanObj1,spanObj2){
	if(selectObj.value=="-1"){
		spanObj1.style.display = "";
		spanObj2.style.display = "none";
	}
}


function per15To18(perIDSrc){

   var iS = 0;

   //加权因子常数
   //var my_array = new Array();

   var iW = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
   //校验码常数
   var LastCode="10X98765432";
   //新身份证号
   var perIDNew;

   perIDNew = perIDSrc.substring(0,6);
   //填在第6位及第7位上填上‘1’，‘9’两个数字
   perIDNew += "19";

   perIDNew += perIDSrc.substring(6,perIDSrc.length);
   //alert("perIDNew:"+perIDNew);
   //进行加权求和
   for( var i=0; i<17; i++){

		//alert(perIDNew+".substring("+i+","+(i+1)+"):"+perIDNew.substring(i,i+1));
		iS += parseInt(perIDNew.substring(i,i+1)) * iW[i];
		//alert("iS:"+iS);
   }

   //取模运算，得到模值

   var iY = iS%11;
   //alert("iY:"+iY);
   //从LastCode中取得以模为索引号的值，加到身份证的最后一位，即为新身份证号。
   //alert("LastCode.substring(iY,1):"+LastCode.substring(iY,1));
   perIDNew += LastCode.substring(iY,iY+1);
   //alert("perIDNew:"+perIDNew);
   return perIDNew;

  }

function cidInfo(obj){

	var sId = obj.value;

	//alert(sId+".length:"+sId.length);
	if(sId.length!=15&&sId.length!=18) {
		register.fcmidnumber.focus();

		return "身份证号码长度不对！";
	}

	if(sId.length==15){
		sId = per15To18(sId);
		//alert("sId:"+sId);
	}
	if(!/^\d{17}(\d|x)$/i.test(sId)){
    	obj.focus();
	    return false;
    }
}


function checkUserName(s){
	//alert("s："+s);
	var patrn=/^[a-z]{1}[a-z0-9]{5,15}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkIdNumber1(s){
	//alert("s："+s);
	var patrn=/^[a-z0-9A-Z]{18}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkIdNumber2(s){
	//alert("s："+s);
	var patrn=/^[a-z0-9A-Z]{6,28}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkRealName(s){
	var patrn = /[0-9]{1,}/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkUserName2(s){
	//alert("s："+s);
	var patrn=/^[a-zA-Z0-9]{6,16}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkPasswd2(s){
	var patrn=/^[a-zA-Z0-9]{8,16}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkPasswd(s){
	//alert("s："+s);
	var patrn=/^[a-zA-Z0-9]{6,16}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function notEmail2(obj,email,msg){//是否邮箱
	var str,re;
	re=/([\w|-]+@[\w|-]+\.[\w|-]+)(\.?[\w|-]*)(\.?[\w|-]*)/i;

	re.exec(trim(email));
	if (RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".")
		str=RegExp.$1+RegExp.$2+RegExp.$3;
	else
		if (RegExp.$2!=""&&RegExp.$2!=".")
      str=RegExp.$1+RegExp.$2 ;
	else
		str=RegExp.$1 ;
	if (str!=trim(email)){
		alert(msg);
		obj.focus();
		return true;
	}
	return false;
}

function checkGender(FStr){
	var length = FStr.elements.length;
	var flag = false;
	for(var i=0;i<length;i++){
		if(FStr.elements[i].name=="gender"){
			if(FStr.elements[i].checked){
				flag = true;
				break;
			}
		}
	}
	return flag;
}

function getGenderValue(FStr){
	var length = FStr.elements.length;
	var gendervalue = "";
	for(var i=0;i<length;i++){
		if(FStr.elements[i].name=="gender"){
			if(FStr.elements[i].checked){
				gendervalue = FStr.elements[i].value;
				break;
			}
		}
	}
	return gendervalue;
}

function checkGenderIDBrithday(FStr){
	var gender = getGenderValue(FStr);
	var idnumber = FStr.idnumber.value;
	var birthday = FStr.year.value+"-"+FStr.month.value+"-"+FStr.day.value;
	if(gender!=""&&idnumber!=""&&birthday!=""){
		if(idnumber.length==15){
			idnumber = per15To18(idnumber);
		}
		var year = idnumber.substring(6, 10);
        var month = idnumber.substring(10, 12);
        var day = idnumber.substring(12, 14);//110224197805220019
		var sex = idnumber.substring(16,17);
		//alert("year:"+year+" month:"+month+" day:"+day+" sex:"+sex);
		if(birthday!=(year+"-"+month+"-"+day)){
			alert("出生日期与身份证不符!");
			return false;
		}
		if(!((sex%2==0&&gender==1)||(sex%2==1&&gender==0))){
			alert("性别与身份证不符");
			return false;
		}
	}
	return true;
}

function pwStrength_2(pwd){
	 O_color="#eeeeee";        
     L_color="#FF0000";        
     M_color="#FF9900";        
     H_color="#33CC00";        
     if (pwd==null||pwd=="")       
     {        
         Lcolor=Mcolor=Hcolor=O_color;        
     }        
     else      
     {        
         S_level=checkStrong(pwd);        
         switch(S_level)       
         {        
             case 0:        
             Lcolor=Mcolor=Hcolor=O_color;        
             case 1:        
             Lcolor=L_color;        
             Mcolor=Hcolor=O_color;        
             break;        
             case 2:        
             Lcolor=Mcolor=M_color;        
             Hcolor=O_color;        
             break;        
             default:        
             Lcolor=Mcolor=Hcolor=H_color;        
         }        
     }        
     document.getElementById("strength_L").style.background=Lcolor;        
     document.getElementById("strength_M").style.background=Mcolor;        
     document.getElementById("strength_H").style.background=Hcolor;    
     return; 
}

function pwStrength(pwd) {
   O_color="ash";
   L_color="red";
   M_color="blue";
   H_color="green";
   if (pwd==null||pwd==''){
    Lcolor=Mcolor=Hcolor=O_color;
   }
   else {
    S_level=checkStrong(pwd);
    switch(S_level) {
    case 0:
     Lcolor=Mcolor=Hcolor=O_color;
     break;
    case 1:
     Lcolor=L_color;
     Mcolor=Hcolor=O_color;
    break;
    case 2:
     Mcolor=M_color;
     Lcolor=Hcolor=O_color;
    break;
    case 3:
     Hcolor=H_color;
     Lcolor=Mcolor=O_color;
    break;
    case 4:
    Hcolor=H_color;
    Lcolor=Mcolor=O_color;
    break;
    }
   }
   document.getElementById('strength_L').className=Lcolor;
   document.getElementById("strength_M").className=Mcolor;
   document.getElementById("strength_H").className=Hcolor;
   return;
}

function newnotEmail(name){
  var str,re;
  re=/([\w|-]+[\.?\w|-]*@[\w|-]+\.[\w|-]+)(\.?[\w|-]*)(\.?[\w|-]*)/i;

  re.exec(trim(name.value));
  if (RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".")
    str=RegExp.$1+RegExp.$2+RegExp.$3;
  else
    if (RegExp.$2!=""&&RegExp.$2!=".")
      str=RegExp.$1+RegExp.$2 ;
  else
    str=RegExp.$1 ;
  if (str!=trim(name.value))
  {
    return true;
  }
  return false;
}

function checkForm(randflag){

	var FStr = document.forms["register"];
	if(isNull(FStr.username,"请输入用户名!")) return false;
        if(FStr.username.value.length>=6&&FStr.username.value.substring(0,6)=="wltest"){
		alert("输入用户名已被注册!");
		FStr.username.focus();
		return false;
	}
	
	if(!checkUserName(FStr.username.value)){
		alert("输入用户名不符合命名规则!");
		FStr.username.focus();
		return false;
	}

	if(isNull(FStr.passwd,"请输入密码!")) return false;
	if(!checkPasswd(FStr.passwd.value)){
		alert("输入密码不符合命名规则!");
		FStr.passwd.focus();
		return false;
	}
	if(isNull(FStr.repeatpasswd,"请输入确认密码!")) return false;
	if(FStr.passwd.value!=FStr.repeatpasswd.value){
		alert("两次输入密码不一致!");
		FStr.repeatpasswd.focus();
		return false;
	}
	
	if(isNull(FStr.fcmidnumber,"请输入身份证号!")) return false;
	if(isNull(FStr.fcmtruename,"请输入真实姓名!")) return false;
	
		var Errors=new Array(
		"验证通过!",
		"身份证号码位数不对!",
		"身份证号码出生日期超出范围或含有非法字符!",
		"身份证号码校验错误!",
		"身份证地区非法!"
		);
	var temp = FStr.fcmidnumber.value.toUpperCase()
	var result=checkIdcard(temp);
	if(result!=0)
	{
		alert(Errors[result]);
		FStr.fcmidnumber.focus();
		return false;        
	}
	
	if(FStr.ts[0].checked){
		if(isNull(FStr.idnumber1,"请输入超级身份验证码!")) return false;
		if(!checkIdNumber1(FStr.idnumber1.value)){
		alert("输入超级身份验证码不符合规则!");
		FStr.idnumber1.focus();
		return false;
		}
		FStr.idnumber.value = FStr.idnumber1.value;
	}else{
		if(isNull(FStr.idnumber2,"请输入超级身份验证码!")) return false;
		if(!checkIdNumber2(FStr.idnumber2.value)){
		alert("输入超级身份验证码不符合规则!");
		FStr.idnumber2.focus();
		return false;
		}
		FStr.idnumber.value = FStr.idnumber2.value;
	}
		
	if(isNull(FStr.idnumber,"请输入超级身份验证码!")) return false;
	
	if(isNull(FStr.email,"请输入电子邮箱!")) return false;
	
	if(newnotEmail(FStr.email)){
		alert("Email地址格式不正确！");
		FStr.email.focus();
		return false;
	}
	
	if(randflag=="true"){
		if(isNull(FStr.rand,"请输入验证码!")) return false;
	}
	//
	
	if(FStr.passwd.value==FStr.username.value){
		alert("用户名密码不能相同！");
		FStr.passwd.focus();
		return false;
	}
	
	if(!FStr.protocol1.checked){
		alert("您还没有阅读《完美通行证用户协议》!");
		return false;
	}
	
	if(!FStr.protocol2.checked){
		alert("您还没有阅读《网络游戏防沉迷系统及实名认证服务协议》!");
		return false;
	}
	return true;

}

function registerImgRefresh() {
	document.getElementById("randimg").src="/servlet/randImg4register?r=" + Math.random();
}


function InitAjax() {
    var http_request = false;

    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) {
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    } if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    return http_request;
}

function checkPassport(a) {
		
		var FStr = document.register;
		var username = FStr.username.value;
		
		var msg = document.getElementById('m'+a);
		
		
		if(trim(username)==""){
    		msg.innerHTML =  "通行证用户名不能为空";
    		hidd_msg(a,"no");
    		return;
  		}
  		
  		if(!checkUserName(FStr.username.value)){
  			msg.innerHTML = "账号请以字母开头，长度6~16位。可以包含数字、字母。";
  			hidd_msg(a,"no");
  			return;
		}
        
        var url = "/member/checkUser"; 
        var str = "username=" + username;

        var ajax = InitAjax();
    　  ajax.open("POST", url, true);
    　  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        ajax.send(str);
        ajax.onreadystatechange = function() 
        {
        　　if (ajax.readyState == 4 && ajax.status == 200) 
            {
        　　　  var status = parseInt(ajax.responseText); 
                if (!isNaN(status)) 
                {
                    switch (status) 
                    {
                        case 11:
                            var info = "你输入的证号存在非法字符";
                            msg.innerHTML = info;
                            hidd_msg(a,"no");
                            break;
                        case 12:
                            var info = "账号请以字母开头，长度6~16位。可以包含数字、字母(不分大小写)或下划线。";
                            msg.innerHTML = info;
                            hidd_msg(a,"no");
                            break;
                        case 13:
                            var info = "此账号已经被注册";  
                            msg.innerHTML = info;
                            hidd_msg(a,"no");
                            break;                        
                        case 14:
                            var info = "此账号可用";
                            msg.innerHTML = info;
                            hidd_msg(a,"yes");
                            break;                        
                        default:
                            var info = "此账号已经被注册";
                            msg.innerHTML = info;
                            hidd_msg(a,"no");
                            break; 
                    }
                }                
        　　}
    }
}

function checkPasswdonkeyup2(a) {
	var form1 = document.register;
	var msg = document.getElementById('m'+a);
	b = a+1;
	var msg2 = document.getElementById('m'+b);
	
	if(form1.passwd.value==""){
		msg.innerHTML = "密码不能为空";
		hidd_msg(a,"no");
		return;
	}
	if(form1.passwd.value==form1.username.value){
		msg.innerHTML = "用户名密码不能相同";
		hidd_msg(a,"no");
		return;
	}
	
	if (!checkPasswd(form1.passwd.value)) {
		msg.innerHTML = "密码不符合规则";
		hidd_msg(a,"no");
	} else {
		msg.innerHTML = "密码可以使用";
		hidd_msg(a,"yes");
		if (form1.repeatpasswd.value.length > 0
			&(form1.passwd.value!=form1.repeatpasswd.value)) {
			msg2.innerHTML = "两次输入密码不相同";
			hidd_msg(b,"no");
		}
	}
}

function checkrepeatPasswdonkeyup2(a) {
	var form1 = document.register;
	var msg = document.getElementById('m'+a);
	if(form1.passwd.value.length>0){
		if (form1.passwd.value!=form1.repeatpasswd.value) {
		msg.innerHTML = "两次输入密码不相同";
		hidd_msg(a,"no");
	} else {
		msg.innerHTML = "两次输入密码相同";
		hidd_msg(a,"yes");
	}
	}
	
}

function checkEmail(a){
	var form1 = document.register;
	var msg = document.getElementById('m'+a);
	
	if(form1.email.value==""){
		msg.innerHTML = "Email地址不能为空";
		hidd_msg(a,"no");
		return;
	}
	if(newnotEmail(form1.email)){
			msg.innerHTML = "Email地址格式不正确";
			hidd_msg(a,"no");
	}else{
		msg.innerHTML = "Email可以使用";
		hidd_msg(a,"yes");
	}
}

function checkrepeatEmail(a) {
	var form1 = document.register;
	var msg = document.getElementById('m'+a);
	if(form1.email.value.length>0){
		if (form1.email.value!=form1.repeatemail.value) {
		msg.innerHTML = "两次输入Email地址不相同";
		hidd_msg(a,"no");
	} else {
		msg.innerHTML = "两次输入Email地址相同";
		hidd_msg(a,"yes");
	}
	}
	
}

function fcmtest2(a){
	//if(isNull(register.fcmtruename,"请输入真实姓名!")) return false;
	var form1 = document.register;
	var Errors=new Array(
	"身份证验证通过！",
	"身份证号码位数不对!",
	"身份证号码出生日期超出范围或含有非法字符!",
	"身份证号码校验错误!",
	"身份证地区非法!"
	);
	var temp = form1.fcmidnumber.value.toUpperCase()
	var hintelement = document.getElementById('m'+a);
	
	if(temp==""){
		hintelement.innerHTML = "身份证号码不能为空";
		hidd_msg(a,"no");    
		return;
	}
	
	var result=checkIdcard(temp);
	
	if(result!=0)
	{
		//alert(Errors[result]);
		hintelement.innerHTML = Errors[result];
		hidd_msg(a,"no");    
		    
	}else{
		hintelement.innerHTML = Errors[result];
		var fcmidnumber = form1.fcmidnumber.value;
		if(fcmidnumber.length == 15){
			fcmidnumber = per15To18(fcmidnumber);	
		}
		var year = Number(fcmidnumber.substring(6,10)) + 18;
		var month = Number(fcmidnumber.substring(10,12)) - 1;
		var day = Number(fcmidnumber.substring(12,14));
		
		var myDate=new Date();
		myDate.setFullYear(year, month, day);
		var today = new Date();
		if (myDate > today) {
			hintelement.innerHTML = Errors[result] + "小于18岁，纳入防沉迷。";
		}
		hidd_msg(a,"yes");    
		
	}
}

function charlength(str){
    var byteLen=0,len=str.length;
    if(str){
        for(var i=0; i<len; i++){
            if(str.charCodeAt(i)>255){
                byteLen += 2;
            }
            else{
                byteLen++;
            }
        }
        return byteLen;
    }
    else{
        return 0;
    }
}

function fcmnametest2(a){
	//if(isNull(register.fcmtruename,"请输入真实姓名!")) return false;
	var form1 = document.register;
	var temp = form1.fcmtruename.value;
	var hintelement = document.getElementById('m'+a);
	
	
	
	if(temp==""){
		hintelement.innerHTML = "真实姓名不能为空";
		hidd_msg(a,"no");       
	}else if(charlength(temp)<4||charlength(temp)>16||checkRealName(temp)){
		hintelement.innerHTML = "真实姓名格式不对";
		hidd_msg(a,"no"); 
	}else{
		hintelement.innerHTML = "真实姓名通过";
		hidd_msg(a,"yes");
		
	}
	
}

function checksuperid1(a){
	var form1 = document.register;
	var temp = form1.idnumber1.value;
	var msg = document.getElementById('m'+a);
	
	if(temp==""){
		msg.innerHTML = "超级身份验证码不能为空";
		hidd_msg(a,"no");
		
	}else{
		if(checkIdNumber1(temp)){
			msg.innerHTML = "超级身份验证码通过";
			hidd_msg(a,"yes");
		}else{
			msg.innerHTML = "超级身份验证码应为18位数字或大小写字符";
			hidd_msg(a,"no");
		}	
	}
}

function checksuperid2(a){
	var form1 = document.register;
	var temp = form1.idnumber2.value;
	var msg = document.getElementById('m'+a);
	
	if(temp==""){
		msg.innerHTML = "超级身份验证码不能为空";
		hidd_msg(a,"no");
		
	}else{
		if(checkIdNumber2(temp)){
			msg.innerHTML = "超级身份验证码通过";
			hidd_msg(a,"yes");
		}else{
			msg.innerHTML = "超级身份验证码应为6-28位数字或大小写字符";
			hidd_msg(a,"no");
		}	
	}
}

var oldrand = "";
function checkrandimg(a){
	var form1 = document.register;
	var temp = form1.rand.value;
	var msg = document.getElementById('m'+a);
	
	if(temp==oldrand){
		return;
	}
	
	oldrand = temp;
	
	if(temp.length<6){
        msg.innerHTML = "";
		msg.className="yes";
		msg.style.display="none";
		return;
	}
	
	var url = "/member/checkRandomImg"; 
    var str = "randimg=" + temp;
	
	var ajax = InitAjax();
    ajax.open("POST", url, true);
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    ajax.send(str);
    ajax.onreadystatechange = function() 
    {
        if (ajax.readyState == 4 && ajax.status == 200) 
        {
        　　　  var status = parseInt(ajax.responseText); 
                if (!isNaN(status)) 
                {
                    switch (status) 
                    {
                        case 0:
                            var info = "验证码错误";
                            msg.innerHTML = info;
							msg.className="no";
							msg.style.display="block";
                            break;
                        case 1:
                            var info = "验证码正确";
                            msg.innerHTML = info;
							msg.className="yes";
							msg.style.display="block";
                            break;
                        case 2:
                            var info = "图片码换掉了";
                            msg.innerHTML = info;
							msg.className="no";
							msg.style.display="block";
							registerImgRefresh();
                            break;              
                        default:
                            var info = "验证码错误";
                            msg.innerHTML = info;
							msg.className="no";
							msg.style.display="block";
                            break; 
                    }
                }                
        　　}
    }
}







