function checkForm(oForm){
  if(typeof (oForm)=="object"){
    if(oForm.tagName.toUpperCase()!="FORM"){
      while(oForm.tagName.toUpperCase()=="FORM"){
        oForm=oForm.parent;
      }
    }
  }else {
    oForm=event.srcElement;
  }
  var eles=oForm.elements;
  for(var i=0;i<eles.length;i++){
    var blnMustInput=eles[i].mustInput;
    if(blnMustInput=="true"){
      blnMustInput=true;
    }else {
      blnMustInput=false;
    }
    var sType=eles[i].valueType;
    if(sType){
      if(blnMustInput){
        if(eles[i].value==""){
          if(eles[i].objName!=null){
            alert("["+eles[i].objName+"]\u4e0d\u53ef\u4ee5\u4e3a\u7a7a");
          }else {
            alert("\u8be5\u6587\u672c\u6846\u4e3a\u5fc5\u8f93\u5b57\u6bb5");
          }
          eles[i].focus();
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
      }
      switch(sType){
      case "int":
        if(!checkInt(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "float":
        if(!checkFloat(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "string":
        if(!checkString(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "date":
        if(!checkDate(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "email":
        if(!checkEmail(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "radio":
        if(!checkRadio(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "checkbox":
        if(!checkBox(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "select":
        if(!checkSelect(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "list":
        if(!checkList(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      case "compare":
        if(!validCompare(eles[i])){
          try{
            event.returnValue=true;
          }
          catch(e){
          }
          return false;
        }
        break ;
      }
    }
  }
  try{
    event.returnValue=true;
  }
  catch(e){
  }
  return true;
}
function checkInt(ele){
  if(!isInt(ele.value)){
    alert("["+ele.objName+"]\u8bf7\u8f93\u5165\u6709\u6548\u6574\u6570");
    ele.focus();
    return false;
  }else {
    if(ele.maxInput!=null&&!isNaN(ele.maxInput)){
      if(parseInt(ele.maxInput)<parseInt(ele.value)){
        alert("["+ele.objName+"]\u60a8\u8f93\u5165\u7684"+convertNullToSpace(ele.objName)+"\u503c\u5e94\u8be5\u5c0f\u4e8e"+ele.maxInput);
        ele.focus();
        return false;
      }
    }
    if(ele.minInput!=null&&!isNaN(ele.minInput)){
      if(parseInt(ele.minInput)>parseInt(ele.value)){
        alert("["+ele.objName+"]\u60a8\u8f93\u5165\u7684"+convertNullToSpace(ele.objName)+"\u503c\u5e94\u8be5\u5927\u4e8e"+ele.minInput);
        ele.focus();
        return false;
      }
    }
  }
  return true;
}
function checkFloat(ele){
  if(isNaN(ele.value)){
    alert("["+ele.objName+"]\u8bf7\u8f93\u5165\u6709\u6548\u6570\u5b57");
    ele.focus();
    return false;
  }else {
    if(ele.decimalLen!=null&&!checkDecimal(ele.value,ele.decimalLen)){
      alert("["+ele.objName+"]\u60a8\u8f93\u5165\u7684"+convertNullToSpace(ele.objName)+"\u503c\u5c0f\u6570\u4f4d\u6700\u591a\u4e3a"+ele.decimalLen);
      ele.focus();
      return false;
    }
    if(ele.maxInput!=null&&!isNaN(ele.maxInput)){
      if(parseInt(ele.maxInput)<parseInt(ele.value)){
        alert("["+ele.objName+"]\u60a8\u8f93\u5165\u7684"+convertNullToSpace(ele.objName)+"\u503c\u5e94\u8be5\u5c0f\u4e8e"+ele.maxInput);
        ele.focus();
        return false;
      }
    }
    if(ele.minInput!=null&&!isNaN(ele.minInput)){
      if(parseInt(ele.minInput)>parseInt(ele.value)){
        alert("["+ele.objName+"]\u60a8\u8f93\u5165\u7684"+convertNullToSpace(ele.objName)+"\u503c\u5e94\u8be5\u5927\u4e8e"+ele.minInput);
        ele.focus();
        return false;
      }
    }
  }
  return true;
}
function checkString(ele){
  if(ele.stringLen!=null&&!isNaN(ele.stringLen)){
    var value=new String(ele.value);
    if(value.length>parseInt(ele.stringLen)){
      alert("["+ele.objName+"]\u60a8\u8f93\u5165\u7684"+convertNullToSpace(ele.objName)+"\u6700\u5927\u957f\u5ea6\u4e3a"+ele.stringLen);
      ele.focus();
      return false;
    }
  }
  return true;
}
function checkDate(ele){
  if(!isDate(ele.value)  && ele.getAttribute("mustInput") == "true" ){
    alert("["+ele.objName+"]\u8bf7\u8f93\u5165\u6709\u6548\u65e5\u671f(yyyy-mm-dd)");
    ele.focus();
    return false;
  }
  return true;
}
function checkEmail(ele){
  if(!isEmail(ele.value) && ele.getAttribute("mustInput") == "true"){
    alert("["+ele.objName+"]\u8bf7\u8f93\u5165\u6709\u6548\u90ae\u7bb1");
    ele.focus();
    return false;
  }
  return true;
}
function checkRadio(ele){
  var _form=ele.parentElement;
  while(_form.tagName.toLowerCase()!="form"){
    _form=_form.parentElement;
  }
  var rads=_form[ele.name];
  var selectCount=0;
  for(var i=0;i<rads.length;i++){
    if(rads[i].checked){
      selectCount++;
    }
  }
  if(ele.mustSelect!=null&&ele.mustSelect=="true"){
    if(selectCount==0){
      alert("\u8bf7\u9009\u62e9["+convertNullToSpace(ele.objName)+"]");
      ele.focus();
      return false;
    }
  }
  return true;
}
function checkBox(ele){
  var _form=ele.parentElement;
  while(_form.tagName.toLowerCase()!="form"){
    _form=_form.parentElement;
  }
  var chks=_form[ele.name];
  var selectCount=0;
  for(var i=0;i<chks.length;i++){
    if(chks[i].checked){
      selectCount++;
    }
  }
  if(ele.minSelect!=null&&!isNaN(ele.minSelect)){
    if(selectCount<parseInt(ele.minSelect)){
      alert("["+convertNullToSpace(ele.objName)+"]\u81f3\u5c11\u9009\u62e9"+ele.minSelect+"\u9879");
      ele.focus();
      return false;
    }
  }
  if(ele.maxSelect!=null&&!isNaN(ele.maxSelect)){
    if(selectCount>parseInt(ele.maxSelect)){
      alert("["+convertNullToSpace(ele.objName)+"]\u81f3\u591a\u9009\u62e9"+ele.maxSelect+"\u9879");
      ele.focus();
      return false;
    }
  }
  return true;
}
function checkSelect(ele){
  return true;
}
function checkList(ele){
  var selectCount=0;
  for(var i=0;i<ele.options.length;i++){
    if(ele.options[i].selected){
      selectCount++;
    }
  }
  if(ele.minSelect!=null&&!isNaN(ele.minSelect)){
    if(selectCount<parseInt(ele.minSelect)){
      alert("["+convertNullToSpace(ele.objName)+"]\u81f3\u5c11\u9009\u62e9"+ele.minSelect+"\u9879");
      ele.focus();
      return false;
    }
  }
  if(ele.maxSelect!=null&&!isNaN(ele.maxSelect)){
    if(selectCount>parseInt(ele.maxSelect)){
      alert("["+convertNullToSpace(ele.objName)+"]\u81f3\u591a\u9009\u62e9"+ele.maxSelect+"\u9879");
      ele.focus();
      return false;
    }
  }
  return true;
}
function validCompare(ele){
  var valid=false;
  var compareTo=ele.getAttribute("to");
  for(var k=0;k<ele.length;k++){
    if(ele[i].name==compareTo&&ele[i].value==ele.value){
      valid=true;
      break ;
    }
  }
  return valid;
}
function isInt(s){
  var patrn=/^[-,+]{0,1}[0-9]{0,}$/;
  if(!patrn.exec(s)){
    return false;
  }
  return true;
}
function isNumber(s){
  var patrn=/^[-,+]{0,1}[0-9]{0,}[.]{0,1}[0-9]{0,}$/;
  if(!patrn.exec(s)){
    return false;
  }
  return true;
}
function isDate(str){
  var r=str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  if(r==null){
    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 false;
  }
  return true;
}
function isEmail(str){
  if(str.match(/[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/ig)!=str){
    return false;
  }else {
    return true;
  }
}
function convertNullToSpace(paramValue){
  if(paramValue==null){
    return "";
  }else {
    return paramValue;
  }
}
function checkDecimal(num,decimalLen){
  var len=decimalLen*1+1;
  if(num.indexOf(".")>0){
    num=num.substr(num.indexOf(".")+1,num.length-1);
    if((num.length)<len){
      return true;
    }else {
      return false;
    }
  }
  return true;
}
