/**
    乱七八糟的js代码都扔到这里面
**/

var $ = function(id){return document.getElementById(id);};

//注册验证
var regVaildate = function(formName,obj){
    var name = obj==null?"":obj.getAttribute("name");			//控件名称
    var rule = obj==null?"":obj.getAttribute("rule");			//验证规则
    var minsize = obj==null?"":obj.getAttribute("minsize");		//最小长度
    var maxsize = obj==null?"":obj.getAttribute("maxsize");		//最大长度

    var infoName = name+"_info";

	if(obj != null){ //独立验证控件
	    if(obj.value == "" && minsize > 0){
	        showErr(infoName,"必填项不能为空");
	        return false;
	    }else if(obj.value.length < minsize){
	        showErr(infoName,"填写的信息太短");
	        return false;
	    }else if(maxsize != null && obj.value.length > maxsize){
	        showErr(infoName,"填写的信息超过规定长度");
	        return false;
	    }

	    //Email验证
		if(rule == "email"){
		    if(!isEmail(obj.value)){
		        showErr(infoName,"Email格式错误");
		        return false;
		    }else{
		        checkEmailExist(obj.value);
		        return ;
		    }
		}else if(rule == "pwd"){
		    showSuccInfo(infoName);
		    return true;
		}else if(rule == "repwd"){
		    if($("password1").value != obj.value){
		        showErr(infoName,"两次输入的密码不一致");
		        return false;
		    }else if(obj.value != ""){
		        showSuccInfo(infoName);
		    	return true;
		    }
		}else if(rule == "chinese"){
		    if(isEng(obj.value)){
		        showErr(infoName,"请填写真实姓名");
		        return false;
		    }else{
		        showSuccInfo(infoName);
		        return true;
		    }
		}else if(rule == "brithselect"){
		    var parent = obj.parentNode;
		    var sels = parent.getElementsByTagName("select");
		    for(var i=0;i<sels.length;i++){
		        if(sels[i].value == ""){
		            if(i==0){
		                showErr(infoName,"请选择出生年");
		                return false;
		            }else if(i == 1){
		                showErr(infoName,"请选择出生月");
		                return false;
		            }else if(i == 2){
		                showErr(infoName,"请选择出生日");
		                return false;
		            }
		        }
		    }
		    showSuccInfo(infoName);
		    return true;
		}else if(rule == "lifeselect"){
		    showSuccInfo(infoName);
		    return true;
		}

	}else{//整体验证
	    var email = $("email").value;
	    if(email == ""){
	        showErr("email_info","必填项不能为空");
	        return false;
	    }
	    if(!isEmail(email)){
	        showErr("email_info","Email格式错误");
	        return false;
	    }
//	    if(!checkEmailExist(email))
//	    {
//	    	showErr("email_info","该Email未通过验证");
//	    	return false;
//	    }

	    var password1 = $("password1").value;
	    if(password1 == ""){
	        showErr("password1_info","必填项不能为空");
	        return false;
	    }
	    if(password1.length < 6){
	        showErr("password1_info","填写的信息太短");
	        return false;
	    }
	    if(password1.length > 16){
	        showErr("password1_info","填写的信息超过规定长度");
	        return false;
	    }

	    var password2 = $("password2").value;
	    if(password2 != password1){
	        showErr("password2_info","两次输入的密码不一致");
	        return false;
	    }

	    var truename = $("truename").value;
	    if(truename == ""){
	        showErr("truename_info","必填项不能为空");
	        return false;
	    }
	    if(isEng(truename)){
	        showErr("truename_info","请填写真实姓名");
	        return false;
	    }

		var sexs = $("sexdiv").getElementsByTagName("input");
		var resex = 0;
		for(var i=0;i<sexs.length;i++){
		    if(sexs[i].checked == true){
		        resex = 1;
		    }
		}
		if(resex == 0){
		    alert("请选择性别");
	        return false;
		}

	    if($("birthyear").value == ""){
	        $("birthyear_info").innerHTML="";
        	$("birthmonth_info").innerHTML="";
        	$("birthday_info").innerHTML="";
	        showErr("birthyear_info","请选择出生年");
	        return false;
	    }
	    if($("birthmonth").value == ""){
	    	$("birthyear_info").innerHTML="";
        	$("birthmonth_info").innerHTML="";
        	$("birthday_info").innerHTML="";
	        showErr("birthmonth_info","请选择出生月");
	        return false;
	    }
	    if($("birthday").value == ""){
	    	$("birthyear_info").innerHTML="";
        	$("birthmonth_info").innerHTML="";
        	$("birthday_info").innerHTML="";
	        showErr("birthday_info","请选择出生日");
	        return false;
	    }

	    if($("birthprovince").value == ""){
	        showErr("birthprovince_info","请选择家乡所在省");
	        return false;
	    }
	    if($("birthcity").value == ""){
	        showErr("birthprovince_info","请选择家乡所在市");
	        return false;
	    }

	    if($("lifeplace").value == ""){
	        showErr("lifeplace_info","请选择居住地");
	        return false;
	    }

		if($("seccode").value == ""){
		    showErr("seccode_info","请填写验证码");
		    return false;
		}

		if($("remark").checked == false){
		    alert("请阅读服务条款");
		    return false;
		}
		return true;
	}
	//alert("name="+name+" rule="+rule+" minsize="+minsize+" maxsize="+maxsize);
};
var isEmail = function(str){
    return /^[A-Z_a-z0-9-\.]+@([A-Z_a-z0-9-]+\.)+[a-z0-9A-Z]{2,4}$/.test(str);
};
var isEng = function(str){
    return !(/^[\u4E00-\u9FA5]+$/.test(str));
};
//异步验证email是否存在
var checkEmailExist = function(email){
    ajaxresponse('checkusername', 'op=checkusername&username=' + (is_ie && document.charset == 'utf-8' ? encodeURIComponent(email) : email));
};
function ajaxresponse(objname, data) {
		var x = new Ajax('XML', objname);
		if(objname=="checkusername"){
		x.get('do.php?ac=new_register&' + data, function(s){
			var infoName = "email_info";
			s = trim(s);
			if(s.indexOf("email_exists") > -1){
			    showErr(infoName,"该Email已经被注册");
			    return false;
			}else if(s.indexOf("email_do_not_reg") > -1){
			    showErr(infoName,"该Email不允许被注册");
			    return false;
			}else if(s.indexOf("email_format_err") > -1){
			    showErr(infoName,"Email格式错误");
			    return false;
			}else{
			    showSuccInfo(infoName);
			    return true;
			}
		});
		}else if(objname=="checkseccode"){
		    x.get('do.php?ac=new_register&' + data, function(s){
			var infoName = "seccode_info";
			s = trim(s);
			if(s.indexOf("succeed") > -1){
			    showSuccInfo(infoName);
			    return true;
			}else{
			    showErr(infoName,s);
			    return false;
			}
		});
		}
	}

var showErr = function(name,msg){
    if($(name) == null) return ;
    $(name).innerHTML = "<div class=\"tips_errimg\"><span class=\"tips_font\">"+msg+"</span></div>";
};
var showSuccInfo = function(name){
    if($(name) == null) return ;
    $(name).innerHTML = "<div class=\"tips_succ\"></div>";
};
var clearInfo = function(obj){
    if($(obj.getAttribute("name")+"_info") == null) return ;
    $(obj.getAttribute("name")+"_info").innerHTML = "";
};
//显示提示
var showTip = function(obj){
    var name = obj.getAttribute("name");
    if($(name+"_tip") == null) return ;
    if($(name+"_tip").getElementsByTagName("div").length < 1) return ;
    $(name+"_tip").getElementsByTagName("div")[0].style.display = "block";
};
//隐藏提示
var hiddenTip = function(obj){
    var name = obj.getAttribute("name");
    if($(name+"_tip") == null) return ;
    if($(name+"_tip").getElementsByTagName("div").length < 1) return ;
    $(name+"_tip").getElementsByTagName("div")[0].style.display="none";
};
