function fLen(Obj){
	var nCNLenth = 0;
	var nLenth = Obj.length;
	for (var i=0; i<nLenth; i++){
		if(Obj.charCodeAt(i)>255){
			nCNLenth += 2; 
		}else{
			nCNLenth++;
		}
	}
	return nCNLenth;
}
function fGetEvent (e) {
	var ev = e || window.event;
	if (!ev) {
		var aCaller = [];
		var c = fGetEvent.caller;
		while (c) {
			ev = c.arguments[0];
			if (ev && Event == ev.constructor) {
				break;
			}
			var b = false;
			for(var i=0;i<aCaller.length;i++){
				if(c == aCaller[i]){
					b = true;
					break;
				}
			}
			if(b){
				break;
			}else{
				aCaller.push(c);
			}
			c = c.caller;
		}
	}
	return ev;
}
function chkSecAnswer(){
	var val = $.trim($("#secanswer").val());
	if(fLen(val)==0){
		return 0;
	}
	else if(fLen(val)<4 || fLen(val)>30){
		return -1;
	}
	else return 1;
}
function chkPassword(){
	password= $("#password").val();
	if(password == "") return 0;
	var len;
	var i;
	var isPassword = true;
	len = 0;
	for (i=0;i<password.length;i++){
		if (password.charCodeAt(i)>255) isPassword = false;
	}
	if(!isPassword || password.length > 16 || password.length < 6)
		return -1;
	return 1;
}
function chkPasswordStrong(me) {
	$("#div_passwordconfirm_err").hide();
	$("#passwordconfirm").attr("class","inp ipt-normal");
	$("#passwordconfirm_ico_ok").hide();
	$("#passwordconfirm_ico_err").hide();
	$("#password_ico_ok").hide();
	$("#password_ico_err").hide();
	$("#div_password_err").hide();
	$("#div_password_err_info").html("");
	$("#password").attr("class","inp ipt-normal");
	$("#div_password_rule").show();
	var csint = checkStrong(me);
	$("#div_passowrd_Strong").attr("class","bar state"+csint);
}
function chkPasswordconfirm(){
	var password= $("#password").val();
	var passwordconfirm = $("#passwordconfirm").val();
	if(password != passwordconfirm){
		$("#div_passwordconfirm_err").show();
		$("#passwordconfirm").attr("class","inp ipt-error");
		$("#passwordconfirm_ico_ok").hide();
		$("#passwordconfirm_ico_err").show();
		return false;
	}
	else if(passwordconfirm==''){
		$("#div_passwordconfirm_err").hide();
		$("#passwordconfirm").attr("class","inp ipt-normal");
		$("#passwordconfirm_ico_ok").hide();
		$("#passwordconfirm_ico_err").hide();
	}else {
		$("#div_passwordconfirm_err").hide();
		$("#passwordconfirm").attr("class","inp ipt-normal");
		
		$("#passwordconfirm_ico_err").hide();
		if($("#password_ico_err").is(":visible")){
			$("#passwordconfirm_ico_ok").hide();
		}
		else $("#passwordconfirm_ico_ok").show();
	}
	return true;
}
function CharMode(iN){ 
	if (iN>=48 && iN <=57)
	return 1; 
	if (iN>=65 && iN <=90)
	return 2; 
	if (iN>=97 && iN <=122)
	return 4; 
	else 
	return 8;
}
function bitTotal(num){
	modes=0; 
	for (i=0;i<4;i++){ 
		if (num & 1) modes++; 
		num>>>=1; 
	} 
	return modes; 
}
function checkStrong(sPW){
	Modes=0; 
	for (i=0;i<sPW.length;i++){ 
		Modes|=CharMode(sPW.charCodeAt(i)); 
	} 
	return bitTotal(Modes);
}
var checkuser=false;
$(function(){
	$("#username").blur(function(){
		var username = $.trim($("#username").val());
		$("#username").attr("class","inp ipt-focus");
		if(fLen( username )<5){
			$("#div_upwd_err").show();
			$("#div_upwd_err_info").html("请输入合法的用户名或邮箱");
		}else{
			$("#username").attr("class","inp ipt-normal");
			$("#div_upwd_err").hide();
			$("#div_upwd_err_info").html("");
			checkuser=true;
		}
	});
	$("#cusproblem").bind("focus",function(){
		$("#cusproblem").addClass("inp ipt-normal");
		$("#cusproblem_ico_err").hide();
		$("#cusproblem_ico_ok").hide();
		$("#div_cusproblem_err").hide();
		$("#div_cusproblem_rule").show();
		return false;
	});
	$("#cusproblem").bind("keydown",function(event){
		event = event ? event : (window.event ? window.event : null);
		var k = event.keyCode;
		if (8 != k && !(event.ctrlKey && (k == 65 || k == 67 || k == 88)) && 46 != k && 37 != k && 39 != k && 35 != k && 36 != k && !(event.shiftKey && (k == 35 || k == 36))) {
			var val = $.trim($("#cusproblem").val());
			if(fLen(val) >= 36) {
				if(event.preventDefault) {    
					event.preventDefault();    
					event.stopPropagation();    
				} else {    
					event.cancelBubble=true;    
					event.returnValue = false;    
				}
				return false;
			}
		}
		return true;
	});
	$("#cusproblem").bind("blur",function(){
		$("#cusproblem").attr("class","inp ipt-normal");
		ret=chkCustomProblem();
		if(ret==0){
			$("#cusproblem").attr("class","inp ipt-normal");
			$("#cusproblem_ico_err").hide();
			$("#cusproblem_ico_ok").hide();
			$("#div_cusproblem_err").hide();
			$("#div_cusproblem_rule").hide();
		}
		else if(ret<0){
			$("#cusproblem").attr("class","inp ipt-error");
			$("#cusproblem_ico_err").show();
			$("#cusproblem_ico_ok").hide();
			$("#div_cusproblem_err").show();
			if (-1 == ret) {
				$("#div_cusproblem_err_info").html("长度太短:6～36个字符,一个汉字占两个字符");
			} else {
				$("#div_cusproblem_err_info").html("长度太长:6～36个字符,一个汉字占两个字符");
			}
			$("#div_cusproblem_rule").hide();
		}else {
			$("#cusproblem").attr("class","inp ipt-normal");
			$("#cusproblem_ico_err").hide();
			$("#cusproblem_ico_ok").show();
			$("#div_cusproblem_err").hide();
			$("#div_cusproblem_rule").hide();
			$("#div_cusproblem_err_info").html("");
		}
	});
	$("#secanswer").bind("focus",function(){
		$("#secanswer").addClass("inp ipt-normal");
		$("#secanswer_ico_err").hide();
		$("#secanswer_ico_ok").hide();
		$("#div_secanswer_err").hide();
		$("#div_secanswer_rule").show();
		return false;
	});
	$("#secanswer").bind("blur",function(){
		$("#secanswer").attr("class","inp ipt-normal");
		ret=chkSecAnswer();
		if(ret==0){
			$("#secanswer").addClass("inp ipt-normal");
			$("#secanswer_ico_err").hide();
			$("#secanswer_ico_ok").hide();
			$("#div_secanswer_err").hide();
			$("#div_secanswer_rule").hide();
		}
		else if(ret<0){
			$("#secanswer").addClass("inp ipt-error");
			$("#div_secanswer_rule").hide();
			$("#secanswer_ico_err").show();
			$("#secanswer_ico_ok").hide();
			$("#div_secanswer_err").show();
			$("#div_secanswer_err_info").html("问题答案是:4～30个字符,一个汉字占两个字符");
		}
		else {
			$("#secanswer").addClass("inp ipt-normal");
			$("#secanswer_ico_err").hide();
			$("#secanswer_ico_ok").show();
			$("#div_secanswer_err").hide();
			$("#div_secanswer_rule").hide();
		}
	});
	$("#password").bind("focus", function(){
		ret = chkPassword();
		$("#password").attr("class","inp ipt-focus");
		if(ret==0){
			if($("#password_ico_err").is(":visible")){
				$("#div_password_err").hide();
				$("#password_ico_err").hide();
			}
			$("#div_password_rule").show();
			$("#div_passwordconfirm_err").hide();
			$("#passwordconfirm").attr("class","inp ipt-normal");
			$("#passwordconfirm").attr("value","");
			$("#passwordconfirm_ico_ok").hide();
			$("#passwordconfirm_ico_err").hide();
		}else if(ret>0) {
			chkPasswordStrong($("#password").val());
		}
		return false;
	});
	$("#password").bind("blur", function(){
		ret = chkPassword();
		if(ret>0){
			$("#password").attr("class","inp ipt-normal");
			$("#password_ico_ok").show();
			$("#password_ico_err").hide();
			$("#div_password_rule").hide();
			$("#div_password_err").hide();
			$("#div_password_err_info").html("");
		}else {
			if(ret==0){
				$("#password").attr("class","inp ipt-normal");
				$("#password_ico_ok").hide();
				$("#password_ico_err").hide();
				$("#div_password_rule").hide();
				$("#div_password_err").hide();
				$("#div_password_err_info").html("");
			}else if(ret==-1){
				$("#password").attr("class","inp ipt-error");
				$("#password_ico_ok").hide();
				$("#password_ico_err").show();
				$("#div_password_rule").hide();
				$("#div_password_err").show();
				$("#div_password_err_info").html("请输入6～16位字符的密码");
			}
		}
		return false;
	});
	$("#password").bind("keyup", function(){
		$("#passwordconfirm").attr("value","");
		chkPasswordStrong($("#password").val());
		return false;
	});
	$("#passwordconfirm").bind("blur",function(){
		$("#passwordconfirm").attr("class","inp ipt-normal");
		return chkPasswordconfirm();
	});
});
function doForgotpwdFormSubmit(){
	var username = $.trim($("#username").val());
	if(checkuser==true){
		$.ajax({
			url: 'post.php',
			type: 'post',
			data:{username:username,type:'forgotpwd'},
			dataType: 'text',
			error: function(){alert('查询用户名出错!');},
			success: function(result){
				if(result=='user'){
					$("#div_upwd_err").show();
					$("#div_upwd_err_info").html("你输入的用户名不存在");
				}else if(result=='email'){
					$("#div_upwd_err").show();
					$("#div_upwd_err_info").html("你输入的邮箱不存在");
				}else if(result=='err'){
					alert('非法提交!');
					document.getElementById("btnedit").disabled=true;
				}else{
					document.getElementById("btnedit").disabled=false;
					location.href = 'http://' + location.hostname + '/forgotpwd.php' + result;
				}
			}
		});
	}else{
		$("#div_upwd_err").show();
		$("#div_upwd_err_info").html("请输入合法的用户名或邮箱");
		return false;
	}
}
function goForgotpwdFormSubmit(){
	ret=chkSecAnswer();
	if(ret<1){
		$("#secanswer").addClass("inp ipt-error");
		$("#div_secanswer_rule").hide();
		$("#secanswer_ico_err").show();
		$("#secanswer_ico_ok").hide();
		$("#div_secanswer_err").show();
		$("#div_secanswer_err_info").html("问题答案是:4～30个字符,一个汉字占两个字符");
		return false;
	}
	ret = chkPassword();
	if(ret<1){
		$("#password").attr("class","inp ipt-error");
		$("#password_ico_ok").hide();
		$("#password_ico_err").show();
		$("#div_password_rule").hide();
		$("#div_password_err").show();
		$("#div_password_err_info").html("请输入6～16位字符的密码");
		return false;
	}else {
		if(!chkPasswordconfirm()){
			$("#div_passwordconfirm_err").show();
			$("#passwordconfirm").attr("class","inp ipt-error");
			$("#passwordconfirm_ico_ok").hide();
			$("#passwordconfirm_ico_err").show();
			return false;
		}else if($.trim($("#password").val())==$.trim($("#username").val())){
			$("#password").attr("class","inp ipt-error");
			$("#password_ico_ok").hide();
			$("#password_ico_err").show();
			$("#div_password_rule").hide();
			$("#div_password_err").show();
			$("#div_password_err_info").html("输入的密码不能与用户名一样");
			return false;
		}
	}
  var m_submit = "forgotpwdok";
	$.ajax({
		url:'post.php',
		type: 'post',
		data:{
			id:$("#id").val(),
			answer:$("#secanswer").val(),
			password:$("#password").val(),
			type:m_submit
		},
		dataType: 'text',
		error: function(){alert('密码找回失败,请稍候再试!');},
		success: function(result){
			if(result=="true"){
				alert('密码已修改完成，新密码为 ' + $("#password").val() + '');
				location.href = 'http://' + location.hostname + '/login.php';
			}else if(result=="err"){
				alert('非法提交!');
				document.getElementById("btnedit").disabled=false;
			}else if(result=="false"){
				$("#secanswer").addClass("inp ipt-error");
				$("#div_secanswer_rule").hide();
				$("#secanswer_ico_err").show();
				$("#secanswer_ico_ok").hide();
				$("#div_secanswer_err").show();
				$("#div_secanswer_err_info").html("密码保护答案错误！密码修改失败！");
				document.getElementById("btnedit").disabled=false;
			}else{
				alert('系统错误，请与管理员联系!');
				document.getElementById("btnedit").disabled=false;
			}
		}
	});
	document.getElementById("btnedit").disabled=true;
}