function setSearchBibPanel() {
  var sbhead1 = document.createElement("h4");
  sbhead1.appendChild(document.createTextNode("書誌検索 パネル"));
  $('search_bib_panel').appendChild(sbhead1);
  var chuu1 = document.createElement("p");
  chuu1.id = "chuu1";
  chuu1.appendChild(document.createTextNode("項目間はすべてand結合です。"));
  $('search_bib_panel').appendChild(chuu1);

  var sbf1 = document.createElement("form");
  sbf1.id = "sbf1";
  $('search_bib_panel').appendChild(sbf1);

    var sbtb1 = document.createElement("table");
    sbtb1.id = "sbtb1";
    sbtb1.className = "tb1";
    var sbtbdy1 = document.createElement("tbody");

    for(var j=0; j<7; j++) {
      curr_row = document.createElement("tr");
      for(var i=0; i<2; i++) {
        curr_cell = document.createElement("td");
        if(i==0) {
          switch(j) {
            case 0: curr_text = document.createTextNode("タイトル");          break;
            case 1: curr_text = document.createTextNode("著者名");            break;
            case 2: curr_text = document.createTextNode("出版者");            break;
            case 3: curr_text = document.createTextNode("出版年月");          break;
            case 4: curr_text = document.createTextNode("シリーズ名");        break;
            case 5: curr_text = document.createTextNode("local 遺跡所在地");  break;
            case 6: curr_text = document.createTextNode("local 資料区分");    break;
          }
          curr_cell.appendChild(curr_text);
          curr_cell.className = "leftitemname1 td1a";
        }else{
          curr_i = document.createElement("input");
          curr_i.type = "text";
          curr_i.className = "itxt1";
          switch(j) {
            case 0: curr_i.size = "100";
                    curr_i.onblur = function() { checkInputText(this); }
                    curr_cell.appendChild(curr_i); break;
            case 1: curr_i.size = "100";
                    curr_i.onblur = function() { checkInputText(this); }
                    curr_cell.appendChild(curr_i); break;
            case 2: curr_i.size = "100";
                    curr_i.onblur = function() { checkInputText(this); }
                    curr_cell.appendChild(curr_i); break;
            case 3: curr_i.size = "18";
                    curr_i.onblur = function() { checkPubdt_a(this); }
                    curr_sel = document.createElement("select");
                    curr_sel.className = "itxt2";
                    curr_sel.size = "1";
                      for(var k=0; k<4; k++) {
                        curr_opt = document.createElement("option");
                        curr_opt.selected = "";
                        switch(k) {
                          case 0: curr_opt.value = "0";
                                  curr_opt.appendChild(document.createTextNode("年月の一致")); break;
                          case 1: curr_opt.value = "1";
                                  curr_opt.appendChild(document.createTextNode("年月 以前"));  break;
                          case 2: curr_opt.value = "2";
                                  curr_opt.appendChild(document.createTextNode("年月 以後"));  break;
                          case 3: curr_opt.value = "3";
                                  curr_opt.appendChild(document.createTextNode("から　まで")); break;
                        }
                        curr_sel.appendChild(curr_opt);
                      }
                    curr_i2 = document.createElement("input");
                    curr_i2.type = "text";
                    curr_i2.size = "18";
                    curr_i2.onblur = function() { checkPubdt_a(this); }
                    curr_i2.className = "itxt1";
                    curr_i2.disabled = true;

                    curr_sel.onchange = pubdtrange;
                    curr_cell.appendChild(curr_i);
                    curr_cell.appendChild(curr_sel);
                    curr_cell.appendChild(curr_i2);
                    break;
            case 4: curr_i.size = "100";
                    curr_i.onblur = function() { checkInputText(this); }
                    curr_cell.appendChild(curr_i); break;
            case 5: curr_i.size =  "20";
                    curr_i.onblur = function() { checkClsSite_a(this); }
                    curr_cell.appendChild(curr_i); break;
            case 6: curr_i.size =   "1";
                    curr_i.onblur = function() { checkClsLocal_a(this); }
                    curr_cell.appendChild(curr_i); break;
          }
          curr_cell.className = "rightitemcontent1 td1b";
        }
        curr_row.appendChild(curr_cell);
      }
      sbtbdy1.appendChild(curr_row);
    }
    sbtb1.appendChild(sbtbdy1);
    $('sbf1').appendChild(sbtb1);

    var br01 = document.createElement("br");
    $('sbf1').appendChild(br01);

    var sbtb2 = document.createElement("table");
    sbtb2.id = "sbtb2";
    sbtb2.className = "tb1";
    var sbtbdy2 = document.createElement("tbody");

    curr_row = document.createElement("tr");
      curr_cell = document.createElement("td");
      curr_i = document.createElement("input");
      curr_i.type = "button";
      curr_i.id   = "b1";
      curr_i.value = "検索実行";
      curr_i.onclick = b1Clicked;
      curr_cell.appendChild(curr_i);
      curr_row.appendChild(curr_cell);
      curr_cell = document.createElement("td");
      curr_i = document.createElement("input");
      curr_i.type = "reset";
      curr_i.id   = "b2";
      curr_i.value = "Clear";
      curr_cell.appendChild(curr_i);
      curr_row.appendChild(curr_cell);
    sbtbdy2.appendChild(curr_row);
    sbtb2.appendChild(sbtbdy2);
    $('sbf1').appendChild(sbtb2);
    
    var br02 = document.createElement("br");
    $('sbf1').appendChild(br02);
      
  var sbf2 = document.createElement("form");
  sbf2.id = "sbf2";
  $('search_bib_panel').appendChild(sbf2);

    var sbtb3 = document.createElement("table");
    sbtb3.id = "sbtb3";
    sbtb3.className = "tb1";
    var sbtbdy3 = document.createElement("tbody");

    for(var j=0; j<2; j++) {
      curr_row = document.createElement("tr");
      for(var i=0; i<3; i++) {
        curr_cell = document.createElement("td");
        switch(i) {
          case 0:
                  var tmpchar = "ソートキー";
                  switch(j) {
                    case 0: tmpchar += "１　　"; break;
                    case 1: tmpchar += "２　　"; break;
                  }
                  curr_text = document.createTextNode(tmpchar);
                  curr_cell.appendChild(curr_text);
                  curr_cell.style.fontSize = "x-small";
                  curr_cell.className = "leftitemname1 td1a";
                  break;
          case 1:
                  curr_sel = document.createElement("select");
                  curr_sel.className = "itxt2";
                  curr_sel.size = "1";
                    for(var k=0; k<7; k++) {
                      curr_opt = document.createElement("option");
                      curr_opt.selected = "";
                      switch(k) {
                        case 0: curr_opt.value = "none";
                                curr_opt.appendChild(document.createTextNode(" "));                break;
                        case 1: curr_opt.value = "ttlhdng";
                                curr_opt.appendChild(document.createTextNode("タイトルよみ"));
                                if(j==1) { curr_opt.selected = "selected"; }                       break;
                        case 2: curr_opt.value = "al";
                                curr_opt.appendChild(document.createTextNode("著者名"));           break;
                        case 3: curr_opt.value = "pubdt";
                                curr_opt.appendChild(document.createTextNode("出版年"));
                                if(j==0) { curr_opt.selected = "selected"; }                       break;
                        case 4: curr_opt.value = "publ";
                                curr_opt.appendChild(document.createTextNode("出版者"));           break;
                        case 5: curr_opt.value = "ptblt";
                                curr_opt.appendChild(document.createTextNode("シリーズタイトル")); break;
                        case 6: curr_opt.value = "ptbln";
                                curr_opt.appendChild(document.createTextNode("シリーズ巻次"));     break;
                      }
                      curr_sel.appendChild(curr_opt);
                    }
                  curr_cell.appendChild(curr_sel);
                  break;
          case 2:
                  curr_sel = document.createElement("select");
                  curr_sel.className = "itxt2";
                  curr_sel.size = "1";
                    for(var k=0; k<2; k++) {
                      curr_opt = document.createElement("option");
                      curr_opt.selected = "";
                      switch(k) {
                        case 0: curr_opt.value = "asc";
                                curr_opt.appendChild(document.createTextNode("昇順"));
                                if(j==1) { curr_opt.selected = "selected"; }          break;
                        case 1: curr_opt.value = "desc";
                                curr_opt.appendChild(document.createTextNode("降順"));
                                if(j==0) { curr_opt.selected = "selected"; }          break;
                      }
                      curr_sel.appendChild(curr_opt);
                    }
                  curr_cell.appendChild(curr_sel);
                  break;
        }
        curr_row.appendChild(curr_cell);
      }
      sbtbdy3.appendChild(curr_row);
    }
    sbtb3.appendChild(sbtbdy3);
    $('sbf2').appendChild(sbtb3);


  var sbf3 = document.createElement("form");
  sbf3.id = "sbf3";
  $('search_bib_panel').appendChild(sbf3);

    var sbtb4 = document.createElement("table");
    sbtb4.id = "sbtb4";
    sbtb4.className = "tb1";
    var sbtbdy4 = document.createElement("tbody");

    curr_row = document.createElement("tr");
    curr_row.className = "tr1";

      curr_cell = document.createElement("td");
      curr_cell.style.fontSize = "x-small";
      curr_cell.appendChild(document.createTextNode("検索件数の範囲："));

      curr_sel = document.createElement("select");
      curr_sel.className = "itxt2";
      curr_sel.size = "1";
      for(var k=0; k<5; k++) {
        curr_opt = document.createElement("option");
        curr_opt.selected = false;
        switch(k) {
          case 0: curr_opt.value = 1;
                  curr_opt.appendChild(document.createTextNode("1"));
                  curr_opt.selected = "selected";                        break;
          case 1: curr_opt.value = 101;
                  curr_opt.appendChild(document.createTextNode("101"));  break;
          case 2: curr_opt.value = 201;
                  curr_opt.appendChild(document.createTextNode("201"));  break;
          case 3: curr_opt.value = 501;
                  curr_opt.appendChild(document.createTextNode("501"));  break;
          case 4: curr_opt.value = 1001;
                  curr_opt.appendChild(document.createTextNode("1001")); break;
        }
        curr_sel.appendChild(curr_opt);
      }
      curr_cell.appendChild(curr_sel);

      curr_cell.appendChild(document.createTextNode("件目からの"));

      curr_sel = document.createElement("select");
      curr_sel.className = "itxt2";
      curr_sel.size = "1";
      for(var k=0; k<6; k++) {
        curr_opt = document.createElement("option");
        curr_opt.selected = false;
        switch(k) {
          case 0: curr_opt.value = 0;
                  curr_opt.appendChild(document.createTextNode("全件"));           break;
          case 1: curr_opt.value = 100;
                  curr_opt.appendChild(document.createTextNode("100 件 (以内)"));  break;
          case 2: curr_opt.value = 200;
                  curr_opt.appendChild(document.createTextNode("200 件 (以内)"));  break;
          case 3: curr_opt.value = 300;
                  curr_opt.appendChild(document.createTextNode("300 件 (以内)"));
                  curr_opt.selected = "selected";                                  break;
          case 4: curr_opt.value = 500;
                  curr_opt.appendChild(document.createTextNode("500 件 (以内)"));  break;
          case 5: curr_opt.value = 1000;
                  curr_opt.appendChild(document.createTextNode("1000 件 (以内)")); break;
        }
        curr_sel.appendChild(curr_opt);
      }
      curr_cell.appendChild(curr_sel);
      curr_cell.appendChild(document.createTextNode("を検索します。"));

    curr_row.appendChild(curr_cell);
    sbtbdy4.appendChild(curr_row);
    sbtb4.appendChild(sbtbdy4);
    $('sbf3').appendChild(sbtb4);
}

function b1Clicked() {
  changeVisiblePanel("searched_bib_lines_panel");

//  var sbtb1 = $('sbtb1');
//  alert(sbtb1.childNodes[0].childNodes[0].childNodes[1].childNodes[0].value);  // title
//  alert(sbtb1.childNodes[0].childNodes[1].childNodes[1].childNodes[0].value);  // author
//  alert(sbtb1.childNodes[0].childNodes[2].childNodes[1].childNodes[0].value);  // publ
//  alert(sbtb1.childNodes[0].childNodes[3].childNodes[1].childNodes[0].value);  // pubdtc
//  alert(sbtb1.childNodes[0].childNodes[3].childNodes[1].childNodes[1].value);  // pubdt1
//  alert(sbtb1.childNodes[0].childNodes[3].childNodes[1].childNodes[2].value);  // pubdt2
//  alert(sbtb1.childNodes[0].childNodes[4].childNodes[1].childNodes[0].value);  // ptbl
//  alert(sbtb1.childNodes[0].childNodes[5].childNodes[1].childNodes[0].value);  // clsSite
//  alert(sbtb1.childNodes[0].childNodes[6].childNodes[1].childNodes[0].value);  // clsLocal

  checkTitle();   checkAuthor();   checkPubl();   checkPubdt();
  checkPtbl();    checkClsSite();  checkClsLocal();

  if (titleOk && authorOk && publOk && pubdt1Ok && pubdt2Ok && ptblOk && clsSiteOk && clsLocalOk) {
    constructSelBibSql();
    selectBib();
  }else{
    alert("Check Error");
  }
}

function pubdtrange() {
  var sbtable = $('sbtb1');
  var range  = sbtable.childNodes[0].childNodes[3].childNodes[1].childNodes[1].value;
  var pubdt2 = sbtable.childNodes[0].childNodes[3].childNodes[1].childNodes[2];
  if(range=="3") {
    pubdt2.disabled = false;
  }else{
    pubdt2.disabled = true;
  }
}



function checkInputText(ipt) {
  if(ipt.value=='') {
  }else{
    if(ipt.value.match(/['"<>\\t\n\s|]/g)) {
      ipt.value = "";
      alert("次の文字は入力できません。\n \',\", <,  >, |、タブ、改行, スペース など。");
      return false;
    }else{
    }
  }
}

function checkPubdt_a(pdt) {
  if(pdt.value=='') {
  }else{
    if(pdt.value.match(/((19|20)(\d(\d(\d(\.\d{2})?)?)?)?)/g)) {
    }else{
      pdt.value = "";
      alert("入力できる年月は 20, 200, 2006, 2006.03 などの形式です.\n                       19, 197, 1974, 1974.12");
      return false;
    }
  }
}


function checkClsSite_a(cs) {
  if(cs.value==''
     ||cs.value=='01'||cs.value=='02'||cs.value=='03'||cs.value=='04'||cs.value=='05'
     ||cs.value=='06'||cs.value=='07'||cs.value=='08'||cs.value=='09'||cs.value=='10'
     ||cs.value=='11'||cs.value=='12'||cs.value=='13'||cs.value=='14'||cs.value=='15'
     ||cs.value=='16'||cs.value=='17'||cs.value=='18'||cs.value=='19'||cs.value=='20'
     ||cs.value=='21'||cs.value=='22'||cs.value=='23'||cs.value=='24'||cs.value=='25'
     ||cs.value=='26'||cs.value=='27'||cs.value=='28'||cs.value=='29'||cs.value=='30'
     ||cs.value=='31'||cs.value=='32'||cs.value=='33'||cs.value=='34'||cs.value=='35'
     ||cs.value=='36'||cs.value=='37'||cs.value=='38'||cs.value=='39'||cs.value=='40'
     ||cs.value=='41'||cs.value=='42'||cs.value=='43'||cs.value=='44'||cs.value=='45'
     ||cs.value=='46'||cs.value=='47'||cs.value=='48'
     ||cs.value=='北海道'||cs.value=='青森'||cs.value=='岩手'||cs.value=='宮城'||cs.value=='秋田'
     ||cs.value=='山形'||cs.value=='福島'||cs.value=='茨城'||cs.value=='栃木'||cs.value=='群馬'
     ||cs.value=='埼玉'||cs.value=='千葉'||cs.value=='東京'||cs.value=='神奈川'||cs.value=='新潟'
     ||cs.value=='富山'||cs.value=='石川'||cs.value=='福井'||cs.value=='山梨'||cs.value=='長野'
     ||cs.value=='岐阜'||cs.value=='静岡'||cs.value=='愛知'||cs.value=='三重'||cs.value=='滋賀'
     ||cs.value=='京都'||cs.value=='大阪'||cs.value=='兵庫'||cs.value=='奈良'||cs.value=='和歌山'
     ||cs.value=='鳥取'||cs.value=='島根'||cs.value=='岡山'||cs.value=='広島'||cs.value=='山口'
     ||cs.value=='徳島'||cs.value=='香川'||cs.value=='愛媛'||cs.value=='高知'||cs.value=='福岡'
     ||cs.value=='佐賀'||cs.value=='長崎'||cs.value=='熊本'||cs.value=='大分'||cs.value=='宮崎'
     ||cs.value=='鹿児島'||cs.value=='沖縄'||cs.value=='外国'
    )
  {
  }else{
    cs.value = "";
    alert("入力できるのは 都道府県番号 又は都道府県名の内 どれか1つです.");
    return false;
  }
}

function checkClsLocal_a(cl) {
  if(cl.value=='') {
  }else{
    if(cl.value.match(/[^1-5]/g)) {
      cl.value = "";
      alert("入力できるのは 1,2,3,4,5 のうちどれか1つです.");
      return false;
    }
  }
}


