/*************************************/
/******文件名：eventListener.js					***/
/******属性：	public						***/
/******作用：	对界面输入数据进行帧听				***/
/******作者：	junny						***/
/******创建日期：	2005/07/18				***/
/******程序入口：checkForm()向服务器提交数据时进行数据检验	***/
/*************************************/

function public_check(obj)
{	
	var pkname = obj.id;
	var pkArr = pkname.split("_");		
	var pk = pkArr[1];	
	
	switch (pk)
	{
		case("pwd"):
			return public_checkPwd(obj);
			break;
		case("email"):	
			return public_testEmail(obj);
			break;			
		case("date"):
			return public_testDate(obj);
			break;
		case("name"):
			return public_checkName(obj);
			break;
		case("sname"):
			return public_checkSetName(obj);
			break;
		case("content"):	
			return public_testContent(obj);
			break;
		case("mobile"):
			return public_checkMobile(obj);
			break;	
		case("zone"):
			return public_testZone(obj);	
			break;
		case("idcard"):
			return public_ifIDCard(obj);	
		default:
			return true;
			break;														
	}
}

/*********遍历form表单中的每一个控件,并进行检验****************/
function checkForm(formName)
{	
	
	if (!formName)
	{
		alert("the form is not exit");	
		return false;
	}	
	for (var i=0;i<formName.length;i++)
	{	
		
		try{
		var obj = formName.elements[i];
		var flag = obj.id.substr(0,1);
		if(!obj.disabled){			
		switch (flag)
		{
		 	case("C"):											
				if (!public_check(obj))
					return false; 
				break;						 		
		 	default:		 				 		
		 		break;		 		 	
		}
		}	
		}catch (err)	
		{}
	}
	return true;
}

/************检查输入的用户名是否符合要求******************/
function public_checkName(obj)
{	
	var _charset_extra = " !#~$%^&*()=+{}[]:;|?,<>/\\\r\n\t'-";
		
	var str = (obj.value.length<1)?"":obj.value.trim();	
	if (str == "")	
	{				
		alert(obj.alt+proStr.Required+"!");
		obj.focus();				
		return false;
	}
	

	for(var i= 0; i<str.length; i++)
	{
		var ch= str.charAt(i);
		if(_charset_extra.indexOf(ch) >= 0)
		{
			alert(obj.alt+proStr.IllegalChar);		
			obj.select();
			return false;
		}
	}
	return true;	
}

/*******检查配置的用户名是否符合要求*********/
function public_checkSetName(obj){
	var _charset_include = "1234567890abcdefghijklmnopqrstuvwxyz_"+UserName.SpecChar;
	var str = (obj.value.length<1)?"":obj.value.rTrim();	
	
	if (str == "")	
	{				
		alert(obj.alt+proStr.Required+"!");
		obj.focus();				
		return false;
	}
	
	if (str.substring(0,1) == ' '){
		alert(obj.alt+proStr.IncludeBlank);
		obj.focus();
		return false;	
	}
	
	
	if (str.substring(0,1) >= 0 && str.substring(0,1) <= 9){
		alert(obj.alt+proStr.FirstCharLimit);
		obj.focus();
		return false;	
	}	


	for(var i= 0; i<str.length; i++)
	{
		var ch= str.charAt(i);

		if(str.charCodeAt(i)<=255 && _charset_include.indexOf(ch) < 0)
		{
			alert(obj.alt+proStr.IllegalChar);		
			obj.select();
			return false;
		}
	}
	return true;	
}



/****************************检查输入的密码是否符合要求**************************/
function public_checkPwd(obj)
{	
	var str = (obj.value.length<1)?"":obj.value.trim();
	
	if (obj.value == "")	
	{				
		alert(obj.alt+proStr.Required);
		obj.focus();	
		return false;
	}
	
	if (str.byteLength() < PwdMinLen)
	{
		alert(obj.alt + proStr.OverMin + PwdMinLen);
		obj.focus();
		return false;
	}
	
	if (str.byteLength() > PwdMaxLen)
	{		
		alert(obj.alt+proStr.LessMax+PwdMaxLen);
		obj.focus();
		return false;	
	}
	return true;
}	


/**********检查输入的内容是否为空***********/
function public_testContent(obj)
{		
	if (isStringEmpty(obj.value))	
	{	
		obj.focus();
		if(obj.type=="textarea")
		{
			alert(obj.title+proStr.Required);
		}else{
			alert(obj.alt+proStr.Required);	
		}
		return false;
	}
	return true;
}

/***
 * 检查手机号是否符合要求.
 * <p>
 * 手机号为11位数字，且第一个数字必须为1.
 * @param {Object} obj
 */
function public_checkMobile(obj) {
	var fieldValue = obj.value;
	if (isStringEmpty(obj.value)) {
		alert(obj.alt+proStr.Required);
		obj.focus();		
		return false;
	} else {
		if (fieldValue.length != 11 || fieldValue.indexof(0) != "1") {
			alert(obj.alt + proStr.InvalidMobile);
			obj.focus();			
			return false;
		}		
	}
}


/******测试是否合法email单元*****/
function public_testEmail(obj)
{
	var field    = obj.value;	
	
	if (obj.value!="")	
	{
	var reWhitespace = /^\s*$/;
	if(reWhitespace.test(field))
		return true;

	var emailPat  =/^(.+)@(.+)$/;
	var emailPat2 =/^(.+)\.(.+)$/;

	var emailStr = field;

	var matchArray  = emailStr.match(emailPat);
	var matchArray2 = emailStr.match(emailPat2);
	var index1 = emailStr.indexOf("@");
	var index2 = emailStr.indexOf(".");
	if(index1 == -1 || index2 == -1)
	{
		alert(proStr.InvalidMail);
		obj.focus();
		obj.select();
		return false;
	}

	if((matchArray == null) && (emailStr != ""))
	{
		alert(proStr.InvalidMail);
		obj.focus();
		obj.select();
		return false;
	}
	if((matchArray2 == null) && (emailStr != ""))
	{
		alert(proStr.InvalidMail);
		obj.focus();
		obj.select();
		return false;
	}
}
	return true;
	
}

