// リセット
function Clear() {
  var radioname = '';

  with( document.CsvSearch ) {
    for( i=0; i < elements.length; i++ ) {
      if( elements[i].name.match('IS_KEY_S+') || elements[i].name.match('RNG_+')
          || elements[i].name.match('IS_CHK_OR_S+') ) {
        switch (elements[i].type) {
          case "checkbox":
            elements[i].checked = false;
            break;
          case "select-one":
            elements[i].selectedIndex = 0;
            break;
          case "select-multiple":
            elements[i].selectedIndex = -1;
            break;
          case "radio":
            if( radioname != elements[i].name ) {
              elements[i].checked = true; 
              elements[i].defaultChecked = true; 
              radioname = elements[i].name;
            }
            break;
          default: 
            elements[i].value = '';
            break;
        }
      }
    }
    IS_NUMBER.selectedIndex = 0;
  }
}

// ボタンタイプ項目での検索時の他項目の値をクリア
function ButtonTypeClear() {
  var radioname = '';

  with( document.CsvSearch ) {
    for( i=0; i < elements.length; i++ ) {
      if( elements[i].name.match('IS_KEY_S+') || elements[i].name.match('RNG_+')
          || elements[i].name.match('IS_CHK_OR_S+') ) {
        switch (elements[i].type) {
          case "checkbox":
            elements[i].checked = false;
            break;
          case "select-one":
            elements[i].selectedIndex = 0;
            break;
          case "select-multiple":
            elements[i].selectedIndex = -1;
            break;
          case "radio":
            elements[i].checked = false; 
            elements[i].defaultChecked = false; 
            break;
          default: 
            elements[i].value = '';
            break;
        }
      }
    }
    IS_NUMBER.selectedIndex = 0;
  }
}

// ボタンタイプ項目での検索
function typebuttonSearch( no, pos ) {

  ButtonTypeClear();

  document.CsvSearch.elements["IS_KEY_S" + no].value = '\"' + document.CsvSearch.elements["BTN_KEY_S" + no + "_" + pos].value + '\"';

  if(document.CsvSearch.IS_NUMBER.length) {
    for(i = 0; i < document.CsvSearch.IS_NUMBER.length; i++) {
      if (document.CsvSearch.IS_NUMBER[i].selected) {
        document.CsvSearch.SUM_NUMBER.value = document.CsvSearch.IS_NUMBER[i].value;
      }
    }
  }

  //クッキーの設定
  document.cookie="IS_STYLE=default;";
  document.CsvSearch.submit();
}

// 検索
function search() {
  var i;

  // 範囲検索条件チェック ＆ ボタン項目の値クリア
  

  // 検索条件チェック
  with( document.CsvSearch ) {
    var flg = false;

    for( i=0; i < elements.length; i++ ) {
      if( elements[i].name.match('IS_KEY_S+') || elements[i].name.match('RNG_+')
          || elements[i].name.match('IS_CHK_OR_S+') ) {
        switch (elements[i].type) {
          case "checkbox":
            if( elements[i].checked ) {
              flg = true;
            }
            break;
          case "select-one":
            if( elements[i].selectedIndex != 0 ) {
              flg = true;
            }
            break;
          case "select-multiple":
            if( elements[i].selectedIndex != -1 ) {
              flg = true;
            }
            break;
          case "radio":
            if( elements[i].checked ) {
              flg = true;
            }
            break;
          default: 
            if( elements[i].value != '' ) {
              flg = true;
            }
            break;
        }
        if( flg ) {
          break;
        }
      }
    }

    if( !flg ) {
      alert( "キーワードを入力して下さい。" );
      return false;
    }
  }

  if(document.CsvSearch.IS_NUMBER.length) {
    for(i = 0; i < document.CsvSearch.IS_NUMBER.length; i++) {
      if (document.CsvSearch.IS_NUMBER[i].selected) {
        document.CsvSearch.SUM_NUMBER.value = document.CsvSearch.IS_NUMBER[i].value;
      }
    }
  }

  //クッキーの設定
  document.cookie="IS_STYLE=default;";
  return true;
}

// 範囲検索チェック
function rangeSearch( start, end, range ) {
  with( document.CsvSearch ) {
    if( elements["IS_" + start] ) {
      elements["IS_" + start].value = '';
    }
    if( elements["IS_" + end] ) {
      elements["IS_" + end].value = '';
    }
    
    start_val = elements[start].value;
    end_val = elements[end].value;
    if( start_val.length < 1 && end_val.length < 1) {
      return true;
    }

    // 数値チェック
    chkStart = checkNumber( elements[start] );
    chkEnd = checkNumber( elements[end] );
    if( chkStart == null || chkEnd == null ) {
      return false;
    }

    // 桁あわせ処理
    chkStart = setStr( chkStart, range, "0" );
    if( chkEnd == "" ) {
      chkEnd = setStr( chkEnd, range, "9" );
    } else {
      chkEnd = setStr( chkEnd, range, "0" );
    }

    // 上限、下限チェック
    if( chkStart > chkEnd ) {
      alert("範囲が不正です。");
      elements[start].focus();
      elements[start].select();
      return false;
    }

    elements["IS_" + start].value = chkStart;
    elements["IS_" + end].value = chkEnd;
  }

  return true;
}

// 年範囲検索チェック
function rangeSearchYYYY( start, end ) {
  with( document.CsvSearch ) {
    if( elements["IS_" + start] ) {
      elements["IS_" + start].value = '';
    }
    if( elements["IS_" + end] ) {
      elements["IS_" + end].value = '';
    }

    start_val1 = elements[start + "_1"].value;
    end_val1 = elements[end + "_1"].value;

    if( start_val1.length < 1 && end_val1.length < 1) {
      return true;
    }

    // 数値チェック
    chkStart1 = checkNumberYMD( elements[start + "_1"] );
    if( chkStart1 == null ) {
      alert("年は数値で指定して下さい。");
      return false;
    }
    chkEnd1 = checkNumberYMD( elements[end + "_1"] );
    if( chkEnd1 == null ) {
      alert("年は数値で指定して下さい。");
      return false;
    }

    // 桁あわせ処理
    if( chkStart1 == "" ) {
      chkStart1 = '0001';
    } else {
      chkStart1 = setStr( chkStart1, 4, "0" );
    }
    if( chkEnd1 == "" ) {
      chkEnd1 = setStr( chkEnd1, 4, "9" );
    } else {
      chkEnd1 = setStr( chkEnd1, 4, "0" );
    }

    // 上限、下限チェック
    chkStart = chkStart1;
    chkEnd = chkEnd1;
    if( chkStart > chkEnd ) {
      alert("年の範囲が不正です。");
      elements[start + "_1"].focus();
      elements[start + "_1"].select();
      return false;
    }

    elements["IS_" + start].value = chkStart;
    elements["IS_" + end].value = chkEnd;
  }

  return true;
}

// 年月範囲検索チェック
function rangeSearchYYYYMM( start, end ) {
  with( document.CsvSearch ) {
    if( elements["IS_" + start] ) {
      elements["IS_" + start].value = '';
    }
    if( elements["IS_" + end] ) {
      elements["IS_" + end].value = '';
    }

    start_val1 = elements[start + "_1"].value;
    start_val2 = elements[start + "_2"].value;
    end_val1 = elements[end + "_1"].value;
    end_val2 = elements[end + "_2"].value;
    if( start_val1.length < 1 && end_val1.length < 1 && start_val2.length < 1 && end_val2.length < 1) {
      return true;
    }

    // 数値チェック
    chkStart1 = checkNumberYMD( elements[start + "_1"] );
    if( chkStart1 == null ) {
      alert("年は数値で指定して下さい。");
      return false;
    }
    chkStart2 = checkNumberYMD( elements[start + "_2"] );
    if( chkStart2 == null ) {
      alert("月は数値で指定して下さい。");
      return false;
    }
    chkEnd1 = checkNumberYMD( elements[end + "_1"] );
    if( chkEnd1 == null ) {
      alert("年は数値で指定して下さい。");
      return false;
    }
    chkEnd2 = checkNumberYMD( elements[end + "_2"] );
    if( chkEnd2 == null ) {
      alert("月は数値で指定して下さい。");
      return false;
    }

    // 桁あわせ処理
    if( chkStart1 == "" ) {
      chkStart1 = '0001';
    } else {
      chkStart1 = setStr( chkStart1, 4, "0" );
    }
    if( chkEnd1 == "" ) {
      chkEnd1 = setStr( chkEnd1, 4, "9" );
    } else {
      chkEnd1 = setStr( chkEnd1, 4, "0" );
    }

    if( chkStart2 == "" ) {
      chkStart2 = '01';
    } else {
      chkStart2 = setStr( chkStart2, 2, "0" );
    }
    if( chkEnd2 == "" ) {
      chkEnd2 = '12';
    } else {
      chkEnd2 = setStr( chkEnd2, 2, "0" );
    }

    // 有効値チェック
    if( chkStart2 != null && (chkStart2 < "01" || chkStart2 > "12") ) {
      elements[start + "_2"].focus();
      elements[start + "_2"].select();
      alert("月は1～12で指定して下さい。");
      return false;
    }
    if( chkEnd2 != null && (chkEnd2 < "01" || chkEnd2 > "12") ) {
      elements[end + "_2"].focus();
      elements[end + "_2"].select();
      alert("月は1～12で指定して下さい。");
      return false;
    }

    // 上限、下限チェック
    chkStart = chkStart1+chkStart2;
    chkEnd = chkEnd1+chkEnd2;
    if( chkStart > chkEnd ) {
      alert("年月の範囲が不正です。");
      elements[start + "_1"].focus();
      elements[start + "_1"].select();
      return false;
    }

    elements["IS_" + start].value = chkStart;
    elements["IS_" + end].value = chkEnd;
  }

  return true;
}

// 年月日範囲検索チェック
function rangeSearchYYYYMMDD( start, end ) {
  with( document.CsvSearch ) {
    if( elements["IS_" + start] ) {
      elements["IS_" + start].value = '';
    }
    if( elements["IS_" + end] ) {
      elements["IS_" + end].value = '';
    }

    start_val1 = elements[start + "_1"].value;
    start_val2 = elements[start + "_2"].value;
    start_val3 = elements[start + "_3"].value;
    end_val1 = elements[end + "_1"].value;
    end_val2 = elements[end + "_2"].value;
    end_val3 = elements[end + "_3"].value;
    if( start_val1.length < 1 && end_val1.length < 1 && start_val2.length < 1 && end_val2.length < 1 && start_val3.length < 1 && end_val3.length < 1 ) {
      return true;
    }

    // 数値チェック
    chkStart1 = checkNumberYMD( elements[start + "_1"] );
    if( chkStart1 == null ) {
      alert("年は数値で指定して下さい。");
      return false;
    }
    chkStart2 = checkNumberYMD( elements[start + "_2"] );
    if( chkStart2 == null ) {
      alert("月は数値で指定して下さい。");
      return false;
    }
    chkStart3 = checkNumberYMD( elements[start + "_3"] );
    if( chkStart3 == null ) {
      alert("日は数値で指定して下さい。");
      return false;
    }
    chkEnd1 = checkNumberYMD( elements[end + "_1"] );
    if( chkEnd1 == null ) {
      alert("年は数値で指定して下さい。");
      return false;
    }
    chkEnd2 = checkNumberYMD( elements[end + "_2"] );
    if( chkEnd2 == null ) {
      alert("月は数値で指定して下さい。");
      return false;
    }
    chkEnd3 = checkNumberYMD( elements[end + "_3"] );
    if( chkEnd3 == null ) {
      alert("日は数値で指定して下さい。");
      return false;
    }

    // 桁あわせ処理
    if( chkStart1 == "" ) {
      chkStart1 = '0001';
    } else {
      chkStart1 = setStr( chkStart1, 4, "0" );
    }
    if( chkEnd1 == "" ) {
      chkEnd1 = setStr( chkEnd1, 4, "9" );
    } else {
      chkEnd1 = setStr( chkEnd1, 4, "0" );
    }

    if( chkStart2 == "" ) {
      chkStart2 = '01';
    } else {
      chkStart2 = setStr( chkStart2, 2, "0" );
    }
    if( chkEnd2 == "" ) {
      chkEnd2 = '12';
    } else {
      chkEnd2 = setStr( chkEnd2, 2, "0" );
    }

    if( chkStart3 == "" ) {
      chkStart3 = '01';
    } else {
      chkStart3 = setStr( chkStart3, 2, "0" );
    }
    if( chkEnd3 == "" ) {
      chkEnd3 = '31';
    } else {
      chkEnd3 = setStr( chkEnd3, 2, "0" );
    }

    // 有効値チェック
    if( chkStart2 != null && ( chkStart2 < "01" || chkStart2 > "12" ) ) {
      elements[start + "_2"].focus();
      elements[start + "_2"].select();
      alert("月は1～12で指定して下さい。");
      return false;
    }
    if( chkEnd2 != null && ( chkEnd2 < "01" || chkEnd2 > "12" ) ) {
      elements[end + "_2"].focus();
      elements[end + "_2"].select();
      alert("月は1～12で指定して下さい。");
      return false;
    }

    if( chkStart3 != null && ( chkStart3 < "01" || chkStart3 > "31" ) ) {
      elements[start + "_3"].focus();
      elements[start + "_3"].select();
      alert("日は1～31で指定して下さい。");
      return false;
    }
    if( chkEnd3 != null && ( chkEnd3 <"01" || chkEnd3 > "31" ) ) {
      elements[end + "_3"].focus();
      elements[end + "_3"].select();
      alert("日は1～31で指定して下さい。");
      return false;
    }

    // 上限、下限チェック
    chkStart = chkStart1 + chkStart2 + chkStart3;
    chkEnd = chkEnd1 + chkEnd2 + chkEnd3;
    if( chkStart > chkEnd ) {
      alert("年月日の範囲が不正です。");
      elements[start + "_1"].focus();
      elements[start + "_1"].select();
      return false;
    }

    elements["IS_" + start].value = chkStart;
    elements["IS_" + end].value = chkEnd;
  }

  return true;
}

// 数値変換（年月日）
function checkNumberYMD( text ) {
  outstr = null;

  // 入力チェック
  if( text.value.match(/[^０-１^２-９^0-9]/)!=null ) {
    text.focus();
    text.select();
    return null;
  }

  // 全角数字を半角数字に変換する。
  outstr = text.value.replace(/０/g,"0");
  outstr = outstr.replace(/１/g,"1");
  outstr = outstr.replace(/２/g,"2");
  outstr = outstr.replace(/３/g,"3");
  outstr = outstr.replace(/４/g,"4");
  outstr = outstr.replace(/５/g,"5");
  outstr = outstr.replace(/６/g,"6");
  outstr = outstr.replace(/７/g,"7");
  outstr = outstr.replace(/８/g,"8");
  outstr = outstr.replace(/９/g,"9");

  return outstr;

}

// 数値変換
function checkNumber( text ) {
  outstr = null;

  // 入力チェック
  if( text.value.match(/[^０-１^２-９^0-9]/)!=null ) {
    alert( "数値で指定して下さい。" );
    text.focus();
    text.select();
    return null;
  }

  // 全角数字を半角数字に変換する。
  outstr = text.value.replace(/０/g,"0");
  outstr = outstr.replace(/１/g,"1");
  outstr = outstr.replace(/２/g,"2");
  outstr = outstr.replace(/３/g,"3");
  outstr = outstr.replace(/４/g,"4");
  outstr = outstr.replace(/５/g,"5");
  outstr = outstr.replace(/６/g,"6");
  outstr = outstr.replace(/７/g,"7");
  outstr = outstr.replace(/８/g,"8");
  outstr = outstr.replace(/９/g,"9");

  return outstr;

}

// 文字列のパディング処理
function setStr( str, len, chr ) {
  ret = "";
  
  if( str != null ) {
    set = len - str.length;
    if( set > 0 ) {
      for( i=0; i < set; i++ ) ret += chr;
    }

    ret += str;
  }
  return ret;
}



// 検索ボタン押下
function searchSubmit() {

  if ( search() ) {
    document.CsvSearch.submit();
  }
}

// Add by T.Yumoto 2006/07/04
// カテゴリグループ・ブラウズグループ画面遷移
function Change(id, type) {

  if( type == 'browse' ) {
    document.CsvBrowse.XPARA.value = id;
    document.CsvBrowse.IS_KEY_A1.value = id;
    document.CsvBrowse.DEF_XSL.value = 'default';
    document.CsvBrowse.submit();
  } else {
    document.CsvChange.XPARA.value = id;
    document.CsvChange.DEF_XSL.value = 'category';
    document.CsvChange.submit();
  }

}
// Add End