//作者：李劲剑
//日期：2007-08-31


//功能：点击输入框时旁边的提示变色
function inputAlt(tableId) {
	var tId = parseInt(tableId);
	for (var i = 1; i <= 2; 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 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,6,30)){
		alert("请输入正确的密码保护问题");
		return false;
	}
	
	if(!checkInput(answer,6,30)){
		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 = "image.jsp?"+Math.random()*10000;
}

//功能：通过ajax检测此用户是否可以注册
function checkUserExist(){
    var userName = document.getElementById("userName");
    if(!checkInput(userName,4,16)){
		 showMessage("<font color=\"#FF0000\">   用户名长度在4-16位，仅限小写字母和数字，必须以小写字母开头。</font>");
		 return;
    }
	if(!checkUser(userName)){
		showMessage("<font color=\"#FF0000\">   用户名长度在4-16位，仅限小写字母和数字，必须以小写字母开头。</font>");
		return;
	}
  var url = "checkUserExist.jsp?userName=" + userName.value;
	callServer(url);
}

//功能：检测输入的密码
function checkPasswd(){
	var passwd = document.getElementById("passwd");
    var confirmPasswd = document.getElementById("confirmPasswd");
  
    if(!checkInput(passwd,6,14)){
		 showCheckPasswdMessage("<span style='color:#f30'>密码由6-14个字符组成，区分大小写，不能使用重复或者连续的字母和数字。</span>");
		 return;
    }
	
	if(isSames(passwd.value)){
        if(!isConStr(passwd.value)){
			showCheckPasswdMessage("<span style='color:#f30'>密码不能使用连续字符串。</span>");	
			return;
	    }
	}else{
		showCheckPasswdMessage("<span style='color:#f30'>密码不能使用连续字符串。</span>");	
		return;
	}
	
	showCheckPasswdMessage("<span style='color:#f30'>密码输入格式正确，请再次输入密码。</span>");
	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 checkQuestion(){
	var question = document.getElementById("question");
	
	if(!checkInput(question,6,30)){
		showVerifyQandAMessage("<font color=\"#FF0000\">密码保护问题至少5个英文字符或3个中文字符。</font>");
		return;
	}
	
	showVerifyQandAMessage("<font color=\"#0000FF\">密码保护问题格式正确，请输入密码保护问题答案。</font>");
}

//功能：检测忘记密码答案
function checkAnswer(){
    var question = document.getElementById("question");
    var answer = document.getElementById("answer");
	
	if(!checkInput(answer,6,30)){
		showVerifyQandAMessage("<font color=\"#FF0000\">密码保护答案至少5个英文字符或3个中文字符。</font>");
		return;
	}
	
	if(checkInput(question,6,30) && checkInput(answer,6,30)){
		showVerifyQandAMessage("<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>");
		    	break;
		    	case -2:
				showMessage("<font color=\"#FF0000\">该用户名已被注册，请重新输入。</font>");
			    break;		    	
		    	default:
				showMessage("<font color=\"#0000FF\">该用户名可用。</font>");
		    	break;
		    }
		}
	}
}

//检测用户名显示进度提示信息
function showMessage(msg){
	var obj = document.getElementById("verifyUserName");
	if(obj != undefined){
		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 showVerifySafetyEmailMessage(msg){
	var obj = document.getElementById("verifySafetyEmail");
	if(obj != undefined){
		obj.innerHTML = msg;
	}
}

//加载信息
function loadMsg(readyState){
	var state = parseInt(readyState);
	
	var responseText = "";
	var responseHtml = "<span>";
    
	switch (state) {
		case 0:
		responseText = "初始化...";
		break;
		case 1:
		responseText = "正在检测用户名，请稍后...";
		break;
		case 2:
		responseText = "已加载...";
		break;
		case 3:
		responseText = "正在请求服务器...";
		break;
		default:
		responseText = "加载完成，如果没有响应，请刷新浏览器重试...";
		break;
	}
	responseHtml += "状态:";
    responseHtml +=  responseText ;
	responseHtml += "</span>";
	
	showMessage(responseHtml);
}

//响应回车
document.onkeydown = function()
{   
    if(window.event.keyCode == 13){
       document.all.imageField.focus();
    }
}
