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.registerForm;
	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.registerForm;
	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 fcmtest(){
	var Errors=new Array(
	"身份证验证通过！",
	"身份证号码位数不对!",
	"身份证号码出生日期超出范围或含有非法字符!",
	"身份证号码校验错误!",
	"身份证地区非法!"
	);
	var temp = register.fcmidnumber.value.toUpperCase()
	var result=checkIdcard(temp);
	var hintelement = document.getElementById('indulgeHint');
	if(result!=0)
	{
		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.registerForm.detail.value="合法的账号名必须由a-z的26个小写英文字母0-9的10个数字组成，不能包含空格等其他字符。长度为6-16个字符之间，请选择不会引起歧义的账号名.例如:abc007。";break;
		  case 2:
			  document.registerForm.detail.value="为了保证您的密码安全,请设定密码长度为6－16个字符,由a-z的小写英文字母和0-9的数字组成，不能包含空格等其他字符。请保管好您的密码。";break;
		  case 3:
			  document.registerForm.detail.value="请再输入一次，需要和密码一致。";break;
		  case 4:
			  document.registerForm.detail.value="当您忘记密码时可以通过密码提示问题和答案找回密码(如：我的生日是多少?)。";break;
		  case 5:
			  document.registerForm.detail.value="密码提示问题答案,请您用易于自己记忆的方式填写。";break;
		  case 6:
			  document.registerForm.detail.value="请填写您证件上的真实信息";break;
		  case 7:
			  document.registerForm.detail.value="请填写证件的真实信息。身份证有15位和18位两种";break;
		  case 8:
			  document.registerForm.detail.value="请务必填写有效安全的邮箱,它将是您获得信息及找回密码的重要途径。";break;
		  case 9:
			  document.registerForm.detail.value="为保证邮箱的正确性,请确认输入一次。";break;

	 }
}

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.registerForm.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.registerForm.city) {
					length = loca3.length;
					options[j].text = loca3[j];
					options[j].value = loca3[j];
					var loca4=options[selectedIndex].value;
				}
			}
			break;
		}
	}
	document.registerForm.citys.value=loca4;
}

function initPrompt(){
	var FStr = document.registerForm;
	if(FStr.prompt2.value=="-1"){
		selectPrompt(FStr.prompt2,document.all.spanb1,document.all.spanb2);
	}
}

function init() {
	with(document.registerForm.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.registerForm.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.registerForm.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.registerForm.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 = "";
	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"
	}
}
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){
	
	var regex = /^sd/;
	if(regex.test(s.toLowerCase())) {
		return -1;
	}
	
	var regex = /^[A-Za-z]/;
	if(!regex.test(s)) {
		return -4;
	}
	
	var regex = /^[A-Za-z0-9_]*$/;
	if(!regex.test(s)) {
		return -5;
	}
	
	if(s.length < 6){
		return -6;
	}
	
	if(s.length > 16){
		return -7;
	}
	
	return 1;
}

function checkSpreadCodeFormat(s){
	
	var regex = /^[A-Za-z0-9_]*$/;
	if(!regex.test(s)) {
		return -5;
	}
	
	return 1;
}

function checkIdNumber1(s){
	//alert("s："+s);
	var patrn=/^[a-z0-9A-Z]{18}|^[a-z0-9A-Z]{15}$/;
	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 checkPasswd(s){
	//alert("s："+s);
	var patrn=/^[a-zA-Z0-9]{6,12}$/;
	if (patrn.exec(s)){
		return true
	}else{
		return false
	}
}

function checkSecondPasswd(s){
	//alert("s："+s);
	var patrn=/^[a-zA-Z0-9]{8,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(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 pwStrength2(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_L2").className=Lcolor;
   document.getElementById("strength_M2").className=Mcolor;
   document.getElementById("strength_H2").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(){

	var FStr = document.forms["registerForm"];
	if(isNull(FStr.username,"请输入用户名!")) return false;
    if(FStr.username.value.length>=2&&FStr.username.value.substring(0,2).toLowerCase()=="sd"){
		alert("游戏帐号不能以“SD”开头!");
		FStr.username.focus();
		return false;
	}
	
	var PNstate = checkUserName(FStr.username.value);
  	if(PNstate == -1){
		alert("游戏帐号不能以“SD”开头!");
		FStr.username.focus();
		return false;
	}
	if(PNstate == -4){
        alert("游戏帐号必须以字母开头!");
		FStr.username.focus();
		return false;
	}
    if(PNstate == -5){
		alert("您的游戏帐号含非法字符！");
		FStr.username.focus();
		return false;
	}
	if(PNstate == -6){
		alert("游戏帐号至少6个字符!");
		FStr.username.focus();
		return false;
	}
	if(PNstate == -7){
		alert("游戏帐号不能多于16个字符!");
		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.passwd2,"请输入二级密码!")) return false;
	if(!checkSecondPasswd(FStr.passwd2.value)){
		alert("输入二级密码不符合命名规则!");
		FStr.passwd2.focus();
		return false;
	}
	if(isNull(FStr.repeatpasswd2,"请确认二级密码!")) return false;
	if(FStr.passwd2.value!=FStr.repeatpasswd2.value){
		alert("两次输入二级密码不一致!");
		FStr.repeatpasswd2.focus();
		return false;
	}
	if(isNull(FStr.fcmtruename,"请输入真实姓名!")) return false;
	if(isNull(FStr.fcmidnumber,"请输入身份证号!")) 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(isNull(FStr.email,"请输入电子邮箱!")) return false;
	
	if(newnotEmail(FStr.email)){
		alert("Email地址格式不正确！");
		FStr.email.focus();
		return false;
	}
	
    if(isNull(FStr.scode,"请输入验证码!")) 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 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('Cannot create an XMLHTTP instance');
        return false;
    }
    return http_request;
}

function checkPassport(a) {
		
		var FStr = document.registerForm;
		var username = FStr.username.value;
		
		var msg = document.getElementById('m'+a);
		
		if(trim(username)==""){
    		msg.innerHTML =  "&times; 通行证用户名不能为空";
    		hidd_msg(a,"zc_wrong");
    		return;
  		}
  		
  		var PNstate = checkUserName(username);
  		if(PNstate == -1){
		    msg.innerHTML = "&times; 游戏帐号不能以“SD”开头";
		    hidd_msg(a,"zc_wrong");
		    return;
	    }
	    if(PNstate == -4){
		    msg.innerHTML = "&times; 游戏帐号必须以字母开头";
		    hidd_msg(a,"zc_wrong");
		    return;
	    }
	    if(PNstate == -5){
		    msg.innerHTML = "&times; 您的游戏帐号含非法字符";
		    hidd_msg(a,"zc_wrong");
		    return;
	    }
	    if(PNstate == -6){
		    msg.innerHTML = "&times; 游戏帐号至少6个字符";
		    hidd_msg(a,"zc_wrong");
		    return;
	    }
	    if(PNstate == -7){
		   msg.innerHTML = "&times; 游戏帐号不能多于16个字符";
		   hidd_msg(a,"zc_wrong");
		   return;
	    }
  		
		var url = "../CheckNewUser"; 
        var str = "passport=" + 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 0:
                            var info = "&radic;此账号可用";
                            msg.innerHTML = info;
                            hidd_msg(a,"zc_right");
                            break;                        
                        case 1009:
                            var info = "&times; 此账号已经被注册";
                            msg.innerHTML = info;
                            hidd_msg(a,"zc_wrong");
                            break; 
                        default:
                            var info = "&times; 账号格式不正确";
                            msg.innerHTML = info;
                            hidd_msg(a,"zc_wrong");
                            break; 
                    }
                }                
        　　}
      }
}

function checkSpreadCode(a) {
		
		var FStr = document.registerForm;
		var spreadCode = FStr.spreadCode.value;
		if(spreadCode == "" || spreadCode == null){
			var sm = document.getElementById('m12');
			if(sm){
				sm.style.display = "none";
			}
			var sz = document.getElementById('z12');
			if(sz){
				sz.style.display = "block";
			} 
		} else {
			
			var msg = document.getElementById('m'+a);
			var SNstate = checkSpreadCodeFormat(spreadCode);
			if(SNstate == -5){
			    msg.innerHTML = "&times; 您的推广码含非法字符";
			    hidd_msg(a,"zc_wrong");
			    return;
		    }
			var url = "../CheckSpreadCode"; 
	        var str = "spreadCode=" + spreadCode;
	
	        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 = "&radic; 推广码可用";
	                            msg.innerHTML = info;
	                            hidd_msg(a,"zc_right");
	                            break;                        
	                        case 6001:
	                            var info = "&times; 无效推广码";
	                            msg.innerHTML = info;
	                            hidd_msg(a,"zc_wrong");
	                            break; 
	                    }
	                }                
	        　　}
	      }
		}
		
		
}

function checkPasswdonkeyup2(a) {
	var form1 = document.registerForm;
	var msg = document.getElementById('m'+a);
	b = a+1;
	var msg2 = document.getElementById('m'+b);
	
	if(form1.passwd.value==""){
		msg.innerHTML = "&times; 密码不能为空";
		hidd_msg(a,"zc_wrong");
		return;
	}
	if(form1.passwd.value==form1.username.value){
		msg.innerHTML = "&times; 用户名密码不能相同";
		hidd_msg(a,"zc_wrong");
		return;
	}
	
	if (!checkPasswd(form1.passwd.value)) {
		msg.innerHTML = "&times; 密码不符合规则";
		hidd_msg(a,"zc_wrong");
	} else {
		msg.innerHTML = "&radic; 密码可以使用";
		hidd_msg(a,"zc_right");
		if (form1.repeatpasswd.value.length > 0
			&(form1.passwd.value!=form1.repeatpasswd.value)) {
			msg2.innerHTML = "&times; 两次输入密码不相同";
			hidd_msg(b,"zc_wrong");
		}
	}
}

function checkrepeatPasswdonkeyup2(a) {
	var form1 = document.registerForm;
	var msg = document.getElementById('m'+a);
	if(form1.passwd.value.length>0){
		if (form1.passwd.value!=form1.repeatpasswd.value) {
		msg.innerHTML = "&times; 两次输入密码不相同";
		hidd_msg(a,"zc_wrong");
	} else {
		msg.innerHTML = "&radic; 两次输入密码相同";
		hidd_msg(a,"zc_right");
	}
	}
	
}

function checkSecondPasswdonkeyup2(a) {
	var form1 = document.registerForm;
	var msg = document.getElementById('m'+a);
	b = a+1;
	var msg2 = document.getElementById('m'+b);
	
	if(form1.passwd2.value==""){
		msg.innerHTML = "&times; 二级密码不能为空";
		hidd_msg(a,"zc_wrong");
		return;
	}
	if(form1.passwd2.value==form1.username.value){
		msg.innerHTML = "&times; 用户名二级密码不能相同";
		hidd_msg(a,"zc_wrong");
		return;
	}
	
	if (!checkSecondPasswd(form1.passwd2.value)) {
		msg.innerHTML = "&times; 二级密码不符合规则";
		hidd_msg(a,"zc_wrong");
	} else {
		msg.innerHTML = "&radic;二级密码可以使用";
		hidd_msg(a,"zc_right");
		if (form1.repeatpasswd2.value.length > 0
			&(form1.passwd2.value!=form1.repeatpasswd2.value)) {
			msg2.innerHTML = "&times; 两次输入二级密码不相同";
			hidd_msg(b,"zc_wrong");
		}
	}
}

function checkrepeatSecondPasswdonkeyup2(a) {
	var form1 = document.registerForm;
	var msg = document.getElementById('m'+a);
	if(form1.passwd2.value.length>0){
		if (form1.passwd2.value!=form1.repeatpasswd2.value) {
		msg.innerHTML = "&times; 两次输入二级密码不相同";
		hidd_msg(a,"zc_wrong");
	} else {
		msg.innerHTML = "&radic;两次输入二级密码相同";
		hidd_msg(a,"zc_right");
	}
	}
	
}

function checkNum(str){
   var numExp=/^[0-9]+$/;
   var numReg=new RegExp(numExp);
   if(!numReg.test(str)){
	  return true; 
	} 
	return false;
}

function checkMobileTel(a){
	var form1 = document.registerForm;
	var mobileTel = form1.mobileTel.value;
	var msg = document.getElementById('m'+a);
	if(mobileTel == "" || mobileTel == null){
		msg.innerHTML = "强烈建议您填写手机号码，以保障您获得更优质的服务。";
		hidd_msg(a,"zc_wrong");
	} else {
		var partten = /^1[3,5,8]\d{9}$/;
		if(mobileTel.length != 11){
			msg.innerHTML = "&times; 手机号码必须为11位";
			hidd_msg(a,"zc_wrong");
		} else if(checkNum(mobileTel)){
			msg.innerHTML = "&times; 手机号码必须为数字";
			hidd_msg(a,"zc_wrong");
		} else if(!partten.test(mobileTel)){
			msg.innerHTML = "&times; 请输入有效的手机号码";
			hidd_msg(a,"zc_wrong");
		} else {
			msg.innerHTML = "&radic; 手机号码可以使用";
			hidd_msg(a,"zc_right");
		}
	}
}

function checkEmail(a){
	var form1 = document.registerForm;
	var msg = document.getElementById('m'+a);
	
	if(form1.email.value==""){
		msg.innerHTML = "&times; Email地址不能为空";
		hidd_msg(a,"zc_wrong");
		return;
	}
	if(newnotEmail(form1.email)){
			msg.innerHTML = "&times; Email地址格式不正确";
			hidd_msg(a,"zc_wrong");
	}else{
		msg.innerHTML = "&radic; Email可以使用";
		hidd_msg(a,"zc_right");
	}
}

function checkScode(a){
	var form1 = document.registerForm;
	var msg = document.getElementById('m'+a);
	
	if(form1.scode.value==""){
		msg.innerHTML = "验证码不能为空";
		hidd_msg(a,"zc_wrong");
		return;
	}
	
}

function fcmtest2(a){
	//if(isNull(register.fcmtruename,"请输入真实姓名!")) return false;
	var form1 = document.registerForm;
	var Errors=new Array(
	"&radic; 身份证验证通过！",
	"&times; 身份证号码位数不对!",
	"&times; 身份证号码出生日期超出范围或含有非法字符!",
	"&times; 身份证号码校验错误!",
	"&times; 身份证地区非法!"
	);
	var temp = form1.fcmidnumber.value.toUpperCase()
	var hintelement = document.getElementById('m'+a);
	
	if(temp==""){
		hintelement.innerHTML = "&times; 身份证号码不能为空";
		hidd_msg(a,"zc_wrong");    
		return;
	}
	
	var result=checkIdcard(temp);
	
	if(result!=0)
	{
		//alert(Errors[result]);
		hintelement.innerHTML = Errors[result];
		hidd_msg(a,"zc_wrong");    
		    
	}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] + "&radic; 小于18岁，纳入防沉迷。";
		}
		hidd_msg(a,"zc_right");    
		
	}
}

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){
	
	var form1 = document.registerForm;
	var temp = form1.fcmtruename.value;
	var hintelement = document.getElementById('m'+a);
	
	if(temp==""){
		hintelement.innerHTML = "&times; 真实姓名不能为空";
		hidd_msg(a,"zc_wrong");       
	}else if(charlength(temp)<4||charlength(temp)>16||checkRealName(temp)){
		hintelement.innerHTML = "&times; 真实姓名格式不对";
		hidd_msg(a,"zc_wrong"); 
	}else{
		hintelement.innerHTML = "&radic; 真实姓名通过";
		hidd_msg(a,"zc_right");
		
	}
	
}





