String.prototype.trueLength   =   function()   
  {   
  return   this.replace(/[^\x00-\xff]/g,   "**").length;   
  }
  
var random=0;
//var checkurl = "https://account.91.com/common/usernamecheck.aspx?info=";http://192.168.122.98/Foreignregisterfornet/common/
var checkurl = "usernamecheck.aspx?info=";

function getJsonData(para){
	var ajax = _jsc.ajax.getAjax();
	ajax.open("GET",para,false);
	ajax.send(null);
	try{
		//eval("var s = "+ajax.responseText);
		var s = ajax.responseText;
		return s;
	}catch(e){
		alert(e.message);
		return null;
	}
}
//regsvr32?scrrun.dll 

var msgs = {

	//帐号相关校验提示信息
	txtAccount_default: '*4-15 characters:',
	txtAccount_leninvalid: 'Account ID should be 4-15 characters!',
	txtAccount_contentinvalid: 'Account ID should consist of a-z, A-Z , 0-9!',
	txtAccount_noblank: 'Account ID should be 4-15 characters!',
	txtAccount_used: 'This account ID has been taken. Please try again!',
	txtAccount_valid: 'Filled out correctly!',
	//密码校验相关提示信息
	txtPassword_default: '*7-14 characters. Case sensitive!',
	txtPassword_noblank: 'Password should be 7-14 characters!',
	txtPassword_leninvalid: 'Password should be 7-14 characters!',
	txtPassword_contentinvalid: 'Password should consist of a-z, A-Z and 0-9!',
	txtPassword_valid: 'Filled out correctly!',
	//确认密码校验相关提示信息
	txtConfirmPassword_default: '*7-14 characters. Case sensitive!',
	txtConfirmPassword_noblank: 'Confirm Password should be 7-14 characters!',
	txtConfirmPassword_nocompare: 'Your passwords don\'t match!',
	txtConfirmPassword_valid: 'Filled out correctly!',
	//真实姓名相关校验提示信息
	txtRealName_default: 'Real name should be 3-12 characters!',
	txtRealName_leninvalid: 'Real name should be 3-12 characters!',
	txtRealName_noblank: 'Please enter your real name!',
	txtRealName_valid: 'Filled out correctly!',
	//邮箱校验相关提示信息
	txtEmail_default: '* Must be valid!',
	txtEmail_noblank: 'Please enter your E-mail address!',
	txtEmail_leninvalid: 'E-mail Address should be 6-40 characters!',
	txtEmail_formatinvalid: 'Invalid email!  ',
	txtEmail_valid: 'Filled out correctly!',
	//确认邮箱校验相关提示信息
	txtConfirmEmail_default: 'E-mail Address should be 6-40 characters!',
	txtConfirmEmail_noblank: 'Please enter your Confirm E-mail address!',
	txtConfirmEmail_nocompare: 'Your e-mail addresses don\'t match!',
	txtConfirmEmail_valid: 'Filled out correctly!',
	//身份证校验相关提示信息
	txtIDCard_default: '* Minimum 8 digits',
	txtIDCard_noblank: 'Please enter your Identification No.!',
	txtIDCard_leninvalid: 'ID No. should be 8-15 characters!',
	txtIDCard_valid: 'Filled out correctly!',
	//确认身份证验证相关提示信息
	txtConfirmIDCard_default: '* Minimum 8 digits',
	txtConfirmIDCard_noblank: 'Please enter Confirm Identification No.!',
	txtConfirmIDCard_nocompare: 'Your Identification No. don\'t match.',
	txtConfirmIDCard_valid: 'Filled out correctly!',
	//密保问题相关提示信息
	txtQuestion_default: '* Minimum 2 letters',
	txtQuestion_noblank: 'Please enter your Security Question!',
	txtQuestion_leninvalid: 'Security Question should be 2-30 characters!',
	txtQuestion_valid: 'Filled out correctly!',
	//密保答案相关提示信息
	txtAnswer_default: '* Minimum 4 letters',
	txtAnswer_noblank: 'Please enter your security answer!',
	txtAnswer_leninvalid: 'Security Answer should be 4-30 characters!',
	txtAnswer_valid: 'Filled out correctly!',
	//确认密保答案相关提示信息
	txtConfirmAnswer_default: '* Minimum 4 letters',
	txtConfirmAnswer_noblank: 'Please enter your security answer!',
	txtConfirmAnswer_nocompare: 'Your answers don\'t match!',
	txtConfirmAnswer_valid: 'Filled out correctly!',
	//电话号码相关提示信息
	txt_teltphone_default: '* Minimum 8 digits.',
	txt_teltphone_noblank: 'Please enter your tel!',
	txt_teltphone_nocompare: 'Tel should be 8 - 15 characters!',
	txt_teltphone_valid: 'Filled out correctly!'
	
	
};

var types = ['text', 'password'];
//var blank_check_excepts = ['txtIDCard','txtConfirmIDCard','txtQuestion','txtAnswer','txtConfirmAnswer','txtAccount','txtConfirmPassword','txtPassword','txtRealName','txtEmail','txtConfirmEmail'];
var blank_check_excepts = ['txtAccount','txtPassword','txtConfirmPassword','txtRealName','txtEmail','txtConfirmEmail','txtIDCard','txtConfirmIDCard','txtQuestion','txtAnswer','txtConfirmAnswer'];

var depends = {
	txtConfirmPassword: 'txtPassword'
};

var valid_reg = Validator.extend({
	
	valid_txtAccount: function(o){
		if (o.value.trim().length >= 4 && o.value.trim().length <= 15) {
			$(o.id + '_info').innerHTML = 'Checking...';
			var url=checkurl+o.value + "&checkstatus=0";
			var result = getJsonData(url);

			if(result.trim().length != 0){
				if(result == '0')
				{
					this.setDefinedStyle(o,'leninvalid','FailedMsg');
					this.valid_r &= false;
					return;
				}
				if(result == '1'||result == '2')
				{
					this.setDefinedStyle(o,'contentinvalid','FailedMsg');
					this.valid_r &= false;
					return;
				}
				if(result == '4')
				{
					this.setDefinedStyle(o,'used','FailedMsg');
					this.valid_r &= false;
					return;
				}
				this.setDefinedStyle(o,'valid','SucceedMsg');
				this.valid_r &= true;
			}
			else
			{
				this.setDefinedStyle(o,'sysbusy','FailedMsg');
				this.valid_r &= false;
			}
		}
		else
		{
			if(o.value.trim().length == 0)
			{
				this.setDefinedStyle(o,'noblank','FailedMsg');
				this.valid_r &= false;
			}
			else
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
			}
		}
	},
	valid_txtQuestion: function(o){
			if (o.value.trueLength() < 4 || o.value.trueLength() > 30)
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}			 
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
	},
	valid_txtIDCard: function(o){
			if (o.value.length < 8 || o.value.length > 15)
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			if (!CheckIfEnglish(o.value))
			{
				this.setDefinedStyle(o,'contentinvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
	},
	valid_txtConfirmIDCard: function(o){
		if (o.value == $('txtIDCard').value && o.value != '') {
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
		} else {
			this.setDefinedStyle(o,'nocompare','FailedMsg');
			this.valid_r &= false;
		}
	},
	valid_txtPassword: function(o){
			if (o.value.length < 7 || o.value.length > 14)
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			if (!CheckIfEnglish(o.value))
			{
				this.setDefinedStyle(o,'contentinvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
	},
	valid_txtConfirmPassword: function(o){
		if (o.value == $('txtPassword').value && o.value != '') {
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
		} else {
			this.setDefinedStyle(o,'nocompare','FailedMsg');
			this.valid_r &= false;
		}
	},	
	valid_txtRealName: function(o){
			if (o.value.length < 3 || o.value.trueLength() > 12)
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
		this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
	},
	valid_txtEmail: function(o){
			if (o.value.length < 1 || o.value.length > 40)
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			if (!checkemail(o.value))
			{
				this.setDefinedStyle(o,'formatinvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
	},
	valid_txtConfirmEmail: function(o){
		if (o.value.toLowerCase() == $('txtEmail').value.toLowerCase() && o.value != '') {
			this.setDefinedStyle(o,'valid','SucceedMsg'); 
			this.valid_r &= true;			
		} else {
			this.setDefinedStyle(o,'nocompare','FailedMsg');
			this.valid_r &= false;
		}
	},
	
	valid_txtAnswer: function(o){
			if (o.value.trueLength() < 4 || o.value.trueLength() > 30)
			{
				this.setDefinedStyle(o,'leninvalid','FailedMsg');
				this.valid_r &= false;
				return;
			}
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
	},
	valid_txtConfirmAnswer: function(o){
		if (o.value == $('txtAnswer').value && o.value != '') {
			this.setDefinedStyle(o,'valid','SucceedMsg');
			this.valid_r &= true;
		} else {
			this.setDefinedStyle(o,'nocompare','FailedMsg');
			this.valid_r &= false;
		}
	} 
	
});


var valid = new valid_reg('Form1', 'Form1', msgs, types, blank_check_excepts, depends);