/**
 * OK
 * 输入框校验类
 * 需要载入：document.js, string.js, number.js,
 */
var CheckUtil = {
/**
 * 检测输入框的值是否为空
 * inputName     输入框名称
 * alertContext  警告内容
 */
  isEmpty: function (inputName, alertContext) {
    var objInput = Document.getObject(inputName);
    if (objInput == null) {
      alert(alertContext);
      return true;
    }
    if (StringUtil.isEmpty(objInput.value)) {
      alert(alertContext);
      if (objInput.type != 'hidden') {
        Field.activate(objInput);
      }
      return true;
    }
    else {
      return false;
    }
  },

/**
 * 检测输入框数组中的所有值是否为空
 * inputsName     输入框数组名称
 * alertContext  警告内容
 */
  isEmptys: function (inputsName, alertContext) {
    var objInputs = Document.getObjects(inputsName);
    if (objInputs == null) {
      alert(alertContext);
      return true;
    }
    for (var i = 0; i < objInputs.length; i++) {
      if (StringUtil.isEmpty(objInputs[i].value)) {
        alert(alertContext);
        if (objInputs[i].type != 'hidden') {
          Field.activate(objInputs[i]);
        }
        return true;
      }
    }
    return false;
  },


/**
 * 检测checkbox框是否全部未选中
 * checkboxName     checkbox框名称
 * alertContext  警告内容
 */
  isUnSelected:function (checkboxName, alertContext) {
    var objCheckboxs = Document.getObjects(checkboxName);
    if (objCheckboxs == null) {
      alert(alertContext);
      return true;
    }
    for (var i = 0; i < objCheckboxs.length; i++) {
      if (objCheckboxs[i].checked) return false;
    }
    alert(alertContext);
    return true;
  },

/**
 * 检测输入框的值是否为0
 * inputName     输入框名称
 * alertContext  警告内容
 */
  isInputZero: function (inputName, alertContext) {
    var objInput = Document.getObject(inputName);
    if (objInput == null) {
      alert(alertContext);
      return true;
    }
    if (NumberUtil.toFloat(objInput.value) == 0) {
      alert(alertContext);
      if (objInput.type != 'hidden') {
        Field.activate(objInput);
      }
      return true;
    }
    else {
      return false;
    }
  },

/**
 * 检测输入框数组的值是否都为0
 * inputsName     输入框数组名称
 * alertContext  警告内容
 */
  isInputsZero: function (inputsName, alertContext) {
    var objInputs = Document.getObjects(inputsName);
    if (objInputs == null) {
      alert(alertContext);
      return true;
    }
    for (var i = 0; i < objInputs.length; i++) {
      if (NumberUtil.toFloat(objInputs[i].value) == 0) {
        alert(alertContext);
        if (objInputs[i].type != 'hidden') {
          Field.activate(objInputs[i]);
        }
        return true;
      }
    }
    return false;
  },

  /**
  * 检查输入文件的扩展名不是指定的后缀
  * inputName     输入框名称
  * patterns      文件后缀名匹配模板 如:bmp,jpg,gif
  * alertContext  警告内容
  */
  isUnFileExt:function (inputName, patterns, alertContext){
    var ext = patterns.split(",");
    var fileinput = Document.getObject(inputName);
    var value=fileinput.value.toUpperCase();
    if(StringUtil.isEmpty(value)){
        alert("请选择文件");
        Field.activate(fileinput);
        return true;
    }
    if(value.charAt(0)=='.'){
      alert(alertContext);
      Field.activate(fileinput);
      return true;
    }
    for(var i=0;i<ext.length;i++){
      var pattern = '.'+StringUtil.trim(ext[i]);
      if(value.length>pattern.length){
        var postfixname = value.substring((value.length-pattern.length));
        if(postfixname.toUpperCase()==pattern.toUpperCase()) return false;
      }
    }
    alert(alertContext);
    Field.activate(fileinput);
    return true;
  },

/**
* 检查输入文件的扩展名不是指定的后缀
* inputsName    输入框数组名称
* patterns      文件后缀名匹配模板 如:bmp,jpg,gif
* alertContext  警告内容
*/

  isUnFilesExt:function (inputsName, patterns, alertContext){
    var filesinput = Document.getObjects(inputsName);
    var ext = patterns.split(",");
    for(var i=0;i<filesinput.length;i++){
      var value=filesinput[i].value.toUpperCase();
      if(StringUtil.isEmpty(value)){
        alert("请选择文件");
        Field.activate(filesinput[i]);
        return true;
      }
      if(value.charAt(0)=='.'){
        alert(alertContext);
        Field.activate(filesinput[i]);
        return true;
      }
      var bool = true;
      for(var j=0;j<ext.length;j++){
        var pattern = '.'+StringUtil.trim(ext[j]);
        if(value.length>pattern.length){
          var postfixname = value.substring((value.length-pattern.length));
          if(postfixname.toUpperCase()==pattern.toUpperCase()){
            bool = false;
            break;
          }
        }
      }
      if(bool){
        alert(alertContext);
        Field.activate(filesinput[i]);
        return true;
      }
    }
    return false;
  },

  /**
  * 调用ajax进行数据校验
  * url:校验动作
  * parameterObject:参数对象 如 {"name":"张三","sex":"男"}
  * disposeFunction:校验处理函数
  */
  verify:function(url,parameterObject,disposeFunction){
    var hash = $H(parameterObject);
    var param = hash.toQueryString();
    if(StringUtil.isEmpty(param)){
      param=("timeSerial=").concat(new Date().getTime());
    }
    else{
      param=param.concat("&timeSerial=").concat(new Date().getTime());
    }
    var option = {
            method: 'get',
            parameters: param,
            asynchronous:true,
            onComplete: function(request){
               disposeFunction(request.responseText);
            },
            onFailure:function(request) {
              alert("系统出现错误！");
            }
        }
    var ajax = new Ajax.Request(url, option);
  }
}

