// JavaScript Document
errMsg1="不能为空！";
errMsg2="格式不正确！";
errMsg3="有非法字符！";
errMsg4="字数不能超过1000！";
errMsg5="字数不能超过";
errMsg6="不能为负数！";
function validateForm(){
	
var allElements = document.all;
var len = allElements.length; 
var flag = true;
for (var i=0; i<len; i++){
  if (allElements[i].needCheck=="true"){	
 	
	
	//检查长度
	//alert( allElements[i].name+" is overflow:"+ allElements[i].value.length>allElements[i].kmpMaxLength);
	if (allElements[i].kmpMaxLength>0 && allElements[i].value.length>allElements[i].kmpMaxLength){
			 alert(allElements[i].displayName+errMsg5+allElements[i].kmpMaxLength+"!");
			 return false;
	}
	
	//检查非空及内容类型
 
 	if (checkNull(allElements[i])==false){
			 allElements[i].focus();
			 flag = false;			 
			 break;
			 //return false;
	}
	
  }
}
//alert("flag:"+flag);
/*
if(flag){
	showCoverPage();
	}
	*/
return flag;
}

function checkNull(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
//alert(displayName);
	if (obj.allowNull=="false"){
	//alert(displayName+"::name::"+obj.name+"::"+obj.checkType);
	//alert(displayName+"::id::"+obj.id+"::"+obj.style.visibility);
	
	/**
	*注意：这里使用了自定义的方法Trim，必须在Common.js文件中有这个方法，否则整个校验方法都会出错
	*/
	 	if (obj.value==""|| Trim(obj.value)==""){
			alert(displayName+","+errMsg1);
			return false;
		}else{
			return  checkFormat(obj); 
		} 
	}else{
		//alert(displayName+"::name::"+obj.name+"::"+obj.checkType);
		return  checkFormat(obj); 
	} 
}


function checkFormat(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;

if (checkType=="datetime"){
    return checkDatetime(obj);     
}
else if (checkType=="date"){
	//alert(displayName+"::name::"+obj.name+"::"+obj.checkType);
     return checkDate(obj);    
}
else if (checkType=="time"){
     return checkTime(obj);
}
else if (checkType=="number"){
     return checkNumber(obj);
}

else if (checkType=="wholenumber"){
     return checkWholeNumber(obj);
}
else if (checkType.toLowerCase()=="integer"){
     return checkInteger(obj);
}



else if (checkType.toLowerCase()=="wholeinteger"){
     return checkWholeInteger(obj);
}
else if (checkType=="postcode"){
      return checkPostcode(obj);

}
else if (checkType=="email"){
     return checkEmail(obj);    
}
else if (checkType=="idcard"){
     return checkIdcard(obj);
}
else if (checkType=="phoneNumber"){
     return checkPhoneNumber(obj);
}
else{
return true;
}
return false;
}
//===================??EMAIL??=================
function checkEmail(obj) {
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
if (obj.value.indexOf("@")==-1 || obj.value.indexOf(".")==-1){      
      alert(displayName+","+errMsg2);
       return false;
 }
 }
}
//===================??datetime??=================
function checkDatetime(obj) {
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){

}
}

function checkDate(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
		var str = obj.value;
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
	if(r==null){
		 alert(displayName+","+errMsg2+" 正确格式为：2005-01-01");
		return false; 
	}
	var d = new Date(r[1], r[3]-1, r[4]);
	if(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]){
		return true;
	}else{
		  alert(displayName+","+errMsg2+" 正确格式为：2005-01-01");
		  return false;
	}
	
	

}
}
//===================??time??=================
function checkTime(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){

}
}
//只允许正数,modify by skywave at 20060315
function checkNumber(obj){
	
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
if(!obj.value.match(/^[0-9.-E]*$/i))
     {
		 
         alert(displayName+","+errMsg3);
         return false;
    }else{
		if(obj.value<0){
		  alert(displayName+","+errMsg6);
         return false;
		}
	}
	}
	return true;
}
//只允许正负数,modify by skywave at 20060315
function checkWholeNumber(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
if(!obj.value.match(/^[0-9.-E]*$/i))
     {
		 
         alert(displayName+","+errMsg3);
         return false;
     }

}
return true;
}

//只允许正数,modify by skywave at 20060315
function checkInteger(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
if(!obj.value.match(/^[0-9-]*$/i))
     {
		 
         alert(displayName+","+errMsg3+" 所填内容必须是整数");
         return false;
     } else{
		if(obj.value<0){
		  alert(displayName+","+errMsg6);
         return false;
		}
	}

}
	return true;
}

//只允许正负数,modify by skywave at 20060315
function checkWholeInteger(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
if(!obj.value.match(/^[0-9-]*$/i))
     {
		 
         alert(displayName+","+errMsg3+" 所填内容必须是整数");
         return false;
     }

}
	return true;
}
//===================??postcode??=================
function checkPostcode(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){
 if(obj.value.length!=6)
     {
         alert(displayName+"?"+errMsg2);
         return false;

     }
     else if (!obj.value.match(/^[0-9]*$/i))
     {
     alert(displayName+","+errMsg3);
     return false;
     }
}
	return true;
}
//===================??idcard??=================
function checkIdcard(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){

}
}
//===================??phoneNumber??=================
function checkPhoneNumber(obj){
var checkType=obj.checkType;
var displayName=obj.displayName;
if (obj.value!=""){

}
}
