﻿ 
	function ValidateFactory(eventType,control) { 	
//		var srcElement = event.srcElement; 
//		var srcID = srcElement.id;	
		var srcID = control.id;	
		switch(srcID) {			
			case "tbusername" :  
				ValidateUserName(eventType,srcID);
				break;
			case "tbpwd" :  
				ValidatePassword(eventType,srcID);
				break;
			case "tbpwd2" :  
				ValidateConfirmPassword(eventType,srcID);
				break; 
			case "tbmail" : 
				ValidateEmail(eventType,srcID);
				break; 
			case "tbmail2" : 
				ValidateConfirmEmail(eventType,srcID);
				break; 
			case "tbValidateCode" : 
				ValidateMustFill(eventType,srcID,"","验证码不能为空!");
				break; 
			default:
				var result = ValidatePage(eventType);
				return result;
				break;
		} 	
		
	} 
	 
	function ValidatePage() {	
		
		var result = true; 
		if(!ValidateMustFill("OnBlur","tbValidateCode","","验证码不能为空!")) {  
			result = false;
			document.getElementById("tbValidateCode").focus();
		} 
		if(!ValidateConfirmEmail("OnBlur","tbmail2")) {  
			result = false;
			document.getElementById("tbmail2").focus();
		} 
		if(!ValidateEmail("OnBlur","tbmail")) {   
			result = false;
			document.getElementById("tbmail").focus();
		} 
		if(!ValidateConfirmPassword("OnBlur","tbpwd2")) {  
			result = false;	
			document.getElementById("tbpwd2").focus();
		}
		if(!ValidatePassword("OnBlur","tbpwd")) {   
			result = false;
			document.getElementById("tbpwd").focus();
		}
		if(!ValidateUserName("OnBlur","tbusername")) { 
			result = false; 
			document.getElementById("tbusername").focus();
		}
		if(result == true) { 
			document.getElementById("ImgBtnregister").focus();
		} 
		return result;
	}
	
	// 用户名验证  
	function ValidateUserName(eventType,srcID) {	  
	    var srcElement = document.getElementById(srcID);
		var srcValue = Trim(srcElement.value);				 	
		var divID = "div" + srcID; 
		var div = document.getElementById(divID);
		var result = false; 
		switch(eventType) {
			case "OnBlur" : 						
				if(srcValue.length <= 0) {
					div.innerHTML = "&nbsp;用户名不能为空!&nbsp;";				
					div.className = "validate_wrong";
				}
				else if(srcValue.length < 4 || srcValue.length > 40) {
					div.innerHTML = "&nbsp;用户名应为4至40位!&nbsp;";
					div.className = "validate_wrong";					
				}				
				else {
				    if(srcValue.replace(/[\da-z_]/ig,'')!='')
				    {
				        div.innerHTML = "&nbsp;用户名有非法字符!&nbsp;" + srcValue.replace(/[\da-z_]/ig,'');
						div.className = "validate_wrong";
				    }
				    else
				    {
					    if(IsBeginChar(srcValue) == false) {
						    div.innerHTML = "&nbsp;用户名须以字母开头!&nbsp;";
						    div.className = "validate_wrong";
					    }
					    else {	 
						    var weburl = "../ajax/sponsor.aspx?gettype=isexistusername&username="+srcValue+ "&rand=" + new Date().getTime();  
						    //var xmlhttp = XMLHttpFactory();     
						    var isExist = httpRequest("get",null,weburl); 
						    if(isExist == "true") {
									    div.innerHTML = "&nbsp;您输入的用户名已经存在!&nbsp;";
									    div.className = "validate_wrong";
								    }
								    else {
									    div.innerHTML = "<img src='../js/prompt/img/right.gif' valign='middle'/>";
									    div.className = "validate_right";
									    result = true;							
								    }       
						    //xmlhttp.open("get",weburl,true);  // true 同步
    //						xmlhttp.onreadystatechange = function()
    //						{            
    //							if(xmlhttp.readyState == 4 ) 
    //							{               
    //								var isExist = xmlhttp.responseText; 						
    //								if(isExist == "true") {
    //									div.innerHTML = "&nbsp;您输入的用户名已经存在!&nbsp;";
    //									div.className = "validate_wrong";
    //								}
    //								else {
    //									div.innerHTML = "";
    //									div.className = "validate_right";
    //									result = true;							
    //								}                                                  
    //							}                   
    //						} 
    //						xmlhttp.send(null);
					    }						
				    }
				    }							
				break;
			case "OnFocus" : 
			    div.innerHTML = "4-40个字符(包括小写字母、数字、下划线)。一旦注册成功会员名不能修改。";
				div.className = "validate_select";
				break;
			default:
				break;
		}
		return result;
	}
	
	//   
	function ValidatePassword(eventType,srcID) {	
		   
		var srcElement = document.getElementById(srcID);
		var srcValue = Trim(srcElement.value);				 	
		var divID = "div" + srcID; 
		var div = document.getElementById(divID);
		var result = false;
				
		switch(eventType) {
			case "OnBlur" :  			
				if(srcValue.length <= 0) {
						div.innerHTML = "&nbsp;密码不能为空!&nbsp;";
						div.className = "validate_wrong";
					}
				else if(srcValue.length < 6 || srcValue.length > 20) {
					div.innerHTML = "&nbsp;密码应为6至20位!&nbsp;";
					div.className = "validate_wrong";
				}	
				else {
						div.innerHTML = "<img src='../js/prompt/img/right.gif' valign='middle'/>";
						div.className = "validate_right";
						result = true;	
					}								
				break;
			case "OnFocus" :  
				div.innerHTML = "密码长度为6-20位，建议采用易记、难猜的英文数字组合。";
				div.className = "validate_select";
				break;
			default:
				break;
		}
		return result;
	}
	
	// 
	function ValidateConfirmPassword(eventType,srcID) {		
	
		var srcElement = document.getElementById(srcID);			
		var srcValue = Trim(srcElement.value);					 	
		var spanID = "span" + srcID; 
		var span = document.getElementById(spanID);
		var passwordElement = document.getElementById("tbpwd");  
		var passwordValue = Trim(passwordElement.value);
		var result = false;
				
		switch(eventType) {
			case "OnBlur" :  			
				if(srcValue != passwordValue) {
					span.innerHTML = "&nbsp;两次密码输入不一致!&nbsp;";
					span.className = "validate_wrong";
				}					
				else if(srcValue.length <= 0) 
					span.className = "validate_noselect";
				else {
						span.innerHTML = "<img src='../js/prompt/img/right.gif' valign='middle'/>";
						span.className = "validate_right";
						result = true;	
					}								
				break;
			case "OnFocus" :  
				span.innerHTML = "请再输入一遍您上面填写的密码。";
				span.className = "validate_select";
				break;
			default:
				break;
		}
		return result;
	}  
	 
	function ValidateEmail(eventType,srcID) {	
		   
		var srcElement = document.getElementById(srcID);
		var srcValue = Trim(srcElement.value);				 	
		var spanID = "span" + srcID; 
		var span = document.getElementById(spanID);	
		var result = false;		
				
		switch(eventType) {
			case "OnBlur" : 				
				if(srcValue.length <= 0) {
					span.innerHTML = "&nbsp;邮箱不能为空!&nbsp;";
					span.className = "validate_wrong";
				}
				else if(IsEmail(srcValue) == false) {
					span.innerHTML = "&nbsp;邮箱格式不对!&nbsp;";
					span.className = "validate_wrong";
				}	
				else {
						span.innerHTML = "<img src='../js/prompt/img/right.gif' valign='middle'/>";
						span.className = "validate_right";
						result = true;
					}								
				break;
			case "OnFocus" : 
				span.innerHTML = "请输入您常用的电子信箱地址。";
				span.className = "validate_select";
				break;
			default:
				break;
		}
		return result;
	} 
	
	function ValidateConfirmEmail(eventType,srcID) {		
	
		var srcElement = document.getElementById(srcID);			
		var srcValue = Trim(srcElement.value);					 	
		var spanID = "span" + srcID; 
		var span = document.getElementById(spanID);
		var mailElement = document.getElementById("tbmail");  
		var mailValue = Trim(mailElement.value);
		var result = false;
				
		switch(eventType) {
			case "OnBlur" :  			
				if(srcValue != mailValue) {
					span.innerHTML = "&nbsp;两次邮箱输入不一致!&nbsp;";
					span.className = "validate_wrong";
				}					
				else if(srcValue.length <= 0) 
					span.className = "validate_noselect";
				else {
						span.innerHTML = "<img src='../js/prompt/img/right.gif' valign=middle/>";
						span.className = "validate_right";
						result = true;	
					}								
				break;
			case "OnFocus" :  
				span.innerHTML = "请确认您的电子信箱。";
				span.className = "validate_select";
				break;
			default:
				break;
		}
		return result;
	}  