//禁止用户使用选择功能
function stopSelect(){
	if (event.srcElement.tagName =="INPUT") {return true}
	if (event.srcElement.tagName =="TEXTAREA") {return true}
	return false
}
//调试期暂时屏蔽
//document.onselectstart=stopSelect

//提交表单完整,参数Form
function checkIntegrity(obj){
	for (var i=0;i<obj.elements.length;i++){
		if (obj.elements[i].value ==""){
			alert("请完整填写！");
			obj.elements[i].select();
			return (false);
		}
	}
	return (true);
}
//单个对象value为空,参数Input
function checkNotNull(obj){
	if ((obj.value=="0") && (obj.tagName=="SELECT")) {
		alert("请选择！");
		return(false);
	}
	if (obj.value==""){
		if (obj.tagName=="SELECT") {
			alert("请选择！");
			obj.focus();
		}
		else {
			alert("请输入！");
			obj.select();
		}
		return(false);
	}
	return (true);
}
//是否为数字,参数Input
function checkNum(obj){
	if(""+obj.value*5=="NaN"){
              alert("必须为数字！");
              obj.select();
              return(false);
        }
        return(true);        
}
//是否为正数,参数Input
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);
}
//字符串合法,参数Form
function checkStr(myObj){
  var illegalStr="%#~^'"+'"';
  for (p=0;p<myObj.elements.length;p++){
  	for(var i=0;i<myObj.elements[p].value.length;i++){
     	for(var j=0;j<illegalStr.length;j++){
        	if(myObj.elements[p].value.charAt(i)==illegalStr.charAt(j)){
          	alert("在您的输入字符串中不能包含以下非法字符："+illegalStr);
          	myObj.select();
          	return(false);
        		}
     		}
  	}
  }
  return(true);
}
//字符串合法,参数Input
function checkValid(myObj){
  var illegalStr="%#~^'"+'"';
  for(var i=0;i<myObj.value.length;i++){
     	for(var j=0;j<illegalStr.length;j++){
        	if(myObj.value.charAt(i)==illegalStr.charAt(j)){
          	alert("在您的输入字符串中不能包含以下非法字符："+illegalStr);
          	myObj.select();
          	return(false);
        	}
     	}
  }
  return(true);
}
//Trim,参数String
function trim(myStr)
{
  var pos1=-1;
  var pos2=-1;
  for(var 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));
}
//检查是否为Email Address
function checkEmail(obj)
{
	a=obj.value;
	var i=a.length;
	var temp = a.indexOf('@');
	var tempd = a.indexOf('.');
	if ( (tempd > temp) && (temp > 1) && ((i-temp) > 3) && ((i-tempd)>0) ) {
		return (true);
	}
	alert("Email地址有误！");
	obj.select();
	return (false);
}
//功能介绍：检查是否为日期
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 (var i=0;i<lthdatestr;i++)
	{	
		if (datestr.charAt(i)== '-')
		{
			status++;
		}
		if (status>2)
		{
			alert("日期输入有误2！");
			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("输入日期的错误！");
		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);
}
//判断TEXTAREA的字符长度
function checkMax(obj,type){
	var myValue;
	myValue=type.substring(type.indexOf('=')+1,type.length);
	if (getLength(obj.value)>myValue){
		alert("字符串长度不能超过"+myValue+"!");
		obj.select();
		return(false);
		}
	return(true);
}
//读取字符串长度
function getLength(str) {
	var result;
	result = 0;
	for (var i=0;i<str.length;i++) {
		if (escape(str.substr(i,1)).length==6) {
			result+=2;
		}
		else {
			result+=1;
		}
	}
	return(result);
}
//本函数判断输入数据的范围
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 (var 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 (var 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){
	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;
		}
		default:{}
	}
	if (type.indexOf('Max')>=0){
		if(!checkMax(obj,type)){return(false);}
	}
	if ((type.indexOf('>')>=0)||(type.indexOf('<')>=0)) {
		if(!NumBetween(obj,type)){return (false);}
	}
return(true);
}
window.onload=Prepare;
function Prepare(){
	for(var i=0;i<document.forms.length;i++){
		document.forms[i].onsubmit=mySubmit;
	}
}