//作者：李劲剑
//日期：2007-08-31


//功能：点击输入框时旁边的提示变色
function inputAlt(tableId) {
	var tId = parseInt(tableId);
	for (var i = 1; i <= 7; i++) {
		var tableAlt = "tableAlt" + i;
		var obj = document.getElementById(tableAlt);
		if (obj != undefined) {		    
			if (i == tId) {
				obj.className = 'banblue';
			} else {
				obj.className = "banash";
			}
		}
	}
}

//功能：校验输入的字符
function checkSubmit(){
    //接收参数
    var userName = document.getElementById("userName");
    var passwd = document.getElementById("passwd");
    var confirmPasswd = document.getElementById("confirmPasswd");
//    var birthdayYear = document.getElementById("birthdayYear");
    var question = document.getElementById("question");
    var answer = document.getElementById("answer");
	var realName = document.getElementById("realName");
	var pid = document.getElementById("pid");
	var address = document.getElementById("address");
	var officeNum = document.getElementById("officeNum");
//    var safetyEmail = document.getElementById("safetyEmail");
    var verifyCode = document.getElementById("verifyCode");
    var agree = document.getElementById("agree");
    
    //校验输入的参数
    if(!checkInput(userName,4,16)){
		alert("请输入正确的用户名");
		return false;
	}
	
	if(!checkUser(userName)){
		alert("请输入正确的用户名，只能是英文或数字而且是小写英文开头");
		return false;
	}
	
	if(!checkInput(passwd,6,14)){
		alert("请输入正确的密码");
		return false;
	}
	
	//if(!checkInput(confirmPasswd,6,14)){
		//alert("密码输入格式正确，请再次输入密码");
		//return false;
	//}
	
	if(isSames(passwd.value)){
        if(!isConStr(passwd.value)){
			alert("密码不能使用连续字符串");
			return false;
	    }
	}else{
		alert("密码不能使用连续字符串");
		return false;
	}
	
	if(!isEqual(passwd,confirmPasswd)){
		alert("两个密码不相符");
		return false;
	}
	
	//if(!checkInput(birthdayYear,4,4)){
	//	alert("请输入正确的出生年份");
	//	return false;
	//}
	/*
	//取得今年日期	
	var d = new Date()
    var yearNow = d.getFullYear();
	var yn = parseInt(yearNow);
	var by = parseInt(birthdayYear.value);
	
	if(isInt(birthdayYear)){
		alert("请输入正确的出生年份");
		return false;	
	}
	
	if(!checkInt(birthdayYear,1900,yn)){
		alert("请输入正确的出生年份");
		return false;
	}    
	*/
	if(!checkInput(question,4,30)){
		alert("请输入正确的密码保护问题");
		return false;
	}
	
	if(!checkInput(answer,4,30)){
		alert("请输入正确的密码保护答案");
		return false;
	}
	/*
	if(checkNone(realName)  && !checkInput(realName,4,40)){
		alert("请输入正确的姓名");
		return false;
	}
	if(checkNone(pid) && !checkInput(pid,4,40)){
		alert("请输入正确的身份证号码");
		return false;
	}
	if(checkNone(address) && !checkInput(address,4,400)){
		alert("请输入正确的联系地址");
		return false;
	}
	*/
   if(checkNone(officeNum) && !checkInput(officeNum,2,40)){
		alert("您输入的联络电话号码长度错误");
		return false;
	}

	if(!checkNum(officeNum)){
			alert("联络电话仅限数字");
			return false;
    }

	/*
	if(!checkInput(safetyEmail,4,40)){
		alert("请输入正确的安全邮箱");
		return false;
	}
	
	if(!checkEmail(safetyEmail)){
		alert("您输入的安全邮箱格式不正确");
		return false;
	}	
	*/
	if(!checkInput(verifyCode,4,4)){
		alert("请输入正确的验证码");
		return false;
	}
	
	if(agree.checked == false){
		alert("同意21CN协议才能注册");
		return false;
	}
	
	return true;
}

//更换验证码
function changeVerifyCode(){
    document.getElementById("verifyCodeImg").src ="image1.jsp?"+ Math.random()*10000;
}

//功能：通过ajax检测此用户是否可以注册
function checkUserExist(){
    var userName = document.getElementById("userName");
  
  	//alert(userName.value);
    if(!checkInput(userName,4,16)){
		 //alert("checkInput");
		 showMessage("<font color=\"#FF0000\">用户名长度在4-16位，仅限小写字母和数字，必须以小写字母开头。</font>");
		 return;
    }
	//alert(checkUser(userName));
	if(!checkUser(userName)){
		//alert("INTOcheckUser");
		showMessage("<font color=\"#FF0000\">用户名长度在4-16位，仅限小写字母和数字，必须以小写字母开头。</font>");
		//showMessage("用户名长度在4-16位，仅限小写字母和数字，必须以小写字母开头。");
		return;
	}

    var url = "checkUserExist.jsp?userName=" + userName.value;
	//alert(url);
	//调用 ajax
	callServer(url);
}

//功能：检测输入的密码
function checkPasswd(){
	var passwd = document.getElementById("passwd");
    var confirmPasswd = document.getElementById("confirmPasswd");
  
    if(!checkInput(passwd,6,14)){
		 showCheckPasswdMessage("<font color=\"#FF0000\">密码由6-14个字符组成，区分大小写，不能使用重复或者连续的字母和数字。</font>");
		 return;
    }
	
	if(isSames(passwd.value)){
        if(!isConStr(passwd.value)){
			showCheckPasswdMessage("<font color=\"#FF0000\">密码不能使用连续字符串。</font>");	
			return;
	    }
	}else{
		showCheckPasswdMessage("<font color=\"#FF0000\">密码不能使用连续字符串。</font>");	
		return;
	}
	
	showCheckPasswdMessage("<font color=\"#0000FF\">密码输入格式正确，请再次输入密码。</font>");
	
	//清空确认密码
	confirmPasswd.value = "";
}

//检测确认密码
function checkConfirmPasswd(){
	var passwd = document.getElementById("passwd");
    var confirmPasswd = document.getElementById("confirmPasswd");
	
	if(!checkInput(confirmPasswd,6,14)){
		showCheckPasswdMessage("<font color=\"#FF0000\">确认密码由6-14个字符组成，区分大小写，不能使用重复或者连续的字母和数字。</font>");
		 return;
    }
	
	if(!isEqual(passwd,confirmPasswd)){
        showCheckPasswdMessage("<font color=\"#FF0000\">密码与确认密码不相符。</font>");
		return;
	}
	
	if(isSames(passwd.value)){
        if(!isConStr(passwd.value)){
			showCheckPasswdMessage("<font color=\"#FF0000\">密码不能使用连续字符串。</font>");	
			return;
	    }
	}else{
		showCheckPasswdMessage("<font color=\"#FF0000\">密码不能使用连续字符串。</font>");	
		return;
	}
	
	showCheckPasswdMessage("<font color=\"#0000FF\">输入密码和确认密码正确。</font>");
}

//功能：根据下拉框设置密码问题，选择自定义时候，显示问题输入框。
function setQuestion(){
	var selValue = document.getElementById("quesel").value;
	if("custom"==selValue){
		document.getElementById("question").value="";
		document.getElementById("cus_question").style.display="";
	}else{
		document.getElementById("question").value=selValue;
		document.getElementById("cus_question").style.display="none";
	}
}



//功能：检测忘记密码问题
function checkQuestion(){
	var question = document.getElementById("question");
	
	if(!checkInput(question,4,30)){
		showVerifyQandAMessage("<font color=\"#FF0000\">密码保护问题至少4个英文字符或2个中文字符。</font>");
		return;
	}
	
	showVerifyQandAMessage("<font color=\"#0000FF\">密码保护问题格式正确，请输入密码保护问题答案。</font>");
}

//功能：检测忘记密码答案
function checkAnswer(){
    var question = document.getElementById("question");
    var answer = document.getElementById("answer");
	
	if(!checkInput(answer,4,30)){
		showVerifyQandAMessage("<font color=\"#FF0000\">密码保护答案至少4个英文字符或2个中文字符。</font>");
		return;
	}
	
	if(checkInput(question,4,30) && checkInput(answer,4,30)){
		showVerifyQandAMessage("<font color=\"#0000FF\">密码保护问题和密码保护答案格式正确。</font>");
	}
}
//功能：检测输入的真实姓名
function checkRealName(){
	var realName = document.getElementById("realName");
	if(checkNone(realName)){
		if(!checkInput(realName,4,40)){
			showVerifyRealNameMessage("<font color=\"#FF0000\">请输入正确的姓名。</font>");
			return;
		}
		showVerifyRealNameMessage("<font color=\"#0000FF\">您输入的姓名格式正确。</font>");
	}else{
		showVerifyRealNameMessage("<font color=\"#0000FF\">请输入您的真实姓名。</font>");
	}
}
//功能：检测输入的身份证件
function checkPid(){
	var pid = document.getElementById("pid");
	if(checkNone(pid)){
		if(!checkInput(pid,4,40)){
			showVerifyPidMessage("<font color=\"#FF0000\">您输入的身份证号码长度过短。</font>");
			return;
		}
		if(checkChar(pid)){
		}else{
			showVerifyPidMessage("<font color=\"#FF0000\">身份证号码仅限字母和数字。</font>");
			return;
		}
	
		showVerifyPidMessage("<font color=\"#0000FF\">您输入的身份证号码格式正确。</font>");
	}else{
		showVerifyPidMessage("<font color=\"#0000FF\">请输入您的身份证号码。</font>");
	}
}

//功能：检测输入的联系地址
function checkAddress(){
	var address = document.getElementById("address");
	
	if(checkNone(address)){
		if(!checkInput(address,4,400)){
		showVerifyAddressMessage("<font color=\"#FF0000\">请输入正确的联系地址。</font>");
		return;}
		showVerifyAddressMessage("<font color=\"#0000FF\">您输入的联系地址格式正确。</font>");
	}else{
		showVerifyAddressMessage("<font color=\"#0000FF\">请输入您的联系地址。</font>");
	}
}

//功能：检测输入的联系电话
function checkOfficeNum(){
	var officeNum = document.getElementById("officeNum");
		officeNumTip = document.getElementById("tableAlt6");
	
	if(checkNone(officeNum)){
		if(!checkInput(officeNum,2,40)){
			officeNumTip.style.display="";
			showVerifyOfficeNumMessage("<font color=\"#FF0000\">联络电话长度错误。</font>");
			return;
		}
		if(!checkNum(officeNum)){
			officeNumTip.style.display="";
			showVerifyOfficeNumMessage("<font color=\"#FF0000\">联络电话仅限数字。</font>");
			return;
		}
		officeNumTip.style.display="none";
		showVerifyOfficeNumMessage("<font color=\"#0000FF\"></font>");
		//您输入的联络电话号码格式正确。
	}else{
		officeNumTip.style.display="none";
		showVerifyOfficeNumMessage("<font color=\"#0000FF\"></font>");
		//请输入您的联络电话号码。
	}
}


//功能：检测输入的安全邮箱
function checkSafetyEmail(){
	var safetyEmail = document.getElementById("safetyEmail");
	
	if(!checkInput(safetyEmail,4,40)){
		showVerifySafetyEmailMessage("<font color=\"#FF0000\">请输入正确的电子邮箱。</font>");
		return;
	}
	
	if(!checkEmail(safetyEmail)){
		showVerifySafetyEmailMessage("<font color=\"#FF0000\">您输入的邮箱格式不正确。</font>");
		return;
	}
	showVerifySafetyEmailMessage("<font color=\"#0000FF\">您输入的邮箱格式正确。</font>");
}

//处理ajax返回信息
function serverResponse(){
	//显示进度信息
	loadMsg(xmlHttp.readyState);
	
	if(xmlHttp.readyState == 4){
		//判断对象状态
		if(xmlHttp.status == 200){
			//清空进度提示信息
			showMessage("");
			//显示指定图层状态			
			var responseCode = parseInt(xmlHttp.responseText);
			switch (responseCode) {
		    	case -1:
		    	showMessage("<font color=\"#FF0000\">您输入的用户名格式不正确。</font>");
		    	//showMessage("您输入的用户名格式不正确。");
		    	break;
		    	case -2:
				showMessage("<font color=\"#FF0000\">您输入的用户名已经注册，请重新输入。</font>");
				//showMessage("您输入的用户名已经注册，请重新输入。");
			    break;		    	
		    	default:
				showMessage("<font color=\"#0000FF\">此用户名可用。</font>");
				//showMessage("此用户名可用。");
		    	break;
		    }
		}
	}
}

//检测用户名显示进度提示信息
function showMessage(msg){
	var obj = document.getElementById("verifyUserName");
	
	
	if(obj != undefined){
		//alert(msg);
		obj.innerHTML = msg;
	}
}

//检测密码时显示的信息
function showCheckPasswdMessage(msg){
	var obj = document.getElementById("verifyPasswd");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}

//检测忘记密码问题时显示的信息
function showVerifyQandAMessage(msg){
	var obj = document.getElementById("verifyQandA");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}
//检测真实姓名时显示的信息
function showVerifyRealNameMessage(msg){
	var obj = document.getElementById("verifyRealName");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}

//检测身份证号码时显示的信息
function showVerifyPidMessage(msg){
	var obj = document.getElementById("verifyPid");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}

//检测联系地址时显示的信息
function showVerifyAddressMessage(msg){
	var obj = document.getElementById("verifyAddress");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}
//检测身份证号码时显示的信息
function showVerifyOfficeNumMessage(msg){
	var obj = document.getElementById("verifyOfficeNum");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}
//检测安全邮箱时显示的信息
function showVerifySafetyEmailMessage(msg){
	var obj = document.getElementById("verifySafetyEmail");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}


//加载信息
function loadMsg(readyState){
	var state = parseInt(readyState);
	
	var responseText = "";
	var responseHtml = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr>";
    
	switch (state) {
		case 0:
		responseText = "初始化...";
		break;
		case 1:
		responseText = "正在检测用户名，请稍后...";
		break;
		case 2:
		responseText = "已加载...";
		break;
		case 3:
		responseText = "正在请求服务器...";
		break;
		default:
		responseText = "加载完成，如果没有响应，请刷新浏览器重试...";
		break;
	}
	responseHtml += "<td width=\"12%\"><img src=\"uud_images/load.gif\" border=\"0\"></td>";
    responseHtml += "<td class=\"12BLACK\">"+ responseText +"</td>";
	responseHtml += "</tr></table>";
	
	showMessage(responseHtml);
}

function creRandstr(len,great,small,num){
	var RandArray=new Array(); 
	var RandStr; 
	var i; 

	RandArray[0]="" 
	RandArray[1]= "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"; 
	RandArray[2]= "a b c d e f g h i j k l m n o p q r s t u v w x y z"; 
	RandArray[3]= "0 1 2 3 4 5 6 7 8 9"; 

	if (!great&&!small&&!num){great=true;small=true;num=true;} 

	if (great){
		RandArray[0]+=RandArray[1];
	} 
	if (small){
		RandArray[0]+=" "+RandArray[2];
	} 
	if (num){
		RandArray[0]+=" "+RandArray[3];
	} 

	RandArray[0]= RandArray[0].split(" "); 
	RandStr="" 
	for (i=0;i<len;i++) 
	{ 
		RandStr+=RandArray[0][Math.round(Math.random( )*(RandArray[0].length-1))] 
	} 
	return RandStr; 
} 

function changeVerCode(t){
		var randid = creRandstr(32,false,true,true);
		if(document.getElementById("verifyCodeImg") == null){
				document.getElementById("verifyCode").value = "";
				var imgspan ='<img src="/ImageServlet?id='+randid+'" id="verifyCodeImg" border="0" align="middle">&nbsp;看不清楚？<a href="javascript:changeVerCode(2)">换个图片</a>';
				document.getElementById("verifyspan").innerHTML = imgspan;
				document.getElementById("randImgId").value = randid;
		}
		if (t != 1){
   		 document.getElementById("verifyCodeImg").src ="/ImageServlet?id="+ randid;
   		 document.getElementById("randImgId").value = randid;
  	}
}
//响应回车
document.onkeydown = function(event)
{   
		var eve = event || window.event; 
    if(eve.keyCode == 13){
       document.all.imageField.focus();
    }
}

function showSafeInfo(type){
	var safeInfo = document.getElementById("safeInfo");
	SafeInfoFlag = document.getElementById("SafeInfoFlag");
		if(type==1){//非点击
			if(SafeInfoFlag.value!=0){//非点击非第一次
				if(SafeInfoFlag.value==2){
					setSafeItemDisplay("");
				}else{
					setSafeItemDisplay("none");
					document.getElementById("realName").value="";
					document.getElementById("pid").value="";
					document.getElementById("address").value="";
					document.getElementById("officeNum").value="";
					document.getElementById("tableAlt6").style.display="none";
				}
			}else{//非点击第一次
					SafeInfoFlag.value=1;
					setSafeItemDisplay("none");
					document.getElementById("realName").value="";
					document.getElementById("pid").value="";
					document.getElementById("address").value="";
					document.getElementById("officeNum").value="";
					document.getElementById("tableAlt6").style.display="none";
			}
		}else{//点击
			if(SafeInfoFlag.value==1){
					setSafeItemDisplay("");
					SafeInfoFlag.value=2;
				}else{
					setSafeItemDisplay("none");
					document.getElementById("realName").value="";
					document.getElementById("pid").value="";
					document.getElementById("address").value="";
					document.getElementById("officeNum").value="";
					document.getElementById("tableAlt6").style.display="none";
					SafeInfoFlag.value=1;
				}
		}
}
function setSafeItemDisplay(disp){
	var item1 = document.getElementById("safeItem1");
	var item2 = document.getElementById("safeItem2");
	var item3 = document.getElementById("safeItem3");
	var item4 = document.getElementById("safeItem4");
	item1.style.display=disp;
	item2.style.display=disp;
	item3.style.display=disp;
	item4.style.display=disp;
}


function showSafeInfo2(){
	var safeInfo = document.getElementById("safeInfo");
	if(safeInfo.checked==true){
		setSafeItemDisplay2("");
	}else{
		setSafeItemDisplay2("none");
		document.getElementById("realName").value="";
		document.getElementById("pid").value="";
		document.getElementById("address").value="";
		document.getElementById("officeNum").value="";
	}
}

function setSafeItemDisplay2(disp){
	var item= document.getElementById("safeItem");
	item.style.display=disp;
}