// JavaScript Document
//checkbox全选
function checkAll(ch)
{
	len=document.forms[0].elements.length;
	for(i=0;i<len;i++){
	var e=document.forms[0].elements[i];
		if(e.name!=ch.name&&e.type=="checkbox")
			e.checked=ch.checked;
	}
}





function CheckLength(ObjectName,TitleName,UserTestSource,UserMessage)
{
//参数ObjectName：控制名
//参数TitleName：判断字段的中文名称
//参数UserTestSource：判断长度
//参数UserMessage：用户提示类型
//    UserMessage=1时显示“注意：【TitleName】长度不能超过xxx个字符！”
//    UserMessage=2时显示“注意：【TitleName】长度不能超过xxx个汉字或xxx个英文字符！”

	var ObjTitle="注意：【"+TitleName+"】";
	var	 TestResult=true;
	sl=ObjectName.value.length;
	strLen=0;

	for(i=0;i<sl;i++)
	{
	if(ObjectName.value.charCodeAt(i)>255) strLen+=2;
	else strLen++;
	}

	if (strLen>UserTestSource)
	{
		if (UserMessage==1)
			alert(ObjTitle+"长度不能超过"+UserTestSource+"个字符！");
		else
			alert(ObjTitle+"长度不能超过"+parseInt(parseFloat(UserTestSource)/2)+"个汉字或"+UserTestSource+"个英文字符！");

			TestResult=false;
	}
	return TestResult;

}


function CheckRight(ObjectName,TitleName,TestType,IllegalTest,UserTestSource,UserMessage)
{
//参数ObjectName：控制名
//参数TitleName：判断字段的中文名称
//参数TestType：判断方式
//参数IllegalTest：是否判断非法字符
//参数UserTestSource：用户自定义输入条件。
//参数UserMessage：用户可自定义错误提示内容，如果本项为null，则弹出函数默认的提示信息。

//参数TestType=1判断字串是否为空
//参数TestType=2判断字串是否只包含数字
//参数TestType=3判断字串是否只包含英文字母
//参数TestType=4判断字串是否只包含数字或英文字母
//参数TestType=5判断字串是否只包含有用户自定义判断值域内
//参数TestType=6判断是否包含非法字符
//参数TestType=7判断是否是一个合法的数值，当UserTestSource为null可以是任何值，如果UserTestSource='+'时只能是正数,如果UserTestSource='-'时只能是负数
//参数TestType=8判断字串是否是合法的Email地址


	var ObjTitle="注意：【"+TitleName+"】";
	var	 TestResult=true;


	if  (IllegalTest=1)
	{
		if(CheckIllegalChar(ObjectName,null)==false)
		{
			if (UserMessage!=null)
			{
			  alert(UserMessage);
			  ObjectName.focus();
			  return false
			}
			else
			{
			  alert(ObjTitle+"系统限制不允许输入以下内容：【“'”】！");
			  ObjectName.focus();
			  return false
			}
		 }
	}


	switch(TestType)
	  {
		case 1 :
			if(ObjectName.value=="")
			{
				alert(ObjTitle+"不能为空！");
				ObjectName.focus();
				return false;
			}
			break;
		case 2 :
			if(CheckCharIn(ObjectName,1)==false)
			{
				if (UserMessage!=null)
				  {
				   alert(UserMessage);
				   ObjectName.focus();
				  return false;
				   }
				else
				  {
				  alert(ObjTitle+"只允许输入数值型字符！");
				  ObjectName.focus();
				  return false;
				  }

			}
			break;
		case 3:
			if(CheckCharIn(ObjectName,2)==false)
			{
				if (UserMessage!=null)
				  {
					alert(UserMessage);
					ObjectName.focus();
					return false;
				   }
				else
					{
					alert(ObjTitle+"只允许输入英文字母！");
					ObjectName.focus();
					return false;
					}

			}
			break;
		case 4:
			if(CheckCharIn(ObjectName,3)==false)
			{
				if (UserMessage!=null)
				 {
				   alert(UserMessage);
				   ObjectName.focus();
				  return false;
				   }
				else
				  {
					alert(ObjTitle+"只允许输入数字或英文字母！");
				    ObjectName.focus();
				   return false;
				  }
			}
			break;
		case 5 :
			if(CheckCharIn(ObjectName,4,UserTestSource)==false)
			{
				if (UserMessage!=null)
				  {
				   alert(UserMessage);
				   ObjectName.focus();
				   return false;
				   }
				else
				  {
				   alert(ObjTitle+"系统限制只允许输入以下内容：【"+UserTestSource+"】！");
				   ObjectName.focus();
				   return false;
				   }
			}
			break;
		case 6:
			if(CheckIllegalChar(ObjectName,UserTestSource)==false)
			{
				if (UserMessage!=null)
				  {
				   alert(UserMessage);
				   ObjectName.focus();
				   return false;
				   }
				else
				  {
				   alert(ObjTitle+"系统限制不允许输入以下内容：【"+UserTestSource+"】！");
				   ObjectName.focus();
				   return false;
				   }
			 }
		break;
		case 7:
	      switch(UserTestSource)
	       {
	        case '+':
				if (ObjectName.value!="")
				{
					if (isNaN(ObjectName.value)||!(parseFloat(ObjectName.value)>=0))
					{
						alert(ObjTitle+"不是一个合法正数！");
						ObjectName.focus();
						return false;
					}

					var Numberlength=ObjectName.value.length;
					if (ObjectName.value.length>13)
					{
						alert(ObjTitle+"总长度不能超过13位！");
						ObjectName.focus();
						return false;
					}

					if(CheckIllegalChar(ObjectName,'.')==false)
					{
						var Pointlocat=ObjectName.value.indexOf(".");
						var Pointlocat1=Numberlength-Pointlocat-1;

						//alert("Numberlength："+Numberlength);
						//alert("Pointlocat："+Pointlocat);
						//alert("Pointlocat1："+Pointlocat1);
						if (Pointlocat1>6)
						{
							alert(ObjTitle+"小点数只允许6位！");
							ObjectName.focus();
							return false;
						}
					}

				}
			break;
			case '-':
			if (ObjectName.value!="")
			{
				if (isNaN(ObjectName.value)||!(parseFloat(ObjectName.value)<0))
				{
					alert(ObjTitle+"不是一个合法负数！");
					ObjectName.focus();
					return false;
				}
					var Numberlength=ObjectName.value.length;
					if (ObjectName.value.length>13)
					{
						alert(ObjTitle+"总长度不能超过13位！");
						ObjectName.focus();
						return false;
					}

						if(CheckIllegalChar(ObjectName,'.')==false)
					{
					var Pointlocat=ObjectName.value.indexOf(".");
					var Pointlocat1=Numberlength-Pointlocat-1;
					if (Pointlocat1>6)
					{
						alert(ObjTitle+"小点数只允许6位！");
						ObjectName.focus();
						return false;
					}
					}
			}
			break;
			default:
			if (isNaN(ObjectName.value))
				{
					alert(ObjTitle+"不是一个合法数值！");
					ObjectName.focus();
					return false;
				}
					var Numberlength=ObjectName.value.length;
					if (ObjectName.value.length>13)
					{
						alert(ObjTitle+"总长度不能超过13位！");
						ObjectName.focus();
						return false;
					}

					if(CheckIllegalChar(ObjectName,'.')==false)
					{
					var Pointlocat=ObjectName.value.indexOf(".");
					var Pointlocat1=Numberlength-Pointlocat-1;
					if (Pointlocat1>6)
					{
						alert(ObjTitle+"小点数只允许6位！");
						ObjectName.focus();
						return false;
					}
					}
			break;
			}
		break;
		case 8:
			if(CheckMail(ObjectName)==false)
			{
				if (UserMessage!=null)
				  {
				  alert(UserMessage);
				  ObjectName.focus();
				  return false;
				  }
				else
				  {
					alert(ObjTitle+"不是一个合法的Email地址！");
					ObjectName.focus();
					return false;
					}
			}
		break;

	  }



 	return true;
}









//判断字符是否包含在以下值域内，校验不通过就返回false
function CheckCharIn(pObj,TestType,UserStrSource)
{
 var obj = eval(pObj);
 var bl=true;
 switch(TestType)
  {
	case 1 :
		strSource = "1234567890.-";//判断字符为是否是输入的数值型字符
		break;
	case 2:
		strSource = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";//判断字符为是否是输入的英文字母
		break;
	case 3:
	    strSource = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";//判断字符为是否是输入的数值型字符或英文字母
		break;
	case 4:
	    strSource = UserStrSource;//判断字串是否包含在以下自定义值域内
		break;
  }

 for (i=0;i<obj.value.length;i++)
 {
  tempChar = obj.value.substring(i,i+1);
  if(strSource.indexOf(tempChar,0)==-1)
    {
	 bl=false; //说明校验不通过
	 break;
	}
 }
 return bl;
}



//查找非法字符，包含就返回false
function CheckIllegalChar(pObj,UserTestSource)
{
	var i,j;
	var bl=true;
    var obj = eval(pObj);
	if (UserTestSource!=null)
	 temps=UserTestSource;
	else
	 temps="'";

	for(i=0;i<obj.value.length;i++){
		for(j=0;j<temps.length;j++){
			if( obj.value.substring(i,i+1)==temps.substring(j,j+1))
			{
				bl=false;
				break; //说明包含非法字符
			}
		}
	}
	return bl;
}






//查找非法字符，有一个就返回false
function CheckChartest(strChar){
	var i,j;
	var bl=true;
	temps=new Array("'",'"');
	for(i=0;i<strChar.length;i++){
		for(j=0;j<temps.length;j++){
			if( strChar.substring(i,i+1)==temps[j] ){
				bl=false;
				break;
			}
		}
	}
	return bl;
}




//函数名：chkemail
//功能介绍：检查是否为Email Address
//参数说明：要检查的字符串
//返回值：false：不是  true：是

function CheckMail(pObj)
{
 if(pObj.value.length!=0)
  {
	var bl=true;
    if (pObj.value.charAt(0)=="." ||
         pObj.value.charAt(0)=="@"||
         pObj.value.indexOf('@', 0) == -1 ||
         pObj.value.indexOf('.', 0) == -1 ||
         pObj.value.lastIndexOf("@")==pObj.value.length-1 ||
         pObj.value.lastIndexOf(".")==pObj.value.length-1)
      {bl=false;}
	  return bl;
  }
}






//判断是否是数字
function isNumber(pObj,errMsg){

 var obj = eval(pObj);
 strRef = "1234567890";
 //if(!isEmpty(pObj,errMsg))return false;
 for (i=0;i<obj.value.length;i++) {
  tempChar= obj.value.substring(i,i+1);
  if(i==0&&obj.value.substring(i,i+1)=='-')
  {continue;}
  if (strRef.indexOf(tempChar,0)==-1) {
   if (errMsg == null || errMsg =="")
    alert("数据不符合要求,请检查");
   else
    alert(errMsg);
   if(obj.type=="text")
    obj.focus();
   return false;
  }
 }
 return true;
}

//查找非法字符，有一个就返回false
function CheckChar(strChar){
	var i;
	var bl=true;
	for(i=0;i<strChar.length;i++){
		if( strChar.substring(i,i+1)=="'"){
			bl=false;
			break;
		}
	}
	return bl;
}

function checkForm_Ring(obj, message, parm)
{//参数parm大于1时，两个条件都要判断，等于1时，只判断单引号
	if(obj.value==""&&parm>1)
	{
		alert("【"+message+"】不能为空!");
		obj.focus();
		return false;
	}
	if(CheckChar(obj.value)==false&&parm>0)
	{
		alert("【"+message+"】含有非法字符：单引号！");
		obj.focus();
		return false;
	}
	return true;
}

function checkForm(obj, message)
{
	if(obj.value=="")
	{
		alert("【"+message+"】不能为空!");
		obj.focus();
		return false;
	}
	else
	{
		if(CheckChar(obj.value)==false)
		{
			alert("【"+message+"】含有非法字符：单引号！");
			obj.focus();
			return false;
		}
	}
	return true;
}





//函数名：chkspc
//功能介绍：检查是否含有空格
//参数说明：要检查的字符串
//返回值：0：是  1：不是
function chkspc(a)
{
 var i=a.length;
 var j = 0;
 var k = 0;
 while (k<i)
 {
  if (a.charAt(k) != " ")
   j = j+1;
  k = k+1;
 }
 if (j==0)
 {
  return 0;
 }

 if (i!=j)
 { return 2; }
 else
 {
  return 1;
 }
}

