
function checkIntegrity(obj){
	for (i=0;i<obj.elements.length;i++){
		if (obj.elements[i].value ==""){
			alert("请填写完整！");
			obj.elements[i].select();
			return (false);
		}
	}
	return (true);
}

function checkNotNull(obj){
	if (obj.value==""){
		alert("请输入数据！");
		if (obj.tagName!="SELECT") {
			obj.select();
		}
		return(false);
	}
	return (true);
}


function checkNum(obj){
	if(""+obj.value*5=="NaN"){
              alert("必须为数字！");
              obj.select();
              return(false);
        }
        return(true);        
}


function checkPlus(obj){
	if (!checkNum(obj)){
		return(false);
	}
	else
		if (obj.value<0){
			alert("此数字必须大于或等于0！");
			obj.select();
			return(false);
		}
	return(true);
}


function transMoney(obj){
	temp="￥"+obj.value;
	return(temp);
}




function checkStr(myObj){
  var illegalStr="";
  var i=0;
  var j=0; 
  for (p=0;p<myObj.elements.length;p++){
  	for(i=0;i<myObj.elements[p].value.length;i++){
     	for(j=0;j<illegalStr.length;j++){
        	if(myObj.elements[p].value.charAt(i)==illegalStr.charAt(j)){
          	alert("在您的输入字符串中不能包含以下非法字符："+illegalStr);
          	myObj.elements[p].select();
          	return(false);
        		}
     		}
  	}
  }
  return(true);
}


function checkValid(myObj){
  var illegalStr="";
  var i=0;
  var j=0; 
  for(i=0;i<myObj.value.length;i++){
     	for(j=0;j<illegalStr.length;j++){
        	if(myObj.value.charAt(i)==illegalStr.charAt(j)){
          	alert("在您的输入字符串中不能包含以下非法字符："+illegalStr);
          	myObj.select();
          	return(false);
        	}
     	}
  }
  return(true);
}


function trim(myStr)
{
  var pos1=-1;
  var pos2=-1;
  for(i=0;i<myStr.length;i++){
     if(myStr.charAt(i)!=' ' && pos1<0) pos1=i;
     if(myStr.charAt(myStr.length-i-1)!=' ' && pos2<0) pos2=myStr.length-i;
  }
  if(pos1<0 || pos2 <0) return("");
  return(myStr.substring(pos1,pos2));
}

function checkEmail(obj)
{
	a=obj.value;
	var i=a.length;
	var temp = a.indexOf('@');
	var tempd = a.indexOf('.');
	if (temp > 1) {
		if ((i-temp) > 3){
			
				if ((i-tempd)>0){
					return (true);
				}
			
		}
	}
	alert("Email地址有误！");
	obj.select();
	return (false);
}

function checkSerial(obj)
{
	a=obj.value;
	var temp1 = a.charAt(0);
	var temp2 = a.charAt(1);
	var temp3 = a.charAt(2);
	if(!checkNum(temp1))
	{
		alert("序列号第一位是数字！");
		obj.select();
		return (false);
	}
	if(!checkValid(temp2))
	{
		alert("第二位是字母！");
		obj.select();
		return (false);
	}
	if(!checkNum(temp3))
	{
		alert("第三位是数字！");
		obj.select();
		return (false);
	}

	return (true);
}


function checkDate(obj)
{
//alert(obj.value);
	datestr=obj.value;
	var lthdatestr=0;
//alert(datestr);
	if (datestr != "")
		lthdatestr= datestr.length ;
	else
		lthdatestr=0;		
//alert(lthdatestr);
	var tmpy="";
	var tmpm="";
	var tmpd="";
	var status;
	status=0;
	if ( lthdatestr== 0){
		return (true);
	}
	var i;
	for (i=0;i<lthdatestr;i++)
	{	
		if (datestr.charAt(i)== '-')
		{
			status++;
		}
		if (status>2)
		{
			alert("日期输入有误！");
			obj.select();
			return (false);
		}
		if ((status==0) && (datestr.charAt(i)!='-'))
		{
			tmpy=tmpy+datestr.charAt(i);
		}
		if ((status==1) && (datestr.charAt(i)!='-'))
		{
			tmpm=tmpm+datestr.charAt(i);
		}
		if ((status==2) && (datestr.charAt(i)!='-'))
		{
			tmpd=tmpd+datestr.charAt(i);
		}
	}
	year=new String (tmpy);
	month=new String (tmpm);
	day=new String (tmpd)
	tempdate= new String (year+month+day);
//alert(tempdate);
	if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
	{
		alert("输入日期的错误,格式如:2005-3-23！");
		obj.select();
		return (false);
	}
	if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
	{
		alert ("输入的日期越界！");
		obj.select();
		return (false);
	}
	if (!((year % 4)==0) && (month==2) && (day==29))
	{
		alert ("输入的日期不是闰年");
		obj.select();
		return (false);
	}
	if ((month<=7) && ((month % 2)==0) && (day>=31))
	{
		alert ("输入的日期不是大月！");
		obj.select();
		return (false);
	
	}
	if ((month>=8) && ((month % 2)==1) && (day>=31))
	{
		alert ("输入的日期不是大月！");
		obj.select();
		return (false);
	}
	if ((month==2) && (day==30))
	{
		alert("二月没有三十号！");
		obj.select();
		return (false);
	}
	
	return(true);
}


function checkArea(obj,type){
	var myValue;
	myValue=type.substring(type.indexOf('=')+1,type.length);
	if (obj.value.length>myValue){
		alert("字符串长度不能超过"+myValue+"!");
		obj.select();
		return(false);
		}
	return(true);
}

function NumBetween(obj,type){
	 var MathClass=type.substring(0,1);
	 var CompareNum=type.substring(1,type.length);
	 if (type.indexOf('=')>0){
	 	MathClass=type.substring(0,2);
	 	CompareNum=type.substring(2,type.length);
	 }
	 if(obj.value=="") {return(true);}
         if(!checkNum(obj)){return(false);}
         switch(MathClass){
		case ">=":{
			if(parseFloat(obj.value)<parseFloat(CompareNum)) {
				alert("请输入大于等于"+CompareNum+"的数!");
				obj.select();
				return(false);}
			break;
		}
		case ">":{
			if(parseFloat(obj.value)<=parseFloat(CompareNum)) {
				alert("请输入大于"+CompareNum+"的数!");
				obj.select();
				return(false);}
			break;
		}
		case "<=":{
			if(parseFloat(obj.value)>parseFloat(CompareNum)) {
				alert("请输入小于等于"+CompareNum+"的数!");
				obj.select();
				return(false);}
			break;
		}
		case "<":{
			if(parseFloat(obj.value)>=parseFloat(CompareNum)) {
				alert("请输入小于"+CompareNum+"的数!");
				obj.select();
				return(false);}
			break;
		}
		default:{}
	}
return(true);
}

function mySubmit(){
	var thisObj,thisCP,undefined;
	var thisForm;
	thisForm=event.srcElement;
	for (i=0; i<thisForm.elements.length;i++) {
  		thisObj=thisForm.elements(i);
  		if ((thisObj.CP!=undefined) && (thisObj.CP!="")) {
  		//if (thisObj.CP!=""){
  			thisCP=thisObj.CP;
  			while (thisCP.indexOf(';')>0){
  				myTemp=thisCP.substring(0,thisCP.indexOf(';'));
  				thisCP=thisCP.substring((thisCP.indexOf(';')+1),thisCP.length);
  				if(!checkAll(thisObj,myTemp)) {return (false);}
  			}
  				if(!checkAll(thisObj,thisCP)) {return (false);}
  		}	
  	}
return (true);	
}


function checkForm(k){
	var thisObj,thisCP,undefined;
	var thisForm;
	if (k==null) {k=0}
	thisForm=document.forms[k];
	for (i=0; i<thisForm.elements.length;i++) {
  		thisObj=thisForm.elements(i);
  		if ((thisObj.CP!=undefined) && (thisObj.CP!="")) {
  		//if (thisObj.CP!=""){
  			thisCP=thisObj.CP;
  			while (thisCP.indexOf(';')>0){
  				myTemp=thisCP.substring(0,thisCP.indexOf(';'));
  				thisCP=thisCP.substring((thisCP.indexOf(';')+1),thisCP.length);
  				if(!checkAll(thisObj,myTemp)) {return (false);}
  			}
  				if(!checkAll(thisObj,thisCP)) {return (false);}
  		}	
  	}
return (true);
}
function checkAll(obj,type){
	if (obj.nodeName=="TEXTAREA" && type.indexOf('Max')>=0){
		if(!checkArea(obj,type)){return(false);}
	}
	if ((type.indexOf('>')>=0)||(type.indexOf('<')>=0)) {
		if(!NumBetween(obj,type)){return (false);}
	}
	switch(type){
		case "NotNull":{
			if(!checkNotNull(obj)){return(false);}
			break;
		}
		case "Num":{
			if(!checkNum(obj)){return(false);}
			break;
		}
		case "Date":{
			if(!checkDate(obj)){return(false);}
			break;
		}
		case "Plus":{
			if(!checkPlus(obj)){return(false);}
			break;
		}
		case "Email":{
			if(!checkEmail(obj)){return(false);}
			break;
		}
		case "Valid":{
			if(!checkValid(obj)){return(false);}
			break;
		}
		case "Serial":{
			if(!checkSerial(obj)){return(false);}
			break;
		}
		default:{}
	}
return(true);
}
window.onload=Prepare;
function Prepare(){
	for(i=0;i<document.forms.length;i++){
		document.forms[i].onsubmit=mySubmit;
	}
}

