String.prototype.Trim = function(){return this.replace(/^\s+|\s+$/g,"");}

var error =0 ;
var validateerror=0;

function  getGenderValue(){
  var   ys=document.getElementsByName("gender");
  for(i=0;i<ys.length;i++) {
      if(ys[i].checked) {
          return ys[i].value
       }
  }
}
          

  

function ValidateOnChange(stylename,value){
	if(stylename=='country' && value=='1'){
	  document.getElementById("provincetr").style.display="block";
	}else if(stylename=='country' && value!='1'){
	   document.getElementById("provincetr").style.display="none";
	}
}


function UpdateMessage(){
    error =0 ;
    validateerror = 0 ;
    
    if(document.getElementById("newpassword").value== document.getElementById("newpassword2").value){
      document.getElementById("va_newpassword2_div").innerHTML="";
    }
    
    if(!(document.getElementById("oldpassword").value=='' &&  document.getElementById("newpassword").value=='' && document.getElementById("newpassword2").value=='') ){
          validateIsNull("oldpassword", document.getElementById("oldpassword").value);
          validateIsNull("newpassword", document.getElementById("newpassword").value);
          validateIsNull("newpassword2", document.getElementById("newpassword2").value);
    	if(document.getElementById("newpassword").value!= document.getElementById("newpassword2").value){
    	  	 document.getElementById("va_newpassword2_div").innerHTML="<span class='validateErrorInfo'>newpassword2 is fail <span>";
	         validateerror++;
    	}
    }
    
    document.getElementById("birth").value =document.getElementById("birth").value.Trim();
    
    validateIsNull("securecode", document.getElementById("securecode").value);
    validateIsNull("email", document.getElementById("email").value);
    
    validateIsNull("question", document.getElementById("question").value);
    validateIsNull("answer", document.getElementById("answer").value);
    
    if(document.getElementById("app").value=='blog' || document.getElementById("app").value=='pdf'){
	    validateIsNull("birth", document.getElementById("birth").value);
	    validateIsNull("country", document.getElementById("country").value);   
	    if(document.getElementById("country").value=='1'){
	   		 validateIsNull("province", document.getElementById("province").value);
	    }
	    
	    validateIsNull("jobtitle", document.getElementById("jobtitle").value);
	    validateIsNull("jobindustry", document.getElementById("jobindustry").value);
		validateIsNull("PrimaryResponsibility", document.getElementById("PrimaryResponsibility").value);
		validateIsNull("CompanySize", document.getElementById("CompanySize").value);
	}

	
	if(error==0 && validateerror==0){
	  validate("securecode",document.getElementById("securecode").value);
	}
	
	
	if(error==0 && validateerror==0){
	  validate("email",document.getElementById("email").value);
	}
	
	
	if(document.getElementById("birth").value!=''){
	   validate("birth",document.getElementById("birth").value);
	}
	
	if(error==0 && validateerror==0){
	 //register
	 		dojo.io.bind({
			url: "validate.jsp",
			mimetype: "text/html", 
			load : function(type,data ,evt){
			       if( type=='error') {
		  			  alert("occur error !");
					} else {
		  			  if(data.Trim()=='false'){
		  			   	 alert("password  fail!" );
		  				 
		  			  }else{
		  			     alert("Edit Profile been completed." );
		  			     window.close();
		  			     
		  			     
		  			  }
					}
			},
			content:{style : "update" , 
			securecode :  document.getElementById("securecode").value,
			username: document.getElementById("userName").value,
			
			oldpassword: document.getElementById("oldpassword").value ,
			newpassword: document.getElementById("newpassword").value ,
			newpassword2: document.getElementById("newpassword2").value ,
			
			
			email: document.getElementById("email").value,
			question: document.getElementById("question").value,
			answer: document.getElementById("answer").value,
			language: document.getElementById("language").value,
			gender: getGenderValue(),
			yearofbirth: document.getElementById("birth").value,
			country: document.getElementById("country").value,
			province: document.getElementById("province").value,
			jobtitle: document.getElementById("jobtitle").value,
			jobindustry: document.getElementById("jobindustry").value,
			primaryresponsibility: document.getElementById("PrimaryResponsibility").value,
			companysize: document.getElementById("CompanySize").value
			},
			error: function(type, error) {  }, 
			encoding: "utf-8",
			preventCache: true
			});
	}
	
	
}


function register(){
    error =0 ;
    validateerror = 0 ;
    
    document.getElementById("birth").value =document.getElementById("birth").value.Trim();
    
    validateIsNull("securecode", document.getElementById("securecode").value);
    validateIsNull("userName", document.getElementById("userName").value);
    validateIsNull("email", document.getElementById("email").value);
    validateIsNull("password", document.getElementById("password").value);
    validateIsNull("repwd", document.getElementById("repwd").value);
    
    validateIsNull("question", document.getElementById("question").value);
    validateIsNull("answer", document.getElementById("answer").value);
    
    if(document.getElementById("app").value=='pdf'){
	    validateIsNull("birth", document.getElementById("birth").value);
	    validateIsNull("country", document.getElementById("country").value);   
	    if(document.getElementById("country").value=='1'){
	   		 validateIsNull("province", document.getElementById("province").value);
	    }
	    
	    validateIsNull("jobtitle", document.getElementById("jobtitle").value);
	    validateIsNull("jobindustry", document.getElementById("jobindustry").value);
		validateIsNull("PrimaryResponsibility", document.getElementById("PrimaryResponsibility").value);
		validateIsNull("CompanySize", document.getElementById("CompanySize").value);
	}

	
	if(error==0 && validateerror==0){
	  validate("securecode",document.getElementById("securecode").value);
	}
	
	if(error==0 && validateerror==0){
	  validate("userName",document.getElementById("userName").value);
	}
	
	if(error==0 && validateerror==0){
	  validate("email",document.getElementById("email").value);
	}
	
	if(error==0 && validateerror==0){
	  validate("repwd",document.getElementById("repwd").value);
	}
	
	if(document.getElementById("birth").value!=''){
	   validate("birth",document.getElementById("birth").value);
	}
	
	if(error==0 && validateerror==0){
	 //register
	 		dojo.io.bind({
			url: "validate.jsp",
			mimetype: "text/html", 
			load : function(type,data ,evt){
			       if( type=='error') {
		  			  alert("occur error !");
					} else {
		  			  if(data.Trim()=='false'){
		  			   	 alert("register is fail!" );
		  				 
		  			  }else{
		  			     alert("Your registration has been completed." );
		  			     document.forms['registerForm'].reset();
		  			     window.close();
		  			     
		  			  }
					}
			},
			content:{style : "register" , 
			securecode :  document.getElementById("securecode").value,
			username: document.getElementById("userName").value,
			password: document.getElementById("password").value ,
			email: document.getElementById("email").value,
			question: document.getElementById("question").value,
			answer: document.getElementById("answer").value,
			language: "0",
			gender: getGenderValue(),
			yearofbirth: document.getElementById("birth").value,
			country: document.getElementById("country").value,
			ip : document.getElementById("ip").value ,
			app : document.getElementById("app").value ,
			province: document.getElementById("province").value,
			jobtitle: document.getElementById("jobtitle").value,
			jobindustry: document.getElementById("jobindustry").value,
			primaryresponsibility: document.getElementById("PrimaryResponsibility").value,
			companysize: document.getElementById("CompanySize").value
			},
			error: function(type, error) {  }, 
			encoding: "utf-8",
			preventCache: true
			});
	}
	
	
}

function validateIsNull (stylename,value){
	if(value.Trim()==''){
	     error++;
	     if(document.all){ 
	        if(document.getElementById(stylename).tagName=='SELECT'){
	          document.getElementById("va_"+stylename+"_div").innerHTML="<span class='validateErrorInfo'>Please select</span>";
	        }else{
	          document.getElementById(stylename).className="wrongInfo";
	        }
	     }else{
		 	document.getElementById(stylename).className="wrongInfo";
		 }
		  return false;
	}else{
		 if(document.all){
		   	if(document.getElementById(stylename).tagName=='SELECT'){
	          document.getElementById("va_"+stylename+"_div").innerHTML="";
	        }else{
	         document.getElementById(stylename).className="okInfo";
	        }
		 }else{
		   document.getElementById(stylename).className="okInfo";
		 }
		 return true;
	}
}

function validate (stylename,value){
		/** securecode **/
		if(stylename=='securecode'){
			dojo.io.bind({
			url: "validate.jsp",
			mimetype: "text/html", 
			sync :true,
			load : function(type,data ,evt){
			       if( type=='error') {
		  			  alert("occur error !");
					} else {
		  			  if(data.Trim()=='false'){
		  			   	 document.getElementById("va_securecode_div").innerHTML="<span class='validateErrorInfo'>Secure code is Error </span>";
		  				 validateerror++;
		  			  }else{
		  			     document.getElementById("va_securecode_div").innerHTML="";
		  			  }
					}
			},
			content:{style : stylename , value: value},
			error: function(type, error) {  }, 
			encoding: "utf-8",
			preventCache: true
			});
		}
		
		
		/** userName **/
		if(stylename=='userName'){
			dojo.io.bind({
			url: "validate.jsp",
			mimetype: "text/html", 
			load : function(type,data ,evt){
			       if( type=='error') {
		  			  alert("occur error !");
					} else {
					  
		  			  if(data.Trim()=='true'){
		  			   	 document.getElementById("va_username_div").innerHTML="<span class='validateErrorInfo'>This member ID already exists</span>";
		  				 validateerror++;
		  			  }else{
		  			     document.getElementById("va_username_div").innerHTML="";
		  			  }
					}
			},
			content:{style : stylename , value: value},
			error: function(type, error) {  }, 
			encoding: "utf-8",
			preventCache: true
			});
		}

		/** birth **/
		if(stylename=='birth'){
		  if(isNaN(value.Trim()) ||  parseInt(value.Trim()) <1900 ||  parseInt(value.Trim()) >2008 ){
		   document.getElementById("va_birth_div").innerHTML="<span class='validateErrorInfo'>birth is Error </span>";
		   validateerror++;
		  }else{
		   document.getElementById("va_birth_div").innerHTML="";//repwd
		  }
		}
		
		/** repwd **/
	    if(stylename=='repwd' ){
	      if(document.getElementById("repwd").value!=document.getElementById("password").value){
	         document.getElementById("va_repwd_div").innerHTML="<span class='validateErrorInfo'>repwd is Error <span>";
	         validateerror++;
	      }else{
	        document.getElementById("va_repwd_div").innerHTML=""
	      }
		  
		}
		
		if(stylename=='email'){ 
		    var emailPattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]+){1,2})$/;
			if(validateIsNull("email", document.getElementById("email").value)){
			  var _email = value.Trim();
			  var bool = emailPattern.test(_email);
			  if(!bool){
			    document.getElementById("va_email_div").innerHTML="<span class='validateErrorInfo'>Invalid email address<span>";
			    validateerror++;
			  }else{
			    document.getElementById("va_email_div").innerHTML="";
			  }
			}
		}
			
}
