<!--
function validation(formValid,formList,formAlert) {

  var fromError = new Array();
  var alertStr = '';

  for (i=0,j=0;i < formList.length;i++) {
    element = formList[i];
    if(typeof formValid[element] != "undefined") {

      switch(formValid[element]['func'])
      {
      //日付チェック
      case "isValidDateYMD":
        var flg = true;
        if (typeof formValid[element]['year'] != "undefined" && typeof formValid[element]['month'] != "undefined" && typeof formValid[element]['day'] != "undefined") {
          year = document.getElementById(formValid[element]['year']).value;
          month = document.getElementById(formValid[element]['month']).value;
          day = document.getElementById(formValid[element]['day']).value;
          if (year && month && day) {
            flg = isValidDateYMD(year,month,day);
          }
        }
        if (!flg && (typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
          fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
          j++;
        } else {
          if (document.getElementById(formValid[element]['disp'])) {
            if (typeof formValid[element]['disp'] != "undefined"){
              document.getElementById(formValid[element]['disp']).style.display = 'none';
            }
          }
        }
      break;
      //日付範囲チェック
      case "isValidDateFromTo":
        var ymd = new Array();
        if(typeof formValid[element]['from'] != "undefined" && formValid[element]['from'].length > 0) {
          for(k=0;k < formValid[element]['from'].length;k++){
            if(typeof formValid[element]['from'][k] != "undefined"){
              ymd[k] = document.getElementById(formValid[element]['from'][k]).value;
            }
          }
          fromYmd = ymd[0] + ymd[1] + ymd[2];
        }
        if(typeof formValid[element]['to'] != "undefined" && formValid[element]['to'].length > 0) {
          for(k=0;k < formValid[element]['to'].length;k++){
            if(typeof formValid[element]['to'][k] != "undefined"){
              ymd[k] = document.getElementById(formValid[element]['to'][k]).value;
            }
          }
          toYmd = ymd[0] + ymd[1] + ymd[2];
        }
        if (fromYmd != "" && toYmd != "") {
          if (eval(fromYmd > toYmd) && (typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
            fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
            j++;
          }
        } else {
          if (document.getElementById(formValid[element]['disp'])) {
            document.getElementById(formValid[element]['disp']).style.display = 'none';
          }
        }
      break;
      //入力チェック
      case "isValidInputData":

        if (document.getElementById(formValid[element]['id']).value == "") {
          if ((typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
            fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
            j++;
          }
        } else {
          if (document.getElementById(formValid[element]['disp'])) {
            document.getElementById(formValid[element]['disp']).style.display = 'none';
          }
        }
      break;
      //選択必須チェック
      case "isValidChooseData":

    	flg = true;
        if (typeof formValid[element]['chooseId'] != "undefined" && formValid[element]['chooseId'].length > 0) {
          if(typeof formValid[element]['operator'] != "undefined" && (formValid[element]['operator'] != "AND" || formValid[element]['operator'] != "OR")){
            var check = 0;
            for(k=0;k < formValid[element]['chooseId'].length;k++){

              var elements_name = formValid[element]['chooseId'][k];
              var obj = document.getElementById(elements_name);

              if(obj){
                switch(obj.type)
                {
                case "text":
                case "textarea":
                case "password":
                case "file":
                  if(obj.value != ""){
                    //改行文字除外
                    var len = obj.value.length;
                    for(m=0,n=0,o=0,p=0;;n++){
                      o=obj.value.indexOf("\n",p);
                      if(o == -1) {
                        break;
                      }
                      p=o+2;
                    }
                    len = eval(len - n);
                    if(len > 0){
                      check++;
                    }
                  }
                break;
                case "radio":
                case "checkbox":
                  var elementsObj = obj.form.elements[elements_name];
                  for(m = 0; m < elementsObj.length; m++){
                    if(elementsObj[m].checked) {
                      check++;
                    }
                  }
                break;
                case "select-one":
                  if(obj.selectedIndex) {
                    check++;
                  }
                break;
                case "select-multiple":
                  for(m = 0; m < obj.length; m++){
                    if(obj.options[m].selected) {
                      check++;
                    }
                  }
                break;
                default:
                break;
                }
              }
            }
            switch(formValid[element]['operator'])
            {
            case "AND":
              if(check < formValid[element]['chooseId'].length){
                flg = false;
              }
            break;
            case "OR":
              if(check <= 0){
                flg = false;
              }
            break;
            default:
            break;
            }
            if(!flg) {
              if (!flg && (typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
                fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
                j++;
              }
            } else {
              if (typeof formValid[element]['disp'] != "undefined"){
                if (document.getElementById(formValid[element]['disp'])) {
                  document.getElementById(formValid[element]['disp']).style.display = 'none';
                }
              }
            }
          }
        }
      break;
      //最大最小チェック
      case "isValidMinMaxData":
        flg = true;
        if (typeof formValid[element]['id'] != "undefined" && formValid[element]['id'].length > 0) {
          var check = 0;
          var elements_name = formValid[element]['id'];
          var obj = document.getElementById(elements_name);
          if(obj){
            switch(obj.type)
            {
            case "text":
            case "textarea":
            case "password":
            case "file":
              len = obj.value.length;
              //改行文字除外
              var len = obj.value.length;
              for(m=0,n=0,o=0,p=0;;n++){
                o=obj.value.indexOf("\n",p);
                if(o == -1) {
                  break;
                }
                p=o+2;
              }
              check = eval(len - n);
            break;
            case "radio":
            case "checkbox":
              var elementsObj = obj.form.elements[elements_name];
              for(m = 0; m < elementsObj.length; m++){
                if(elementsObj[m].checked) {
                  check++;
                }
              }
            break;
            case "select-one":
              if(obj.selectedIndex) {
                check++;
              }
            break;
            case "select-multiple":
              for(m = 0; m < obj.length; m++){
                if(obj.options[m].selected) {
                  check++;
                }
              }
            break;
            default:
            break;
            }
          }
          if (typeof formValid[element]['min'] != "undefined") {
            if (check < formValid[element]['min']) {
              flg = false;
            }
          }
          if (typeof formValid[element]['max'] != "undefined") {
            if (check > formValid[element]['max']) {
              flg = false;
            }
          }
          if(!flg) {
            if (!flg && (typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
              fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
              j++;
            }
          } else {
            if (typeof formValid[element]['disp'] != "undefined"){
              document.getElementById(formValid[element]['disp']).style.display = 'none';
            }
          }
        }
      break;
      //全角カナチェック
      case "isValidZenKanaData":
        if(typeof document.getElementById(formValid[element]['id']).value != "undefined"){
          if (document.getElementById(formValid[element]['id']).value != "" && !chkKanaStringVal(document.getElementById(formValid[element]['id']).value,'Z')) {
            if ((typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
              fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
              j++;
            }
          } else {
            if (typeof formValid[element]['disp'] != "undefined"){
              if (document.getElementById(formValid[element]['disp'])) {
                document.getElementById(formValid[element]['disp']).style.display = 'none';
              }
            }
          }
        }
      break;
      //半角カナチェック
      case "isValidHanKanaData":
        if(typeof document.getElementById(formValid[element]['id']).value != "undefined"){
          if (document.getElementById(formValid[element]['id']).value != "" && !chkKanaStringVal(document.getElementById(formValid[element]['id']).value,'H')) {
            if ((typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
              fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
              j++;
            }
          } else {
            if (typeof formValid[element]['disp'] != "undefined"){
              if (document.getElementById(formValid[element]['disp'])) {
                document.getElementById(formValid[element]['disp']).style.display = 'none';
              }
            }
          }
        }
      break;
      //数値チェック
      case "isValidNumericData":
        if(typeof document.getElementById(formValid[element]['id']).value != "undefined"){
          if (document.getElementById(formValid[element]['id']).value != "" && !isNumericVal(document.getElementById(formValid[element]['id']).value)) {
            if ((typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
              fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
              j++;
            }
          } else {
            if (typeof formValid[element]['disp'] != "undefined"){
              if (document.getElementById(formValid[element]['disp'])) {
                document.getElementById(formValid[element]['disp']).style.display = 'none';
              }
            }
          }
        }
      break;
      //電話番号チェック
      case "isValidTelFormatData":

        if(typeof document.getElementById(formValid[element]['id']).value != "undefined"){
		if (document.getElementById(formValid[element]['id']).value != "" && !isNumericVal(document.getElementById(formValid[element]['id']).value)) {

            if ((typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
              fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
              j++;
            }
          } else {
            if (typeof formValid[element]['disp'] != "undefined"){
              if (document.getElementById(formValid[element]['disp'])) {
                document.getElementById(formValid[element]['disp']).style.display = 'none';
              }
            }
		  }
        }
      break;
      //Eメールチェック
      case "isValidEmailFormatData":
        if(typeof document.getElementById(formValid[element]['id']).value != "undefined"){
          if (document.getElementById(formValid[element]['id']).value != "" && !chkMailFormatVal(document.getElementById(formValid[element]['id']).value)) {
            if ((typeof formValid[element]['disp'] != "undefined") && (typeof formValid[element]['msg'] != "undefined")){
              fromError[j] = {'disp':formValid[element]['disp'],'msg':formValid[element]['msg']};
              j++;
            }
          } else {
            if (typeof formValid[element]['disp'] != "undefined"){
              if (document.getElementById(formValid[element]['disp'])) {
                document.getElementById(formValid[element]['disp']).style.display = 'none';
              }
            }
          }
        }
      break;
      default:
      break;
      }
    }
  }
  //エラーメッセージ表示
  if (fromError.length > 0) {
    for (i=0;i < fromError.length;i++) {
      if (typeof fromError[i]['msg'] != "undefined") {
        if (formAlert) {
          alertStr = alertStr + fromError[i]['msg'] + "\n";
        } else {
          if (document.getElementById(fromError[i]['disp'])) {
            document.getElementById(fromError[i]['disp']).style.display = 'block';
            document.getElementById(fromError[i]['disp']).innerHTML = fromError[i]['msg'];
          }
        }
      }
    }
    if (formAlert){
      alert(alertStr);
    }

    return false;
  } else {

    return true;
  }
}

//日付チェック
function isValidDateYMD(y,m,d) {
  var di = new Date(y,m-1,d);
  if(di.getFullYear() == y && di.getMonth() == m-1 && di.getDate() == d) {
    return true;
  } else {
    return false;
  }
}

//全角半角カナチェック
function chkKanaStringVal(str,type) {
  switch(type)
  {
  case"Z":
   //match = "^[ア-ンー・／（）＋＊＿－、．]+$";
    //if (str.match(match)) {
	if (str.match(/^[\u30A0-\u30FF]+$/)) {
      return true;
    } else {
      return false;
    }
  break;
  case "H":
    match = "^[ｱ-ﾝﾞﾟ-･/()+*_,.]+$";
    if (str.match(match)) {
      return true;
    } else {
      return false;
    }
  break;
  default:
  break;
  }
}
//電話番号チェック
function chkTelFormatVal(str) {

  var match = "^\d{1,6}-\d{0,4}-\d{4}$|^[0-9\-]+$";
  if(!str.match(match)){
    flg = false;
  } else {
    flg = true;
  }
  return flg;
}
//Eメールチェック
function chkMailFormatVal(str) {

  var match = "^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$";
  if(!str.match(match)){
    flg = false;
  } else {
    flg = true;
  }
  return flg;
}

//数値チェック
function isNumericVal(str) {

  if (isNaN(str)) {
    flg = false;
  } else {
    flg = true;
  }
  return flg;
}

//-->
