function onSubmit() {
	var passportName = document.getElementById('passportName');
	var passportPswd = document.getElementById("passportPswd");
	var passportPswd1 = document.getElementById("passportPswd1");
	var realName = document.getElementById("realName");
	var IDCard = document.getElementById("IDCard");
	var validate = document.getElementById("validate");
	var protocol = document.getElementById("protocol");
	
	//判断是否为空
	if(passportName.value == "") {
		alert("对不起，通行证账号名不能为空!");
		passportName.focus();
		return false;
	}
	if(passportPswd.value == "") {
		alert("对不起，请输入您的通行证密码!");
		passportPswd.focus();
		return false;
	}
	if(passportPswd1.value == "") {
		alert("对不起，请输入您的确认密码!");
		passportPswd1.focus();
		return false;
	}
	if(realName.value == "") {
		alert("对不起，请输入您的真实姓名!");
		realName.focus();
		return false;
	}
	if(IDCard.value == "") {
		alert("对不起，请输入您的身份证号码!");
		IDCard.focus();
		return false;
	}
	if(validate.value == "") {
		alert("对不起，请您输入验证码!");
		validate.focus();
		return false;
	}
	
	if(!protocol.checked){
		alert("您还没有同意《神雕游戏服务条款》!");
		return false;
	}

//判断是否合法 ？  提交 / 返回
/*-=================================================================================================-*/
	//帐号名
	if(PNstate == -1){
		alert("游戏帐号不能以“SD”开头!");
		return false;
	}
	if(PNstate == -2){
		alert("抱歉，此该帐号已被占用!");
		return false;
	}
	if(PNstate == -4){
		alert("游戏帐号必须以字母开头!");
		return false;
	}
	if(PNstate == -5){
		alert("您的游戏帐号含非法字符！");
		return false;
	}
	if(PNstate == -6){
		alert("游戏帐号至少6个字符!");
		return false;
	}
	if(PNstate == -7){
		alert("游戏帐号不能多于16个字符!");
		return false;
	}
/*-=================================================================================================-*/
	//密码
	if(PDstate == -1){
		alert("密码不匹配");
		return false;
	}
	if(PDstate == -2){
		alert("密码含有非法字符!");
		return false;
	}
	if(PDstate == -3){
		alert("密码长度为6到12位!");
		return false;
	}
	if(PDstate == -4){
		alert("密码长度为6到12位!");
		return false;
	}
	if(PDstate == -5){
		alert("密码必须是英文字母及数字组成!");
		return false;
	}

/*-=================================================================================================-*/
	//真实姓名
	if(RNstate == -1){
		alert("真实姓名格式不对");
		return false;
	}
	if(RNstate == -2){
		alert("真实姓名最多8个字符");
		return false;
	}
	if(RNstate == -3){
		alert("真实姓名最少2个字符");
		return false;
	}
	//身份证
	if(ICstate == -1){
		alert("对不起，请确信您输入的为合法身份证号码！");
		return false;
	}
	//邮箱
	if(EMstate == -1){
		alert("对不起，请确信您输入的为合法邮箱！");
		return false;
	}
/*-=================================================================================================-*/
	return true;
}

/*-=================================================================================================-*/
//正则表达式     验证用户名
var PNstate = 1;
function regexPassportName(passportName) {

	if(passportName == ""){
		//document.getElementById('dd1').innerHTML = "<font color=red>游戏帐号不能为空</font>";
		return false;
	 }

	var pn = passportName.toLowerCase();
	var regex = /^sd/;
	if(regex.test(pn)) {
		//document.getElementById('dd1').innerHTML = "<font color=red>游戏帐号不能以“SD”开头</font>";
		return PNstate = -1;
	}
	
	var regex = /^[A-Za-z]/;
	if(!regex.test(pn)) {
		//document.getElementById('dd1').innerHTML = "<font color=red>游戏帐号必须以字母或数字开头</font>";
		return PNstate = -4;
	}
	var regex = /^[A-Za-z0-9_]*$/;
	if(!regex.test(pn)) {
		//document.getElementById('dd1').innerHTML = "<font color=red>您的游戏帐号含非法字符</font>";
		return PNstate = -5;
	}
	if(passportName.length < 6){
		//document.getElementById('dd1').innerHTML = "<font color=red>游戏帐号至少6个字符!</font>";
		return PNstate = -6;
	}
	if(passportName.length > 16){
		//document.getElementById('dd1').innerHTML = "<font color=red>游戏帐号不能多于16个字符!</font>";
		return PNstate = -7;
	}

	//getthis('/reg.php','nameback','name','passportName');
	return PNstate = 1;		
	
}
/*-=================================================================================================-*/
//验证密码是否匹配
var PDstate = 1;
function VALPassword(password) {
	
	var regex = /^[\x00-\x19\x21-\x7f]*$/;
	if(!regex.test(password)) {
		//document.getElementById('dd2').innerHTML = "<font color=red>确认密码含有非法字符</font>";
		return PDstate = -2;
	}
	if(password.length<6){
		//document.getElementById('dd2').innerHTML = "<font color=red>确认密码不能少于6位!</font>";
		return PDstate = -3;
	}
	if(password.length>12){
		//document.getElementById('dd2').innerHTML = "<font color=red>确认密码不能大于12位!</font>";
		return PDstate = -4;
	}
	
	var regex1 = /^[a-zA-Z0-9]{6,12}$/;
	if(!regex1.test(password)) {
		//document.getElementById('dd2').innerHTML = "<font color=red>确认密码必须含有字母和数字</font>";
		return PDstate = -5;
	}

	var passportPswd = document.getElementById("passportPswd");
	if(passportPswd.value != ""){	
		if(passportPswd.value != password){
			//document.getElementById('dd2').innerHTML = "<font color=red>密码不匹配</font>";
			return PDstate = -1;
		}
		//document.getElementById('dd2').innerHTML = "<font color=blue>密码确认成功</font>";
		return PDstate = 1;	
	}else{
		//document.getElementById('dd2').innerHTML = "<font color=blue>密码可用</font>";
		return  true;	
	}	
	
}

//验证密码
function regexPassword(password) {
	
	var regex = /^[\x00-\x19\x21-\x7f]*$/;
	if(!regex.test(password)) {
		//document.getElementById('dd2').innerHTML = "<font color=red>密码含有非法字符</font>";
		return PDstate = -2;
	}
	if(password.length<6){
		//document.getElementById('dd2').innerHTML = "<font color=red>密码不能小于6位!</font>";
		return PDstate = -3;
	}
	if(password.length>12){
		//document.getElementById('dd2').innerHTML = "<font color=red>密码不能大于12位!</font>";
		return PDstate = -4;
	}
	
	var regex1 = /^[a-zA-Z0-9]{6,12}$/;
	if(!regex1.test(password)) {
		//document.getElementById('dd2').innerHTML = "<font color=red>密码必须含有字母和数字</font>";
		return PDstate = -5;
	}

	var passportPswd = document.getElementById("passportPswd1");
	if(passportPswd.value != ""){	
		if(passportPswd.value != password){
			//document.getElementById('dd2').innerHTML = "<font color=red>密码不匹配</font>";
			return PDstate = -1;
		}
		//document.getElementById('dd2').innerHTML = "<font color=blue>密码确认成功</font>";
		return PDstate = 1;	
	}else{
		//document.getElementById('dd2').innerHTML = "<font color=blue>密码可用</font>";
		return  true;	
	}	
	
}

/*-=================================================================================================-*/

//验证真实姓名
var RNstate = 1;
function regexrealName(realName) {
	
	 if(realName == ""){
		return false;
	 }
	var len = realName.length;
	var regex = /[0-9]{1,}/;
	if(regex.test(realName)) {

		return RNstate = -1;
	}
	if(len > 8) {
		return RNstate = -2;
	}
	if(len < 2) {
		return RNstate = -3;
	}
	return RNstate = 1;	

}



//验证身份证号码
var ICstate = 1;
function regexIDCard(strID) {
	
	//验证各位字符是否合法的正则表达式
	ReDigital15 = /\d{15}/;
	ReDigital18 = /\d{17}[0-9xX]{1}/;
	//提取日期和校验的正则表达式
	ReDate15 = /\d{6}(\d{6})\d{3}/;
	ReDate18 = /\d{6}(\d{8})\d{3}/;
	switch (strID.length) {
	  case 15:
			if (ReDigital15.test(strID) == false) {
				//return "对不起，您输入的身份证号码无效！";
				//alert("对不起，您输入的身份证号码无效！");
				return ICstate = -1;
			}
			Arr = ReDate15.exec(strID);
			strDate = "19" + Arr[1];
			if (CheckDate(strDate, new Date(1900, 0, 1), new Date()) == false) {
				//return "对不起，您输入的身份证号码无效！";
				//alert("对不起，您输入的身份证号码无效！");
				return ICstate = -1;
			}
			return ICstate = 1;
	  break;
	  case 18:
			if (ReDigital18.test(strID) == false) {
				//return "对不起，您输入的身份证号码无效！";
				//alert("对不起，您输入的身份证号码无效！");
				return ICstate = -1;
			}
			Arr = ReDate18.exec(strID);
			strDate = Arr[1];
			if (CheckDate(strDate, new Date(1900, 0, 1), new Date()) == false) {
				//return "对不起，您输入的身份证号码无效！";
				//alert("对不起，您输入的身份证号码无效！");
				return ICstate = -1;
			}
			if (CheckSum(strID) == false) {
				//return "对不起，您输入的身份证号码无效！";
				//alert("对不起，您输入的身份证号码无效！");
				return ICstate = -1;
			}
			return ICstate = 1;
	  break;
	  default:
			//return "对不起，您输入的身份证号码无效！";
			//alert("对不起，您输入的身份证号码无效！");
			return ICstate = -1;
	   break;
	}
	return "";
	
}

//对身份证的校验位进行验证

function CheckSum(strID) {
	//debugger;
	//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表示日期无效。
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})/;
	//debugger;
	if (strDate.indexOf("-") > -1) {
		if (ReAutoDate.test(strDate) == false) {
			return false;
		}
		//Arr = ReGetDate.exec( strDate );
		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;
	}
}


//验证邮箱
var EMstate = 1;
function regexEmail(Email) {
	
	 if(Email == ""){
		return false;
	 }
	var regex = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/;
	if(!regex.test(Email)) {
		return EMstate = -1;
	}
	return EMstate = 1;	
	
}

    function changeImg() {
	    var img = document.getElementById("imgVerify");
	    img.src = "./img.php?" + 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('Cannot create an XMLHTTP instance');
            return false;
        }
        return http_request;
    }
    
    function reg() {
  
	  if (onSubmit()) {
		
		var passportName = document.getElementById('passportName').value;
		var passportPswd = document.getElementById('passportPswd').value;
		var realName = document.getElementById('realName').value;
		var IDCard = document.getElementById('IDCard').value;
		var validate = document.getElementById('validate').value;
		
		var url = "./reg.poxy.php"; 
		//var url = "./reg.poxy.php"; 
        var str = 'passportName='+passportName+'&passportPswd='+passportPswd+'&realName='+realName+'&IDCard='+IDCard+'&validate='+validate+'&id='+request('id');

        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:
                            //alert('注册成功！');
							regSuccessfull();
				            document.getElementById('passportName').value = '';
				            document.getElementById('passportPswd').value = '';
				            document.getElementById('passportPswd1').value = '';
				            document.getElementById('realName').value = '';
				            document.getElementById('IDCard').value = '';
				            document.getElementById('validate').value = '';
				            document.getElementById('protocol').checked = true;
				            changeImg();
                            break;
                        case 2002:
                            alert('验证码错误！');
                            break;                       
                        case 1009:
                            alert('用户已存在');
                            break;                     
                        case -999:
                            alert('对不起，服务器响应超时，请重试！');
                            break; 
                        default:
                            alert('注册失败！');
                            break; 
                    }
                }                
        　　}
      }
		
	}

	return false;
}
function checkAuthcode(){return true;}
function regSuccessfull()
{
	obj=document.getElementById("forbid");
	var width=document.body.clientWidth;
	var height=document.body.clientHeight;
	obj.style.width=width+"px";
	obj.style.height=height+"px";
	obj.style.visibility = "visible";
	var okobj=document.getElementById("reg_ok");
	okobj.style.display = "block";	
	okobj.style.top = "500px";	
	okobj.style.left = "500px";
}
function closeAppDiv(){	
	var obj=document.getElementById("forbid");	
	var okobj=document.getElementById("reg_ok");
	okobj.style.display = "none";
	obj.style.visibility = "hidden";
}
