Jquery写的脚本,第一次用Jquery写的,很多写的不好的,请见谅

来源:互联网 发布:软件版权登记费用 编辑:程序博客网 时间:2024/04/30 05:17

document
        .write("<script type='text/javascript' src='../scripts/master/master.js'></script>");

var iSelectRow = -1;
var iNowSelRos;
var selectedItem;
var tableId = "masterweek";
var deleteNo;
var selectMediaCode;
var deleteRowCnt = 0;

/************************************************************************/
/* ファンクション名 :  SelectClear                                     */
/* 機能名           :  リスト内容初期化処理                            */
/* 引数             :  リスト                                    */
/************************************************************************/
function SelectClear( list ){
    if( list.length ){
        list[0].selected = true;
    }
}

/************************************************************************/
/* ファンクション名 :  ChkboxChk                                       */
/* 機能名           :  チェックボックスチェック処理                    */
/* 引数             :  選択インデント,媒体グループコード               */
/************************************************************************/
function ChkboxChk( grpIndx ,mediagrpCode){
    if (!changefunc("mediaGrp" , 0)){
        return;
    }
 
 
document
        .write("<script type='text/javascript' src='../scripts/master/mw_master.js'></script>");
var iSelectRow = -1;
var iNowSelRos;
var tableId = "master";
var selectedItem;
var deleteNo;
var csvWriteFlg = false;
var csvReadFlg = false;
/** ********************************************************************* */
/* ファンクション名 : addRow */
/* 機能名 : データ追加処理 */
/* 引数 : 1:追加 2:変更 */
/** ********************************************************************* */
function processRow(kbn) {
    // 入力項目チェック処理
    if(!media_inputcheckfunc( kbn )) {
        return false;
    }
    var i;
    var tableObject = document.getElementById(tableId);
    // textの分
    // コード
    var value1 = $("#item1").attr("value");
    // 名称
    var value2 = $("#item2").attr("value");
    // 媒体属性
    var value3 = $("#item3").attr("value");
    // 係数
    var value14 = $("#item14").attr("value");
    // 取置期間
    var value15 = $("#item15").attr("value");
    // コメント
    var value16 = ComTrimProc($("#item16").attr("value"));
    // comboxの分
    // 紙
    var value4 = $("#item4").val();
    var value4name = $("#item4>option:selected").get(0).text;
    // 刊区分
    var value5 = $("#item5").val();
    var value5name = $("#item5>option:selected").get(0).text;
    // 媒体グループ
    var value6 = $("#item6").val();
    var value6name = $("#item6>option:selected").get(0).text;
    // CTPsv送信
    var value8 = $("#item8").val();
    var value8name = $("#item8>option:selected").get(0).text;
    // 別刷フォーム
    var value13 = ComTrimProc($("#item13").val());
    var value13name = $("#item13>option:selected").get(0).text;
    // radioの分
    // 紙面送信
    var value7 = getValuebyMaru($("input[name='item7']:checked").val());
    // 広告切替連絡
    var value9 = getValuebyMaru($("input[name='item9']:checked").val());
    // カラー連絡
    var value10 = getValuebyMaru($("input[name='item10']:checked").val());
    // 版制有無
    var value11 = getValuebyMaru($("input[name='item11']:checked").val());
    // 週面有無
    var value12 = getValuebyMaru($("input[name='item12']:checked").val());
    // 表示フラグ
    var value17 = getValuebyMaru($("input[name='item17']:checked").val());
    maxRow = tableObject.rows.length;
    if (kbn == "2") {
        // 変更の場合
        // textの分
     // コード
        tableObject.rows[iSelectRow].cells[0].innerHTML = value1;
        // 名称
        tableObject.rows[iSelectRow].cells[1].innerHTML = value2;
        // 媒体属性
        tableObject.rows[iSelectRow].cells[2].innerHTML = value3;
        // 係数
        tableObject.rows[iSelectRow].cells[13].innerHTML = value14;
        // 取置期間
        tableObject.rows[iSelectRow].cells[14].innerHTML = value15;
        // コメント
        tableObject.rows[iSelectRow].cells[15].innerHTML = value16;
        // comboxの分
        // 紙
        tableObject.rows[iSelectRow].cells[3].innerHTML = value4name;
        //$("#paper_" + iSelectRow + "").val(value4);
        tableObject.rows[iSelectRow].cells[17].innerHTML = value4;
        // 刊区分
        tableObject.rows[iSelectRow].cells[4].innerHTML = value5name;
        //$("#kankubun_" + iSelectRow + "").val(value5);
        tableObject.rows[iSelectRow].cells[18].innerHTML = value5;
        // 媒体グループ
        tableObject.rows[iSelectRow].cells[5].innerHTML = value6name;
        //$("#mediagrp_" + iSelectRow + "").val(value6);
        tableObject.rows[iSelectRow].cells[19].innerHTML = value6;
        // CTPsv送信
        tableObject.rows[iSelectRow].cells[7].innerHTML = value8name;
        //$("#ctpsvsend_" + iSelectRow + "").val(value8);
        tableObject.rows[iSelectRow].cells[20].innerHTML = value8;
        // 別刷フォーム
        tableObject.rows[iSelectRow].cells[12].innerHTML = value13name;
        //$("#otherform_" + iSelectRow + "").val(value13);
        tableObject.rows[iSelectRow].cells[21].innerHTML = value13;
        // radioの分
        // 紙面送信
        tableObject.rows[iSelectRow].cells[6].innerHTML = value7;
        // 広告切替連絡
        tableObject.rows[iSelectRow].cells[8].innerHTML = value9;
        // カラー連絡
        tableObject.rows[iSelectRow].cells[9].innerHTML = value10;
        // 版制有無
        tableObject.rows[iSelectRow].cells[10].innerHTML = value11;
        // 週面有無
        tableObject.rows[iSelectRow].cells[11].innerHTML = value12;
        // 表示フラグ
        tableObject.rows[iSelectRow].cells[16].innerHTML = value17;
    } else if (kbn == "1") {
        // 追加の場合
        tr_id = $("#" + tableId + ">tbody>tr:last").attr("id");
        tr_id++;
        if (isNaN(tr_id)) {
            tr_id = 0;
        }
        str = "<tr id = '" + tr_id
                + "' class='displayBlock'><td class='baitaicol0'>" + value1
                + "</td><td class='baitaicol1'>" + value2
                + "</td><td class='baitaicol2'>" + value3
                + "</td><td class='baitaicol3'>" + value4name
                + "</td><td class='baitaicol4'>" + value5name
                + "</td><td class='baitaicol5'>" + value6name
                + "</td><td class='baitaicol6'>" + value7
                + "</td><td class='baitaicol7'>" + value8name
                + "</td><td class='baitaicol8'>" + value9
                + "</td><td class='baitaicol9'>" + value10
                + "</td><td class='baitaicol10'>" + value11
                + "</td><td class='baitaicol11'>" + value12
                + "</td><td class='baitaicol12'>" + value13name
                + "</td><td class='baitaicol13'>" + value14
                + "</td><td class='baitaicol14'>" + value15
                + "</td><td class='baitaicol15'>" + value16
                + "</td><td class='baitaicol16'>" + value17
                + "</td><td class='displayNone'>" + value4
                + "</td><td class='displayNone'>" + value5
                + "</td><td class='displayNone'>" + value6
                + "</td><td class='displayNone'>" + value8
                + "</td><td class='displayNone'>" + value13 + "</td></tr>";
        $("#" + tableId).append(str);
        initillize(tr_id);
        clearData();
    }
    setUpdFlg(1);
}
/** ********************************************************************* */
/* ファンクション名 : setData */
/* 機能名 : 選択したデータ右に設定処理 */
/* 引数 : 行番号 */
/** ********************************************************************* */
function setData(id) {
    var tableObject = document.getElementById(tableId);
    // textの分
    var value1 = tableObject.rows[id].cells[0].innerHTML;
    var value2 = tableObject.rows[id].cells[1].innerHTML;
    var value3 = tableObject.rows[id].cells[2].innerHTML;
    var value14 = tableObject.rows[id].cells[13].innerHTML;
    var value15 = tableObject.rows[id].cells[14].innerHTML;
    var value16 = tableObject.rows[id].cells[15].innerHTML;
    // コード
    $("#item1").attr("value", value1);
    // 名称
    $("#item2").attr("value", value2);
    // 媒体属性
    $("#item3").attr("value", value3);
    // 係数
    $("#item14").attr("value", value14);
    // 取置期間
    $("#item15").attr("value", value15);
    // コメント
    $("#item16").attr("value", value16);
    // comboxの分
    // 紙
    var value4 = tableObject.rows[id].cells[17].innerHTML;
    $('#item4').val(value4);
    // 刊区分
    var value5 = tableObject.rows[id].cells[18].innerHTML;
    $('#item5').val(value5);
    // 媒体グループ
    var value6 = tableObject.rows[id].cells[19].innerHTML;
    $('#item6').val(value6);
    // CTPsv送信
    var value8 = tableObject.rows[id].cells[20].innerHTML;
    $('#item8').val(value8);
    // radioの分
    // 紙面送信
    var value7 = getMarubyValue(tableObject.rows[id].cells[6].innerHTML);
    $("input[name='item7'][value='" + value7 + "']").attr("checked", true);
    // 広告切替連絡
    var value9 = getMarubyValue(tableObject.rows[id].cells[8].innerHTML);
    $("input[name='item9'][value='" + value9 + "']").attr("checked", true);
    // カラー連絡
    var value10 = getMarubyValue(tableObject.rows[id].cells[9].innerHTML);
    $("input[name='item10'][value='" + value10 + "']").attr("checked", true);
    // 版制有無
    var value11 = getMarubyValue(tableObject.rows[id].cells[10].innerHTML);
    $("input[name='item11'][value='" + value11 + "']").attr("checked", true);
    // 週面有無
    var value12 = getMarubyValue(tableObject.rows[id].cells[11].innerHTML);
    $("input[name='item12'][value='" + value12 + "']").attr("checked", true);
    // 表示フラグ
    var value17 = getMarubyValue(tableObject.rows[id].cells[16].innerHTML);
    $("input[name='item17'][value='" + value17 + "']").attr("checked", true);
    RadioBtnChk(value12);
    if (value12 == "0") {
     // 別刷フォーム
     var value13 = tableObject.rows[id].cells[21].innerHTML;
     $('#item13').val(value13);
 }
}
/** ********************************************************************* */
/* ファンクション名 : resetTable */
/* 機能名 : 表示テーブルデータ再設定 */
/* 引数 : */
/** ********************************************************************* */
function resetTable() {
    var tableObject = document.getElementById(tableId);
    maxRow = tableObject.rows.length;
    var buttonFlg = document.getElementById("buttonFlg").value;
    var count = 0;
    var selResults = document.getElementById("selResult").value;
    var selResult = selResults.split(",");
    $("#" + tableId + " tr").css("display", "none");
    deleteNo = new Array();
    for ( var id = 0; id < maxRow; id++) {
        // コード
        if( selResult[0] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[0].innerHTML) != ComTrimProc(document.getElementById("item1").value) ){
                continue;
            }
        }
        // 名称
        if( selResult[1] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[1].innerHTML) != ComTrimProc(document.getElementById("item2").value) ){
                continue;
            }
        }
        // 媒体属性
        if( selResult[2] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[2].innerHTML) != ComTrimProc(document.getElementById("item3").value) ){
                continue;
            }
        }
        // 紙
        if( selResult[3] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[17].innerHTML) != ComTrimProc(document.getElementById("item4").value) ){
                continue;
            }
        }
        // 刊区分
        if( selResult[4] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[18].innerHTML) != ComTrimProc(document.getElementById("item5").value) ){
                continue;
            }
        }
        // 媒体グループ
        if( selResult[5] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[19].innerHTML) != ComTrimProc(document.getElementById("item6").value) ){
                continue;
            }
        }
        // 紙面送信
        if( selResult[6] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[6].innerHTML) != getValuebyMaru(ComTrimProc($("input[name='item7']:checked").val())) ){
                continue;
            }
        }
        // CTPsv送信
        if( selResult[7] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[20].innerHTML) != ComTrimProc(document.getElementById("item8").value) ){
                continue;
            }
        }
        // 広告切替連絡
        if( selResult[8] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[8].innerHTML) != getValuebyMaru(ComTrimProc($("input[name='item9']:checked").val())) ){
                continue;
            }
        }
        // カラー連絡
        if( selResult[9] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[9].innerHTML) != getValuebyMaru(ComTrimProc($("input[name='item10']:checked").val())) ){
                continue;
            }
        }
        // 版制有無
        if( selResult[10] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[10].innerHTML) != getValuebyMaru(ComTrimProc($("input[name='item11']:checked").val())) ){
                continue;
            }
        }
        // 週面有無
        if( selResult[11] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[11].innerHTML) != getValuebyMaru(ComTrimProc($("input[name='item12']:checked").val())) ){
                continue;
            }
        }
        // 別刷フォーム
        if( selResult[12] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[21].innerHTML) != ComTrimProc(document.getElementById("item13").value) ){
                continue;
            }
        }
        // 係数
        if( selResult[13] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[13].innerHTML) != ComTrimProc(document.getElementById("item14").value) ){
                continue;
            }
        }
        // 取置期間
        if( selResult[14] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[14].innerHTML) != ComTrimProc(document.getElementById("item15").value) ){
                continue;
            }
        }
        // コメント
        if( selResult[15] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[15].innerHTML) != ComTrimProc(document.getElementById("item16").value) ){
                continue;
            }
        }
        // 表示フラグ
        if( selResult[16] == "1" ){
            if( ComTrimProc(tableObject.rows[id].cells[16].innerHTML) != getValuebyMaru(ComTrimProc($("input[name='item17']:checked").val())) ){
                continue;
            }
        }
        if (buttonFlg == "1") {
            deleteNo[count] = tableObject.rows[id].id;
        }
        $("#" + tableObject.rows[id].id).css("display", "block");
        count++;
    }
    clearData();
    if (buttonFlg == "1") {
        $("#deleteButton").css("display","inline");
        document.getElementById("count").innerHTML = "(削除リスト:"+ count + "件)";
    } else if (buttonFlg == "2") {
        document.getElementById("count").innerHTML = "(検索結果:" + count + "件)";
    }
    return;
}
/** ********************************************************************* */
/* ファンクション名 : clearData */
/* 機能名 : レコード編集項目クリア */
/* 引数 : */
/** ********************************************************************* */
function clearData() {
    // textの分
 // コード
    $("#item1").attr("value", '');
    // 名称
    $("#item2").attr("value", '');
    // 媒体属性
    $("#item3").attr("value", '');
    // 係数
    $("#item14").attr("value", '');
    // 取置期間
    $("#item15").attr("value", '');
    // コメント
    $("#item16").attr("value", '');
    // comboxの分
    // 紙
    $('#item4').val('');
    // 刊区分
    $('#item5').val('');
    // 媒体グループ
    $('#item6').val('');
    // CTPsv送信
    $('#item8').val('');
    // 別刷フォーム
    $('#item13').val('');
    $('#item13').attr("disabled","disabled");
    // radioの分
    // 紙面送信
    $("input[name='item7'][value='1']").attr("checked", true);
    // 広告切替連絡
    $("input[name='item9'][value='1']").attr("checked", true);
    // カラー連絡
    $("input[name='item10'][value='1']").attr("checked", true);
    // 版制有無
    $("input[name='item11'][value='1']").attr("checked", true);
    // 週面有無
    $("input[name='item12'][value='1']").attr("checked", true);
    // 表示フラグ
    $("input[name='item17'][value='1']").attr("checked", true);
    /* 前回選択した行の選択状態を解除する */
    if (iSelectRow >= 0) {
        setNormal(document.getElementById(tableId).rows[iSelectRow].id);
    }
    iSelectRow = -1;
}
/** ********************************************************************* */
/* ファンクション名 : submitForm */
/* 機能名 : submitのデータ設定処理 */
/* 引数 : */
/** ********************************************************************* */
function submitForm() {
 // 更新データ存在しなかった場合、メッセージ表示
 if (!checkUpdate()) {
  alert(MSG_1020);
  return false;
 }
    var tableObject = document.getElementById(tableId);
    maxRow = tableObject.rows.length;
    if (isNaN(maxRow)) {
        maxRow = 0;
    }
    for (i = 0; i < maxRow; i++) {
        // コード
        make_hidden("mediaList[" + i + "].mediaCode", tableObject.rows[i].cells[0].innerHTML);
        // 名称
        make_hidden("mediaList[" + i + "].mediaName", tableObject.rows[i].cells[1].innerHTML);
        // 媒体属性
        make_hidden("mediaList[" + i + "].mediaAttr", tableObject.rows[i].cells[2].innerHTML);
        // 紙
        make_hidden("mediaList["+i+"].paperCode", tableObject.rows[i].cells[17].innerHTML);
        // 刊区分
        make_hidden("mediaList["+i+"].kankubunCode", tableObject.rows[i].cells[18].innerHTML);
        // 媒体グループ
        make_hidden("mediaList["+i+"].mediagrpCode", tableObject.rows[i].cells[19].innerHTML);
        // 紙面送信
        make_hidden("mediaList["+i+"].kumisendFlg", getMarubyValue(tableObject.rows[i].cells[6].innerHTML));
        // CTPsv送信
        make_hidden("mediaList["+i+"].ctpsvsendTrigger", tableObject.rows[i].cells[20].innerHTML);
        // 広告切替連絡
        make_hidden("mediaList["+i+"].advchgFlg", getMarubyValue(tableObject.rows[i].cells[8].innerHTML));
        // カラー連絡
        make_hidden("mediaList["+i+"].advcolFlg", getMarubyValue(tableObject.rows[i].cells[9].innerHTML));
        // 版制有無
        make_hidden("mediaList["+i+"].prhanFlg", getMarubyValue(tableObject.rows[i].cells[10].innerHTML));
        // 週面有無
        make_hidden("mediaList["+i+"].weekFlg", getMarubyValue(tableObject.rows[i].cells[11].innerHTML));
        // 別刷フォーム
        make_hidden("mediaList["+i+"].otherForm", ComTrimProc(tableObject.rows[i].cells[21].innerHTML));
        // 係数
        make_hidden("mediaList[" + i + "].mediaFix", tableObject.rows[i].cells[13].innerHTML);
        // 取置期間
        make_hidden("mediaList[" + i + "].toriokiTerm", tableObject.rows[i].cells[14].innerHTML);
        // コメント
        make_hidden("mediaList[" + i + "].mediaComment", ComTrimProc(tableObject.rows[i].cells[15].innerHTML));
        // 表示フラグ
        make_hidden("mediaList["+i+"].dispFlg", getMarubyValue(tableObject.rows[i].cells[16].innerHTML));
        // 表示順番
        make_hidden("mediaList["+i+"].dispNo",i+1);
    }
    setUpdFlg(0);
    return true;
}
/** ********************************************************************* */
/* ファンクション名 : searchOpen */
/* 機能名 : 絞り検索子画面処理 */
/* 引数 : */
/** ********************************************************************* */
function searchOpen() {
 // すでに存在した場合、閉じる
 if (window.child && window.child.open && !window.child.closed) {
   window.child.close();
 }
 // 検索画面表示
 window.child = window
            .open(
                    "../mediamstr/doOpen",
                    "",
                    "width=320, height=750, top=200, left=960, scrollbars=no ,toolbar=no , location=no, menubar=no");
    return;
}
/** ********************************************************************* */
/* ファンクション名 : tableRewrite */
/* 機能名 : 一覧のデータをRewrite */
/** ********************************************************************* */
function tableRewrite(form) {
    var tableObject = document.getElementById(tableId);
    var line = tableObject.rows.length;
    var LineItem = new Array();
    for ( var i = 0; i < line; i++) {
        LineItem[i] = new Array();
        // テキストの分
        // コード
        LineItem[i][0] = ComTrimProc(tableObject.rows[i].cells[0].innerHTML);
        // 名称
        LineItem[i][1] = ComTrimProc(tableObject.rows[i].cells[1].innerHTML);
        // 媒体属性
        LineItem[i][2] = ComTrimProc(tableObject.rows[i].cells[2].innerHTML);
        // 係数
        LineItem[i][13] = ComTrimProc(tableObject.rows[i].cells[13].innerHTML);
        // 取置期間
        LineItem[i][14] = ComTrimProc(tableObject.rows[i].cells[14].innerHTML);
        // コメント
        LineItem[i][15] = ComTrimProc(tableObject.rows[i].cells[15].innerHTML);
        // ラジオボタンの分
        // 紙面送信
        LineItem[i][6] = getValuebyMaru(tableObject.rows[i].cells[6].innerHTML);
        // 広告切替連絡有無
        LineItem[i][8] = getValuebyMaru(tableObject.rows[i].cells[8].innerHTML);
        // 広告カラー連絡有無
        LineItem[i][9] = getValuebyMaru(tableObject.rows[i].cells[9].innerHTML);
        // 版制有無
        LineItem[i][10] = getValuebyMaru(tableObject.rows[i].cells[10].innerHTML);
        // 週間面割有無
        LineItem[i][11] = getValuebyMaru(tableObject.rows[i].cells[11].innerHTML);
        // 表示有無
        LineItem[i][16] = getValuebyMaru(tableObject.rows[i].cells[16].innerHTML);
        // コンボボックスの分
        // comboxのvalue→nameを転換↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
        // 紙名称を格納する
        var paperName = "";
        $('#item4 option').each(function(){
            if( $(this).val() == tableObject.rows[i].cells[3].innerHTML){
                paperName = $(this).text();
                return false;
            }
        });
        LineItem[i][3] = ComTrimProc(paperName);
        // 刊区分名称を格納する
        var kankubunName = "";
        $('#item5 option').each(function(){
            if( $(this).val() == tableObject.rows[i].cells[4].innerHTML){
                kankubunName = $(this).text();
                return false;
            }
        });
        LineItem[i][4] = ComTrimProc(kankubunName);
        // 媒体グループ名称を格納する
        var mediagrpName = "";
        $('#item6 option').each(function(){
            if( $(this).val() == tableObject.rows[i].cells[5].innerHTML){
                mediagrpName = $(this).text();
                return false;
            }
        });
        LineItem[i][5] = ComTrimProc(mediagrpName);
        // CTPsv送信名称を格納する
        var ctpsvsendTriggerName = "";
        $('#item8 option').each(function(){
            if( $(this).val() == tableObject.rows[i].cells[7].innerHTML){
                ctpsvsendTriggerName = $(this).text();
                return false;
            }
        });
        LineItem[i][7] = ComTrimProc(ctpsvsendTriggerName);
        // 別刷フォームを格納する
        var otherFormName = "";
        $('#item13 option').each(function(){
            if( $(this).val() == tableObject.rows[i].cells[12].innerHTML){
                otherFormName = $(this).text();
                return false;
            }
        });
        LineItem[i][12] = ComTrimProc(otherFormName);
        // 紙コードを格納する
        LineItem[i][17] = ComTrimProc(tableObject.rows[i].cells[3].innerHTML);
        // 刊区分コードを格納する
        LineItem[i][18] = ComTrimProc(tableObject.rows[i].cells[4].innerHTML);
        // 媒体グループコードを格納する
        LineItem[i][19] = ComTrimProc(tableObject.rows[i].cells[5].innerHTML);
        // CTPsv送信コードを格納する
        LineItem[i][20] = ComTrimProc(tableObject.rows[i].cells[7].innerHTML);
        // 別刷フォームコードを格納する
        LineItem[i][21] = ComTrimProc(tableObject.rows[i].cells[12].innerHTML);
        // comboxのvalue→nameを転換↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
    }
    $("#" + tableId + " tr").remove();
    for (k = 0; k < LineItem.length; k++) {
        var str = "<tr id = '" + k
        + "' class='displayBlock'><td class='baitaicol0'>" + LineItem[k][0]
        + "</td><td class='baitaicol1'>" + LineItem[k][1]
        + "</td><td class='baitaicol2'>" + LineItem[k][2]
        + "</td><td class='baitaicol3'>" + LineItem[k][3]
        + "</td><td class='baitaicol4'>" + LineItem[k][4]
        + "</td><td class='baitaicol5'>" + LineItem[k][5]
        + "</td><td class='baitaicol6'>" + LineItem[k][6]
        + "</td><td class='baitaicol7'>" + LineItem[k][7]
        + "</td><td class='baitaicol8'>" + LineItem[k][8]
        + "</td><td class='baitaicol9'>" + LineItem[k][9]
        + "</td><td class='baitaicol10'>" + LineItem[k][10]
        + "</td><td class='baitaicol11'>" + LineItem[k][11]
        + "</td><td class='baitaicol12'>" + LineItem[k][12]
        + "</td><td class='baitaicol13'>" + LineItem[k][13]
        + "</td><td class='baitaicol14'>" + LineItem[k][14]
        + "</td><td class='baitaicol15'>" + LineItem[k][15]
        + "</td><td class='baitaicol16'>" + LineItem[k][16]
        + "</td><td class='displayNone'>" + LineItem[k][17]
        + "</td><td class='displayNone'>" + LineItem[k][18]
        + "</td><td class='displayNone'>" + LineItem[k][19]
        + "</td><td class='displayNone'>" + LineItem[k][20]
        + "</td><td class='displayNone'>" + LineItem[k][21]
        + "</td></tr>";
        $("#" + tableId).append(str);
        initillize(k);
    }
    iSelectRow = -1;
    clearData();
    releaseTable();
    setUpdFlg(1);
    return;
}
/** ********************************************************************* */
/* ファンクション名 : ExecSearch */
/* 機能名 : ボタン実行処理 */
/* 引数 : Boolean True :検索処理 */
/* : False:削除処理 */
/** ********************************************************************* */
function ExecSearch(flg) {
    var data = new Array();
    var selectedFlg = false;
    for ( var j = 1; j < 18; j++) {
        if (document.getElementsByName("selectCheckbox" + j)[0].checked) {
            data[j - 1] = "1";
            selectedFlg = true;
        } else {
            data[j - 1] = "0";
        }
    }
    // 選択checkboxのリスト
    window.opener.document.getElementById("selResult").value = data;
    // textの分
    // コード
    window.opener.document.getElementById("item1").value = document
            .getElementById("item1").value;
    // 名称
    window.opener.document.getElementById("item2").value = document
            .getElementById("item2").value;
    // 媒体属性
    window.opener.document.getElementById("item3").value = document
            .getElementById("item3").value;
    // 係数
    window.opener.document.getElementById("item14").value = document
            .getElementById("item14").value;
    // 取置期間
    window.opener.document.getElementById("item15").value = document
            .getElementById("item15").value;
    // コメント
    window.opener.document.getElementById("item16").value = document
            .getElementById("item16").value;
    // comboxの分
    // 紙
    window.opener.document.getElementById("item4").value = document
            .getElementById("item4").value;
    // 刊区分
    window.opener.document.getElementById("item5").value = document
            .getElementById("item5").value;
    // 媒体グループ
    window.opener.document.getElementById("item6").value = document
            .getElementById("item6").value;
    // CTPsv送信
    window.opener.document.getElementById("item8").value = document
            .getElementById("item8").value;
    // 別刷フォーム
    window.opener.document.getElementById("item13").value = document
            .getElementById("item13").value;
    // radioの分
    // 紙面送信
    var kumisendFlgs = document.getElementsByName("item7");
    for ( var i = 0; i < kumisendFlgs.length; i++) {
        window.opener.document.getElementsByName("item7")[i].checked = kumisendFlgs[i].checked
    }
    // 広告切替連絡
    var advchgFlgs = document.getElementsByName("item9");
    for ( var i = 0; i < advchgFlgs.length; i++) {
        window.opener.document.getElementsByName("item9")[i].checked = advchgFlgs[i].checked
    }
    // 広告カラー連絡有無
    var advcolFlgs = document.getElementsByName("item10");
    for ( var i = 0; i < advcolFlgs.length; i++) {
        window.opener.document.getElementsByName("item10")[i].checked = advcolFlgs[i].checked
    }
    // 版制有無
    var prhanFlgs = document.getElementsByName("item11");
    for ( var i = 0; i < prhanFlgs.length; i++) {
        window.opener.document.getElementsByName("item11")[i].checked = prhanFlgs[i].checked
    }
    // 週間面割有無
    var weekFlgs = document.getElementsByName("item12");
    for ( var i = 0; i < weekFlgs.length; i++) {
        window.opener.document.getElementsByName("item12")[i].checked = weekFlgs[i].checked
    }
    // 表示有無
    var dispFlgs = document.getElementsByName("item17");
    for ( var i = 0; i < dispFlgs.length; i++) {
        window.opener.document.getElementsByName("item17")[i].checked = dispFlgs[i].checked
    }
    if (flg == "1") {
        if (!selectedFlg) {
         alert(GetMessage(MSG_1006, null));
            return;
        }
        if (window.opener) {
            window.opener.document.getElementById("buttonFlg").value = "1";
        }
    } else if (flg == "2") {
        if (window.opener) {
            window.opener.document.getElementById("buttonFlg").value = "2";
        }
    }
    window.close();
    return;
}
/** ********************************************************************* */
/* ファンクション名 : parentDataLoad */
/* 機能名 : 親画面データロード処理 */
/** ********************************************************************* */
function parentDataLoad() {
    // textの分
    // コード
    document.getElementById("item1").value = window.opener.document
            .getElementById("item1").value;
    // 名称
    document.getElementById("item2").value = window.opener.document
            .getElementById("item2").value;
    // 媒体属性
    document.getElementById("item3").value = window.opener.document
            .getElementById("item3").value;
    // 係数
    document.getElementById("item14").value = window.opener.document
            .getElementById("item14").value;
    // 取置期間
    document.getElementById("item15").value = window.opener.document
            .getElementById("item15").value;
    // コメント
    document.getElementById("item16").value = window.opener.document
            .getElementById("item16").value;
    // comboxの分
    // 紙
    document.getElementById("item4").value = window.opener.document
            .getElementById("item4").value;
    // 刊区分
    document.getElementById("item5").value = window.opener.document
            .getElementById("item5").value;
    // 媒体グループ
    document.getElementById("item6").value = window.opener.document
            .getElementById("item6").value;
    // CTPsv送信
    document.getElementById("item8").value = window.opener.document
            .getElementById("item8").value;
    // 別刷フォーム
    document.getElementById("item13").value = window.opener.document
            .getElementById("item13").value;
    // radioの分
    // 紙面送信
    var kumisendFlgs = window.opener.document.getElementsByName("item7");
    for ( var i = 0; i < kumisendFlgs.length; i++) {
        document.getElementsByName("item7")[i].checked = kumisendFlgs[i].checked
    }
    // 広告切替連絡
    var advchgFlgs = window.opener.document.getElementsByName("item9");
    for ( var i = 0; i < advchgFlgs.length; i++) {
        document.getElementsByName("item9")[i].checked = advchgFlgs[i].checked
    }
    // 広告カラー連絡有無
    var advcolFlgs = window.opener.document.getElementsByName("item10");
    for ( var i = 0; i < advcolFlgs.length; i++) {
        document.getElementsByName("item10")[i].checked = advcolFlgs[i].checked
    }
    // 版制有無
    var prhanFlgs = window.opener.document.getElementsByName("item11");
    for ( var i = 0; i < prhanFlgs.length; i++) {
        document.getElementsByName("item11")[i].checked = prhanFlgs[i].checked
    }
    // 週間面割有無
    var weekFlgs = window.opener.document.getElementsByName("item12");
    for ( var i = 0; i < weekFlgs.length; i++) {
        document.getElementsByName("item12")[i].checked = weekFlgs[i].checked
    }
    // 表示有無
    var dispFlgs = window.opener.document.getElementsByName("item17");
    for ( var i = 0; i < dispFlgs.length; i++) {
        document.getElementsByName("item17")[i].checked = dispFlgs[i].checked
    }
    return;
}
/****************************************************/
/* KEYの重複チェック処理                            */
/* flg   処理識別フラグ(1:追加2:更新)               */
/****************************************************/
function media_keycheckfunc( flg ) {
    var tableObject = document.getElementById(tableId);
    var maxRow = tableObject.rows.length;
    for(i=0;i<maxRow;i++){
        // 変更の場合は、選択行のチェックを退避
        if((flg == "2") && (i==iSelectRow)) {
            continue;
        }
        if(tableObject.rows[i].cells[0].innerHTML == $("#item1").attr("value")
          && tableObject.rows[i].cells[19].innerHTML == $("#item6").val() ){
            alert(GetMessage(MSG_1012, new Array("コード")));
            document.getElementById("item1").focus();
            document.getElementById("item1").select();
            return false;
        }
//        if(tableObject.rows[i].cells[1].innerHTML == $("#item2").attr("value")){
//            alert(GetMessage(MSG_1012, new Array("名称")));
//            document.getElementById("item2").focus();
//            document.getElementById("item2").select();
//            return false;
//        }
    }
    return true;
}
/****************************************************/
/* 入力項目チェック処理                             */
/* flg   処理識別フラグ(1:追加 2:更新)   */
/****************************************************/
function media_inputcheckfunc( flg ) {
    // 変更の場合は、行の選択必要
    if (flg == "2" && iSelectRow < 0) {
        alert(GetMessage(MSG_1001, null));
        return false;
    }
    /* コード 半角英数・必須入力 */
    if (ComCharCheckProc(document.getElementById("item1") , "コード" , "1") == false) {
        return false;
    }
    /* 名称 文字数・必須入力 */
    if (ComLenCheckProcMst(document.getElementById("item2") ,8, "名称" , "1") == false) {
        return false;
    }
    /* 媒体属性 文字数・必須入力 */
    if (ComLenCheckProcMst(document.getElementById("item3") ,6, "媒体属性" , "1") == false) {
        return false;
    }
    /* 紙 必須入力 */
    if($("#item4").val()==""){
        alert(GetMessage(MSG_1013, new Array("紙")));
        return false;
    }
    /* 刊区分 必須入力 */
    if($("#item5").val()==""){
        alert(GetMessage(MSG_1013, new Array("刊区分")));
        return false;
    }
    /* 媒体グループ 必須入力 */
    if($("#item6").val()==""){
        alert(GetMessage(MSG_1013, new Array("媒体グループ")));
        return false;
    }
    /* CTPsv送信 必須入力 */
    if($("#item8").val()==""){
        alert(GetMessage(MSG_1013, new Array("CTPsv送信")));
        return false;
    }
    /* 週面なしの場合、別刷フォーム 必須入力 */
    if($("input[name='item12']:checked").val()=="0"
     && $("#item13").val()=="0" ) {
        alert(GetMessage(MSG_1013, new Array("別刷フォーム")));
        return false;
    }
    /* 媒体係数 数字・必須入力 */
    if (ComNumCheckProc(document.getElementById("item14") , "係数" , "1") == false) {
        return false;
    }
    /* 取置期間 数字・必須入力 */
    if ((ComNumCheckProc(document.getElementById("item15") , "取置期間" , "1") == false) ||
     (ComNumAreaCheck(document.getElementById("item15") , "取置期間" , 1, 30) == false)) {
        return false;
    }
    /* コメント 文字数 */
    if (ComLenCheckProc(document.getElementById("item16") , 24 , "コメント" , "0") == false) {
        return false;
    }
    /* 重複チェック */
    if( media_keycheckfunc( flg ) == false){
        return false;
    }
    return true;
}
/************************************************************************/
/* ファンクション名 :  RadioBtnChk                                     */
/* 機能名           :  週面ラジオボタンのチェック処理                  */
/* 引数             :  選択インデント                                  */
/************************************************************************/
function RadioBtnChk( value ){
 // 別刷りリスト対象を取得
 var otherlist = document.getElementById("item13");
 if (value == 1) {
  otherlist[0].selected = true;
  otherlist.disabled = true;
 } else {
  otherlist.disabled = false;
 }
}
 

    var f = document.mediaSelectMstrActionForm;
    var grpList = f.mediaChk;
    var medList;
    var medCd;
    /* 各リストクリア */
    for ( var i = 0 ; i < grpList.length ; i++ ) {
        medList = document.getElementById("mediaList_"+ i);
        if (i != grpIndx) {
            SelectClear(medList);
            medList.disabled = true;
        } else {
            /* 対象リストのチェック */
            medList.disabled = false;
            if( medList.length > 1) {
                medList[1].selected = "selected";
                medCd = medList[1].value;
            }
            selectMediaCode = medCd;
            calSubmit(mediagrpCode, medCd);
        }
    }
}

/************************************************************************/
/* ファンクション名 :  SelectChk                                       */
/* 機能名           :  セレクトボックス処理                            */
/* 引数             :  選択インデント,媒体グループコード               */
/************************************************************************/
function SelectChk( index, mediaGrpCode ){
    if (!changefunc("media" , index)){
        return;
    }
    var f = document.mediaSelectMstrActionForm;
    var grpList = f.mediaChk;
    var medList;
    var mediaCode;
    for (var i = 0; i < grpList.length; i++) {
        /* 選択した媒体グループ以外を初期化 */
        if (i == index) {
            grpList[i].checked = true;
            mediaCode = document.getElementById("mediaList_"+ i).value;
        } else {
            medList = document.getElementById("mediaList_"+ i);
            SelectClear(medList);
            medList.disabled = true;
        }
    }
    selectMediaCode = mediaCode;
    calSubmit(mediaGrpCode, mediaCode);
}

/************************************************************************/
/* ファンクション名 :  calSubmit                                       */
/* 機能名           :  面割詳細画面への送信処理                        */
/* 引数             :  媒体グループコード,媒体コード                   */
/************************************************************************/
function calSubmit(mediagrpCode ,mediaCode) {
    /* 空のセレクトが選択された場合、サブミットしない */
 var termDate = $("input[name='termDate']:checked").val();
    //if (mediagrpCode != null && mediaCode != null && termDate != null) {
    var fm = parent.MstrMwptn_FR.document.mwPtnListActionForm;
    fm.mediagrpCode.value = mediagrpCode;
    fm.mediaCode.value = mediaCode;
    fm.termId.value = termDate;
    fm.submit();
    //}
}

/************************************************************************/
/* ファンクション名 :  termDateChange                                  */
/* 機能名           :  有効期間変換の場合                              */
/* 引数             :  なし                                            */
/************************************************************************/
function termDateChange() {
    if (!changefunc("termDate" , 0)){
        return;
    }
    /* 空のセレクトが選択された場合、サブミットしない */
 var mediaGrpCode = $("input[name='mediaChk']:checked").val();
 if (typeof selectMediaCode == "undefined") {
  // 媒体リスト変更しない場合は、selectMediaCodeの値を設定しないが、初期値を設定する
  var mediaCodeStr = parent.frames['MstrMwptn_FR'].document.getElementById("mediaCode").value;
  calSubmit(mediaGrpCode, mediaCodeStr);
 } else {
  calSubmit(mediaGrpCode, selectMediaCode);
 }
}

/************************************************************************/
/* ファンクション名 :  mwptnParentSubmit                               */
/* 機能名           :  再表示処理                                      */
/************************************************************************/
function mwptnParentSubmit() {
    if (!changefunc("" , 0)){
        return;
    }
 parent.parent.MasterData_FR.location = "../mwptnmstr/index";
 }

/** ********************************************************************* */
/* ファンクション名 : setData */
/* 機能名 : 選択したデータ右に設定処理 */
/* 引数 : 行番号 */
/** ********************************************************************* */
function setData(id) {
}

/** ********************************************************************* */
/* ファンクション名 : SelectRow                                          */
/* 機能名 : 選択したデータindexを取得                                    */
/* 引数 : なし                                                           */
/** ********************************************************************* */
function SelectRow() {

    iSelectRow = event.srcElement.parentElement.parentElement.sectionRowIndex;
}

/** ********************************************************************* */
/* ファンクション名 : exchangeRow */
/* 機能名 : 表示位置一つ移動処理 */
/* 引数 : フラグ True :上へ */
/* : False: 下へ */
/** ********************************************************************* */
function exchangeRow(isUp) {

 var radioStr = $("input[name='mwptnRadio']:checked").val();
 if (radioStr == "" || radioStr == null) {
        alert(GetMessage(MSG_1001, null));
        return false;
 } else {
  if (radioStr.indexOf("masterweek_") >= 0) {
   tableId = "masterweek";
  } else if (radioStr.indexOf("masterday_") >= 0) {
   tableId = "masterday";
  } else if (radioStr.indexOf("masterselect_") >= 0) {
   tableId = "masterselect";
  } else {
   return false;
  }
 }

    var tableObject = document.getElementById(tableId);
    var rowIndex = -1;
    var maxColumn;
    var maxRow = tableObject.rows.length;
    if (isNaN(maxRow)) {
        maxRow = 0;
    }
    if (iSelectRow == -1) {
        alert(GetMessage(MSG_1001, null));
        return false;
    }

    if (isUp) {
        if (iSelectRow <= 0) {
            alert(GetMessage(MSG_1002, null));
            return false;
        }

        rowIndex = iSelectRow - 1;

        if (rowIndex == -1) {
            alert(GetMessage(MSG_1002, null));
            return false;
        }
    } else {
     rowIndex = iSelectRow + 1;

        if (rowIndex >= maxRow) {
            alert(GetMessage(MSG_1003, null));
            return false;
        }
    }

    maxColumn = tableObject.rows[0].cells.length;
    for ( var i = 0; i < maxColumn; i++) {
        var valueBefore = tableObject.rows[iSelectRow].cells[i].innerHTML;
        var valueAfter = tableObject.rows[rowIndex].cells[i].innerHTML;
        tableObject.rows[rowIndex].cells[i].innerHTML = valueBefore;
        tableObject.rows[iSelectRow].cells[i].innerHTML = valueAfter;
    }

    // ラジオボタンの値を設定
    var value = radioStr.split("_")[0] + "_" + tableObject.rows[rowIndex].cells[1].innerHTML;
    $("input[name='mwptnRadio'][value='" + value + "']").attr("checked", true);

    iSelectRow = rowIndex;

    setUpdFlg(1);

    return true;
}

/************************************************************************ */
/* ファンクション名 : submitForm */
/* 機能名 : submitのデータ設定処理 */
/* 引数 : */
/************************************************************************ */
function submitForm() {

 // 更新データ存在しなかった場合、メッセージ表示
    if (!changeCheck()){
  alert(MSG_1020);
  return false;
    }

 /* 0:週間マスタ*/
 makeHidden4Table("masterweek", "weeklyList", '0');
 /* 1:日マスタ*/
 makeHidden4Table("masterday", "dayList", '1');
 /* 2:セクションマスタ*/
 makeHidden4Table("masterselect", "sectionList", '2');

 setUpdFlg(0);
    return;
}

/******************************************************************************/
/* 更新データ有無チェック処理                                                 */
/******************************************************************************/
function changeCheck() {
    var IUpdFlg = parent.frames['MstrMwptn_FR'].document.getElementById("IUpdFlg").value;
    /* データ設定有無チェック */
    var AlertFlg = parent.frames['MstrMwptn_FR'].document.getElementById("AlertFlg").value;
    /* データ設定有りで、戻るリンクでない */
    if(IUpdFlg == 1 &&  AlertFlg == 0){
     return true;
    }
    return false;
}

function makeHidden4Table(tableName, listName, mstKind) {

    var tableObject = document.getElementById(tableName);
    maxRow = tableObject.rows.length;

    if (isNaN(maxRow)) {
        maxRow = 0;
    }
    for (i = 0; i < maxRow; i++) {
        // 媒体コード
        make_hidden(listName + "["+i+"].mediaCode", tableObject.rows[i].cells[3].innerHTML);
        // 媒体グループコード
        make_hidden(listName + "["+i+"].mediagrpCode", tableObject.rows[i].cells[4].innerHTML);
        // パターンNo
        make_hidden(listName + "["+i+"].ptnNo", tableObject.rows[i].cells[1].innerHTML);
        // マスタ種別
        make_hidden(listName + "["+i+"].mstKind", mstKind);
        // マスタタイトル
        make_hidden(listName + "["+i+"].mstTitle", tableObject.rows[i].cells[2].innerHTML);
        // 期間ID
        make_hidden(listName + "["+i+"].termId", tableObject.rows[i].cells[5].innerHTML);
        // 表示順位
        make_hidden(listName + "["+i+"].dispNo", i+1);
    }
}

/****************************************************/
/* 媒体グループ、媒体、有効期間を変換することイベント処理                         */
/****************************************************/
function changefunc(changStr, index) {
    var IUpdFlg = parent.frames['MstrMwptn_FR'].document.getElementById("IUpdFlg").value;

    /* データ設定有無チェック */
    var AlertFlg = parent.frames['MstrMwptn_FR'].document.getElementById("AlertFlg").value;
    if(IUpdFlg == 1){
     parent.frames['MstrMwptn_FR'].document.getElementById("AlertFlg").value = 1;   /* アラート表示フラグセット */
        if(!(confirm(MSG_1005) ) ){

         if (changStr == "mediaGrp") {
             /* 媒体グループ*/
             var lastMediaGrpCode = parent.frames['MstrMwptn_FR'].document.getElementById("mediagrpCode").value;
                $("input[name='mediaChk'][value='"+ lastMediaGrpCode +"']").attr("checked",true);
                $("input[name='mediaChk'][value='"+ lastMediaGrpCode +"']").focus();
                lastMediaGrpCode = $("input[name='mediaChk']:checked").val();
         }

         if (changStr == "media") {
                /* 媒体*/
             var lastMediaCode = parent.frames['MstrMwptn_FR'].document.getElementById("mediaCode").value;
             $("#mediaList_" + index).val(lastMediaCode);
             lastMediaCode = $("#mediaList_" + index).val();
         }

         if (changStr == "termDate") {
                /* 有効期間*/
             var lastTermDate = parent.frames['MstrMwptn_FR'].document.getElementById("termId").value;
                $("input[name='termDate'][value='"+ lastTermDate +"']").attr("checked",true);
                $("input[name='termDate'][value='"+ lastTermDate +"']").focus();
                lastTermDate = $("input[name='termDate']:checked").val();
         }

            parent.frames['MstrMwptn_FR'].document.getElementById("AlertFlg").value = 0;
            return false;
        }
    }

    return true;
}

/************************************************************************/
/* ファンクション名 :  deleteMwptnData                                 */
/* 機能名           :  面割パターンデータを削除                        */
/* 引数             :                                                  */
/************************************************************************/
function deleteMwptnData(deleteFlg) {

 var radioStr = $("input[name='mwptnRadio']:checked").val();
 if (radioStr == "" || radioStr == null) {
        alert(GetMessage(MSG_1001, null));
        return false;
 } else {
  if (deleteFlg == "week") {
   if (radioStr.indexOf("masterweek_") >= 0) {
    tableId = "masterweek";
   } else {
    alert(GetMessage(MSG_1001, null));
    return false;
   }
  } else if (deleteFlg == "day") {
   if (radioStr.indexOf("masterday_") >= 0) {
    tableId = "masterday";
   } else {
    alert(GetMessage(MSG_1001, null));
    return false;
   }
  } else if (deleteFlg == "section") {
   if (radioStr.indexOf("masterselect_") >= 0) {
    tableId = "masterselect";
   } else {
    alert(GetMessage(MSG_1001, null));
    return false;
   }
  } else {
   return false;
  }
 }

    if(!(confirm(GetMessage(MSG_1016, null)) ) ){
        return false;
    }

    // 削除データのリストを保存する
    // パターンNo
    make_hidden("deleteList["+ deleteRowCnt +"].ptnNo", radioStr.split("_")[1]);
    // deleteRowCnt+1
    deleteRowCnt++;

    // 選択行を削除する
    $("#"+ tableId + " tr[id=" + radioStr.split("_")[1] + "]").remove();
    $("#" + tableId + " tr ").css("display","none");
    $("#" + tableId + " tr ").css("display","block");

    // データを変更のフラグ
    setUpdFlg(1);

    return true;
}
 
=========================master.js
document
        .write("<script type='text/javascript' src='../scripts/master/mw_csvparser.js'></script>");
document
        .write("<script type='text/javascript' src='../scripts/master/mw_tablectrl.js'></script>");
document
        .write("<script type='text/javascript' src='../scripts/messages.js'></script>");
initillize();
/** ********************************************************************* */
/* ファンクション名 : initillize */
/* 機能名 : 初期化処理 */
/* 引数 : */
/** ********************************************************************* */
function initillize(tr_id) {
 /* 面割パターンマスタの場合は、処理しない*/
 if (tableId.indexOf("masterweek") >= 0 || tableId.indexOf("masterday") >= 0 ||
   tableId.indexOf("masterselect") >= 0) {
  return;
 }
    $(function() {
        if (isNaN(tr_id)) {
            var traction = $("#" + tableId + " tr");
        } else {
            var traction = $("#" + tr_id);
        }
        // テーブル行のハイライト
        traction.hover(function() {
         $(this).addClass("HoverRow");
     }, function() {
         $(this).removeClass("HoverRow");
     })
     // 行選択処理
        traction.dblclick(
            function() {
                iNowSelRos = event.srcElement.parentElement.sectionRowIndex;
                if (iNowSelRos == iSelectRow) {
                 // 同じ行もう一回選択すると、クリア
                 clearData();
                } else {
                    // 前回選択した行の選択状態を解除する
                    if (iSelectRow >= 0) {
                        setNormal(document.getElementById(tableId).rows[iSelectRow].id);
                    }
                    // 今回選択した行を選択状態にする
                    setSelected(document.getElementById(tableId).rows[iNowSelRos].id);
                    srElem = event.srcElement;
                    iSelectRow = srElem.parentElement.sectionRowIndex;
                    // レコード編集にデータ設定
                    setData(iSelectRow);
                }
            });
    });
}
/************************************************************************/
/* ファンクション名 :  CsvRead                                         */
/* 機能名           :  CSV読込処理                                     */
/* 引数             :                                                  */
/************************************************************************/
function CsvRead(form) {
 csvWriteFlg = false;
 if (!confirm(GetMessage(MSG_1004, null))) {
  return csvWriteFlg;
 }
    var fileread = document.getElementById("fileread");
    fileread.click();
    return csvWriteFlg;
}
/** ********************************************************************* */
/* ファンクション名 : OnSelectedReadFile */
/* 機能名 : CSV読込処理(データ読込) */
/** ********************************************************************* */
function OnSelectedReadFile(form, tablename) {
    if (form.value != "") {
        var ret;
        var objParser = new CsvParser();
        ret = objParser.ReadCsv(form.value);
        if (ret == -1) {
            return false;
        }
        ret = objParser.Parse();
        if (ret == -1) {
            return false;
        }
        var objTableCtrl = new TableControl(tablename);
        objTableCtrl.ClearData(0);
        objTableCtrl.DisplayData(objParser.GetData());
        form.value = "";
    }
    csvWriteFlg = true;
    return true;
}
/** ********************************************************************* */
/* ファンクション名 : exchangePosition */
/* 機能名 : 表示位置一つ移動処理 */
/* 引数 : フラグ True :上へ */
/* : False: 下へ */
/* hiddenArray: table中のhidden項目のname定義 */
/** ********************************************************************* */
function exchangePosition(isUp, hiddenArray) {
    var tableObject = document.getElementById(tableId);
    var rowIndex = -1;
    var maxColumn;
    var maxRow = tableObject.rows.length;
    if (isNaN(maxRow)) {
        maxRow = 0;
    }
    if (iSelectRow == -1) {
        alert(GetMessage(MSG_1001, null));
        return false;
    }
    if (isUp) {
        if (iSelectRow <= 0) {
            alert(GetMessage(MSG_1002, null));
            return false;
        }
        for (i = iSelectRow - 1; i >= 0; i--) {
            if (document.getElementById(tableObject.rows[i].id).style.display == "none") {
                continue;
            } else {
                rowIndex = i;
                break;
            }
        }
        if (rowIndex == -1) {
            alert(GetMessage(MSG_1002, null));
            return false;
        }
    } else {
        for ( var i = iSelectRow + 1; i < maxRow; i++) {
            if (document.getElementById(tableObject.rows[i].id).style.display == "none") {
                continue;
            } else {
                rowIndex = i;
                break;
            }
        }
        if (iSelectRow >= maxRow) {
            alert(GetMessage(MSG_1003, null));
            return false;
        }
        if (rowIndex == -1) {
            alert(GetMessage(MSG_1003, null));
            return false;
        }
    }
    maxColumn = tableObject.rows[0].cells.length;
    for ( var i = 0; i < maxColumn; i++) {
        var valueBefore = tableObject.rows[iSelectRow].cells[i].innerHTML;
        var valueAfter = tableObject.rows[rowIndex].cells[i].innerHTML;
        tableObject.rows[rowIndex].cells[i].innerHTML = valueBefore;
        tableObject.rows[iSelectRow].cells[i].innerHTML = valueAfter;
    }
    if (hiddenArray==undefined) {
        hiddenArray = null;
    } else {
        if (hiddenArray.length > 0) {
            for (i = 0; i < hiddenArray.length; i++) {
                var hiddenBefore = $("#"+ hiddenArray[i] + "" + iSelectRow).val();
                var hiddenAfter = $("#"+ hiddenArray[i] + "" + rowIndex).val();
                $("#"+ hiddenArray[i] + "" + iSelectRow).val(hiddenAfter);
                $("#"+ hiddenArray[i] + "" + rowIndex).val(hiddenBefore);
            }
        }
    }
    // 前回選択した行の選択状態を解除する
    if (iSelectRow >= 0) {
        setNormal(tableObject.rows[iSelectRow].id);
    }
    // 今回選択した行を選択状態にする
    setSelected(tableObject.rows[rowIndex].id);
    iSelectRow = rowIndex;
    return true;
}
/** ********************************************************************* */
/* ファンクション名 : ComTrimProc */
/* 機能名 : 文字列の前後トリム処理 */
/* 説明 : 文字列の前後にある空白を取り去る */
/* 引数 : obj オブジェクト */
/* 戻り値 : Boolean True : */
/* : False: */
/** ********************************************************************* */
function ComTrimProc(obj) {
    /* 変数宣言 */
    var strtext = obj;
    var icnt;
    var istrsta = 0;
    var istrend = strtext.length;
    for (icnt = 0; icnt < istrend; icnt++) {
        if ((strtext.substring(icnt, icnt + 1) == ' ')
                || (strtext.substring(icnt, icnt + 1) == ' ')) {
            istrsta++;
        } else {
            break;
        }
    }
    for (icnt = istrend; icnt >= 0; icnt--) {
        if ((strtext.substring(icnt - 1, icnt) == ' ')
                || (strtext.substring(icnt - 1, icnt) == ' ')) {
            istrend--;
        } else {
            break;
        }
    }
    if (istrsta >= istrend) {
        obj = "";
    } else {
        obj = strtext.substring(istrsta, istrend);
    }
    return obj;
}
/** ********************************************************************* */
/* ファンクション名 : releaseTable */
/* 機能名 : 絞り検索解除 */
/* 引数 : */
/** ********************************************************************* */
function releaseTable() {
    $("#" + tableId + " tr").css("display", "block");
    $("#deleteButton").css("display","none");
    document.getElementById("count").innerHTML = "";
    clearData();
    return;
}
/** ********************************************************************* */
/* ファンクション名 : printOpen */
/* 機能名 : 確認印刷処理 */
/* 引数 : */
/** ********************************************************************* */
function printOpen(masterName) {
    var tableObject = document.getElementById(tableId);
    var maxRow = tableObject.rows.length;
    var iDataNum = 0;
    // 表示データ有無判定
    for (i = 0; i < maxRow; i++) {
        if (document.getElementById(tableObject.rows[i].id).style.display != "none") {
            iDataNum = 1;
            break;
        }
    }
    // データが存在しなかった場合、メッセージ表示
    if( iDataNum == 0){
        alert(MSG_1018);
        return;
    }
    // 印刷処理
    if (document.getElementById != null) {
        var html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n';
        html += '<HTML class="printOpen">\n<HEAD>\n';
        var headTags = document.getElementsByTagName("head");
        html += headTags[0].innerHTML;
        html += '\n<script type="text/javascript">';
        html += '\nfunction print(){'
        html += '\n    var WebBrowser = \'<OBJECT ID="Dialog" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>\'';
        html += '\n    document.body.insertAdjacentHTML(\'beforeEnd\', WebBrowser);';
        html += '\n    Dialog.ExecWB(6, 1);';
        html += '\n    Dialog.outerHTML = "";';
        html += '\n}';
        html += '\n</script>';
        html += '\n<title>' + masterName + '情報印刷</title>';
        html += '\n</HEAD>\n<BODY>';
        var printPageElem = '<strong style="margin-left: 8px;"><font size="3" id="title">'
                + masterName + '</font></strong>';
        printPageElem = printPageElem
                + document.getElementById("dvPtTbHead").innerHTML;
        printPageElem = printPageElem
                + document.getElementById("dvPtTbMain").innerHTML;
        html += printPageElem;
        html += '</BODY>\n</HTML>';
        var printWin = window.open(
                        "",
                        "",
                        'height=' + screen.height*0.75
                            +',width=' + screen.width*0.75
                            +',top=0'
                            + ',left='
                            + (screen.width - 800) / 2
                            + 'directories=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,toolbar=no');
        printWin.document.open();
        printWin.document.write(html);
        printWin.print();
        printWin.close();
    }
}
/** ********************************************************************* */
/* ファンクション名 : make_hidden */
/* 機能名 : hidden項目作成 */
/* 引数 : */
/** ********************************************************************* */
function make_hidden(name, value) {
    var q = document.createElement('input');
    q.type = 'hidden';
    q.name = name;
    q.id = name;
    q.value = value;
    document.forms[0].appendChild(q);
}
/** ********************************************************************* */
/* ファンクション名 : setNormal */
/* 機能名 : NormalRowクラス設定 */
/* 引数 : 行ID */
/** ********************************************************************* */
function setNormal(lineId) {
    document.getElementById(lineId).className = "";
    return;
}
/** ********************************************************************* */
/* ファンクション名 : setSelected */
/* 機能名 : 絞り検索解除 */
/* 引数 : 行ID */
/** ********************************************************************* */
function setSelected(lineId) {
    document.getElementById(lineId).className = "SelectedRow";
    return;
}
/** ********************************************************************* */
/* ファンクション名 : setUpdFlg */
/* 機能名 : データ更新フラグ設定 */
/* 引数 : 設定値 */
/** ********************************************************************* */
function setUpdFlg(value) {
    $("#IUpdFlg").attr("value",value);
    return;
}
/****************************************************/
/* 画面終了イベント処理                             */
/****************************************************/
function onunloadfunc()
{
 if (checkUpdate() && csvWriteFlg == false) {
  return GetMessage(MSG_1005);
 }
 // すでに存在した場合、閉じる
 if (window.child && window.child.open && !window.child.closed) {
   window.child.close();
 }
 csvWriteFlg = false;
}
/************************************************************************/
/* ファンクション名 :  indexData                                       */
/* 機能名           :  再表示データ取得処理                            */
/* 引数             :                                                  */
/************************************************************************/
function indexData(){
 if (checkUpdate()) {
  if (!confirm(GetMessage(MSG_1005))) {
   return false;
  }
 }
    setUpdFlg(0);
    return true;
}
/****************************************************/
/* 更新データ有無チェック処理                       */
/****************************************************/
function checkUpdate()
{
    var IUpdFlg = $("#IUpdFlg").attr("value");
    var AlertFlg = $("#AlertFlg").attr("value");
    /* データ設定有りで、戻るリンクでない */
    if(IUpdFlg == 1 &&  AlertFlg == 0){
     return true;
    }
    return false;
}
function setcsvWriteFlg(flg) {
 csvWriteFlg = flg;
}
/************************************************************************/
/* ファンクション名 :  getkindbyValue                                  */
/* 機能名           :  ラジオボタンの名称取得                          */
/* 引数             :  radioId: ラジオボタンのname                     */
/*                      radioId: ラジオボタンのvalue                    */
/************************************************************************/
function getKindbyValue(radioName, value) {
    var smnKinds = document.getElementsByName(radioName);
    var itemName;
    for(var i=0; i <smnKinds.length;i++) {
          if(smnKinds[i].value == value){
              itemName =  ComTrimProc(document.getElementById("label_" + smnKinds[i].id).innerText);
              break;
          }
    }
    return itemName;
}
/************************************************************************/
/* ファンクション名 :  getValuebyKind                                  */
/* 機能名           :  ラジオボタンのValue取得                         */
/* 引数             :  radioId: ラジオボタンのname                     */
/*                      radioId: ラジオボタンの                         */
/************************************************************************/
function getValuebyKind(radioName, kind) {
    var smnKinds = document.getElementsByName(radioName);
    var itemKind;
    var item;
    kind = ComTrimProc(kind);
    for(var i=0; i <smnKinds.length;i++) {
          item = ComTrimProc(document.getElementById("label_" + smnKinds[i].id).innerText);
          if(item == kind){
              itemKind =  smnKinds[i].value;
              break;
          }
    }
    return itemKind;
}
/************************************************************************/
/* ファンクション名 :  deleteData                                      */
/* 機能名           :  絞り検索したデータを削除                        */
/* 引数             :                                                  */
/************************************************************************/
function deleteData(){
    if(!(confirm(GetMessage(MSG_1016, null)) ) ){
        return;
    }
    clearData();
    for (var i=0; i<deleteNo.length; i++){
        $("#"+deleteNo[i]).remove();
    }
    if (deleteNo.length > 0) {
        setUpdFlg(1);
    }
    $("#"+ tableId +" tr").css("display","block");
    $("#deleteButton").css("display","none");
    document.getElementById("count").innerHTML = "";
}

window.document.onkeydown=ComKeyChk;
/************************************************************************/
/* ファンクション名 :  ComKeyChk                                       */
/* 機能名           :  KEYイベント無効化処理                           */
/* 説明             :  特定KEYのイベントを無効にする                   */
/* 引数             :                                                  */
/* 戻り値           :                                                  */
/************************************************************************/
function ComKeyChk(){
    var elem;
    /* ALT + ←は無効にする */
    if( event.keyCode == 37 && event.altKey == true ) {
        return false ;
    }
    /* CTRL + R(再読み込み)は無効にする */
    if( event.keyCode == 82 && event.ctrlKey == true ) {
        return false ;
    }
    /* CTRL + W(ウィンドウクローズ)は無効にする */
    if( event.keyCode == 87 && event.ctrlKey == true ) {
        return false ;
    }
    /* Tab */
    if( event.keyCode == 9 ) {
        return true ;
    }
    /* ↑→↓← キーイベント有効にする*/
    if( event.keyCode == 37 || event.keyCode == 38 ||
     event.keyCode == 39 || event.keyCode == 40) {
        return true ;
    }
    /* カーソルのあるタグ名を取得 */
    elem = window.event.srcElement;
    //elem = window.event.srcElement.tagName;
    /* 文字入力エリアは除く */
    if(elem.tagName == "INPUT" || elem.tagName == "TEXTAREA"){
        /* Enter(ウィンドウクローズ) */
     if( event.keyCode == 13 ){    //Enter キー
      if ( elem.type == "button" || elem.type == "submit") {
       return true; //buttonとsubmitの場合、有効
      } else {
       return false;//無効
      }
     }
        /* checkboxの場合 space(空白キー)有効にする */
     if( event.keyCode == 32 && elem.type == "checkbox") {
       return true;    //無効
     }
        // テキスト、パスワード、ファイルの場合
        if( elem.type == "text" || elem.type == "password" ||
            elem.type == "file" || elem.type == "textarea" )
        {
            // readOnlyで無い場合
            if( elem.readOnly == false )
            {
                // イベント有効
                return true;
            }
        }
        // イベント有効
        //return true;
    }
    /* BackSpase */
    if( event.keyCode == 8 ) {
        return false ;
    }
    return false ;
}
/************************************************************************/
/* ファンクション名 :  ComStringTrim                                   */
/* 機能名           :  文字列の前後トリム処理                          */
/* 説明             :  文字列の前後にある空白を取り去る                */
/* 引数             :  obj         オブジェクト                        */
/* 戻り値           :  Boolean     True :                              */
/*                  :              False:                              */
/************************************************************************/
function ComStringTrim( obj ){
    /* 変数宣言 */
    var strtext = obj.value ;
    var icnt;
    var istrsta = 0;
    var istrend = strtext.length;
    for( icnt = 0 ; icnt < istrend ; icnt++ ){
        if( (strtext.substring(icnt,icnt+1) == ' ') || (strtext.substring(icnt,icnt+1) == ' ') ){
            istrsta++;
        }else{
            break;
        }
    }
    for( icnt = istrend ; icnt >= 0 ; icnt-- ){
        if( (strtext.substring(icnt-1,icnt) == ' ') || (strtext.substring(icnt-1,icnt) == ' ') ){
            istrend--;
        }else{
            break;
        }
    }
    if( istrsta >= istrend ){
        obj.value = "" ;
    }else{
        obj.value = strtext.substring(istrsta,istrend);
    }
    return;
}
/************************************************************************/
/* ファンクション名 :  ComZeroTrimProc                                 */
/* 機能名           :  文字列の前の0を取り去る処理                     */
/* 説明             :  文字列の前にある0を取り去る                     */
/* 引数             :  obj         オブジェクト                        */
/* 戻り値           :  Boolean     True :                              */
/*                  :              False:                              */
/************************************************************************/
function ComZeroTrimProc( obj ){
    /* 変数宣言 */
    var strtext = obj.value ;
    var icnt;
    var istrsta = 0;
    var istrend = strtext.length;
    for( icnt = 0 ; icnt < istrend ; icnt++ ){
        if( strtext.substring(icnt,icnt+1) == '0' ){
            istrsta++;
        }else{
            break;
        }
    }

    if( istrsta >= istrend ){
        obj.value = "" ;
    }else{
        obj.value = strtext.substring(istrsta,istrend);
    }
    return;
}
/************************************************************************/
/* ファンクション名 :  ComSmltoLrgProc                                 */
/* 機能名           :  小文字を大文字に変換処理                        */
/* 説明             :  文字列の小文字を大文字に変換する                */
/* 引数             :  obj         オブジェクト                        */
/* 戻り値           :  なし                                            */
/************************************************************************/
function ComSmltoLrgProc( obj ){
    /* 変数宣言 */
    var strtext = obj.value ;
    obj.value = strtext.toUpperCase();
    return;
}
/************************************************************************/
/* ファンクション名 :  ComCharCheckProc                                */
/* 機能名           :  文字列の英数字チェック処理                      */
/* 説明             :  文字列が英数字のみで構成されているかチェック    */
/* 引数             :  obj         オブジェクト                        */
/*                      stextname   項目名                              */
/*                      flg         0:                                  */
/*                                  1:入力必須項目                      */
/* 戻り値           :  Boolean     True :  英数字のみ                  */
/*                  :              False:  英数字以外の文字を含む      */
/************************************************************************/
function ComCharCheckProc( obj , stextname , flg ){
    /* 変数宣言 */
    var strtext = obj.value;   /* チェック対象文字列 */
    var scheckstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789()" ;
    /* 必須入力項目 */
    if( flg == 1 ){
        if( ComInputCheckProc( obj, stextname ) == false ){
            return false;
        }
    }
    for( i = 0; i < strtext.length; i++ ){
        c = strtext.charAt(i) ;
        if( scheckstr.indexOf(c, 0) < 0 ){
            //alert( stextname + "は、英数字で入力して下さい。" ) ;
            alert(GetMessage(MSG_1008, new Array(stextname)));
            obj.focus() ;
            obj.select() ;
            return false ;
        }
    }
    return true ;
}
/************************************************************************/
/* ファンクション名 :  ComNumCheckProc                                 */
/* 機能名           :  数字チェック処理                                */
/* 説明             :  文字列が数字のみで構成されているかチェック      */
/* 引数             :  obj         オブジェクト                        */
/*                      stextname   項目名                              */
/*                      flg         0:                                  */
/*                                  1:入力必須項目                      */
/* 戻り値           :  Boolean     True :  数字のみ                    */
/*                  :              False:  数字以外の文字を含む        */
/************************************************************************/
function ComNumCheckProc( obj , stextname , flg ){
    /* 変数宣言 */
    var strtext = obj.value;   /* チェック対象文字列 */
    /* 必須入力項目 */
    if( flg == 1 ){
        if( ComInputCheckProc( obj, stextname ) == false ){
            return false;
        }
    }
    if(strtext.match(/[^0-9]/g)) {
        //alert( stextname + " は、数字で入力して下さい。" ) ;
        alert(GetMessage(MSG_1009, new Array(stextname)));
        obj.focus() ;
        obj.select() ;
        return  false;
    }
    return  true;
}
/************************************************************************/
/* ファンクション名 :  ComInputCheckProc                               */
/* 説明             :  入力の有無チェック処理                          */
/* 引数             :  obj         オブジェクト                        */
/*                      stextname   項目名                              */
/* 戻り値           :  Boolean     True :  入力なし                    */
/*                  :              False:  入力あり                    */
/************************************************************************/
function ComInputCheckProc( obj , stextname ){
    /* 変数宣言 */
    var strtext = obj.value ;
    if( ComIsBlankProc(strtext) == false ){
        alert(GetMessage(MSG_1007, new Array(stextname)));
       obj.value = "" ;
       obj.focus() ;
       return false ;
    }
    return true ;
}
/************************************************************************/
/* ファンクション名 :  ComIsBlankProc                                  */
/* 機能名           :  ブランクチェック処理                            */
/* 説明             :  文字列がブランクかチェックする                  */
/* 引数             :  strtext    チェック対象文字列                   */
/* 戻り値           :  Boolean    True :  ブランク以外                 */
/*                  :             False:  ブランク                     */
/************************************************************************/
function ComIsBlankProc( strtext ){
    /* 未定義の場合 */
    if (typeof(strtext) == "undefined") {
        return false ;
    }
    /* 空文字の場合 */
    if (strtext == "") {
        return false ;
    }
    /* 長さ0の場合 */
    if (strtext.length == 0) {
        return false ;
    }
    /* 空白のみで構成されている場合 */
    if (strtext.match(/^ +$/)) {
        return false ;
    }
    /* 全角空白のみで構成されている場合 */
    if (strtext.match(/^ +$/)) {
        return false ;
    }
    return true;
}
/************************************************************************/
/* ファンクション名 :  ComNonCheckProcMst                             */
/* 機能名           :  文字列の使用不可文字チェック処理                */
/* 説明             :  文字列に使用不可文字が使用されているかチェック  */
/* 引数             :  obj         オブジェクト                        */
/* 戻り値           :  Boolean     True :  使用なし                    */
/*                  :              False:  使用あり                    */
/************************************************************************/
function ComNonCheckProcMst( obj ){
    /* 変数宣言 */
    var strtext = obj.value;    /* チェック対象文字列   */
    var scheckstr = '^"\'<>&;:()\\';       /* 禁止文字列 */
    for( i = 0; i < scheckstr.length; i++ ){
        c = scheckstr.charAt(i) ;
        if( strtext.indexOf(c, 0) != -1 ){
            //alert( '半角文字 ^ " \' < > & ; : ( ) \\ は使用できません。' ) ;
            alert(GetMessage(MSG_1011, null));
            obj.focus() ;
            obj.select() ;
            return false ;
        }
    }
    return  true;
}
/************************************************************************/
/* ファンクション名 :  ComLenCheckProc                                 */
/* 機能名           :  文字列のバイト数チェック処理                    */
/* 説明             :  文字列が指定バイトを超えているかチェック        */
/* 引数             :  obj         オブジェクト                        */
/*                      isize       入力可能バイト数                    */
/*                      stextname   項目名                              */
/*                      flg         0:                                  */
/*                                  1:入力必須項目                      */
/* 戻り値           :  Boolean     True :  指定バイト以内              */
/*                  :              False:  バイト数オーバー            */
/************************************************************************/
function ComLenCheckProc( obj , isize , stextname , flg ){
    /* 変数宣言 */
    var strtext = obj.value;    /* チェック対象文字列 */
    var icnt;                   /* カウンタ */
    var ibyte = 0;              /* バイト数 */
    /* 必須入力項目 */
    if( flg == 1 ){
        if( ComInputCheckProc( obj, stextname ) == false ){
            return false;
        }
    }
    /* 使用不可文字のチェック */
    if( ComNonCheckProc( obj ) == false ){
        return false;
    }
    /* バイト数を算出 */
    for(icnt=0; icnt < strtext.length; icnt++) {
        if (escape(strtext.charAt(icnt)).length >= 4 ) {
            ibyte+=2;
        } else {
            ibyte++;
        }
        /* 文字数オーバー */
        if(ibyte > isize){
            //alert(stextname + " の入力文字数がオーバーしました。");
            alert(GetMessage(MSG_1010, new Array(stextname)));
            obj.value = strtext.substring(0,icnt);
            /* 超えた分を削除した文字列のトリム */
            ComStringTrim(obj);
            obj.focus() ;
            //obj.select() ;
            return false;
        }
    }
    return true;
}
/************************************************************************/
/* ファンクション名 :  ComCharCheckProc                             */
/* 機能名           :  文字列の使用不可文字チェック処理                */
/* 説明             :  文字列に使用不可文字が使用されているかチェック  */
/* 引数             :  obj         オブジェクト                        */
/* 戻り値           :  Boolean     True :  使用なし                    */
/*                  :              False:  使用あり                    */
/************************************************************************/
function ComNonCheckProc( obj ){
    /* 変数宣言 */
    var strtext = obj.value;    /* チェック対象文字列   */
    var scheckstr = '^"\'\\';       /* 禁止文字列           */
    for( i = 0; i < scheckstr.length; i++ ){
        c = scheckstr.charAt(i) ;
        if( strtext.indexOf(c, 0) != -1 ){
            //alert( '半角文字 ^ " \' \\ は使用できません。' ) ;
            alert(GetMessage(MSG_1017, null));
            obj.focus() ;
            obj.select() ;
            return false ;
        }
    }
    return  true;
}
/************************************************************************/
/* ファンクション名 :  ComLenCheckProcMst                              */
/* 機能名           :  文字列のバイト数チェック処理                    */
/* 説明             :  文字列が指定バイトを超えているかチェック        */
/* 引数             :  obj         オブジェクト                        */
/*                      isize       入力可能バイト数                    */
/*                      stextname   項目名                              */
/*                      flg         0:                                  */
/*                                  1:入力必須項目                      */
/* 戻り値           :  Boolean     True :  指定バイト以内              */
/*                  :              False:  バイト数オーバー            */
/************************************************************************/
function ComLenCheckProcMst( obj , isize , stextname , flg ){
    /* 変数宣言 */
    var strtext = obj.value;    /* チェック対象文字列 */
    var icnt;                   /* カウンタ */
    var ibyte = 0;              /* バイト数 */
    /* 必須入力項目 */
    if( flg == 1 ){
        if( ComInputCheckProc( obj, stextname ) == false ){
            return false;
        }
    }
    /* 使用不可文字のチェック */
    if( ComNonCheckProcMst( obj ) == false ){
        return false;
    }
    /* バイト数を算出 */
    for(icnt=0; icnt < strtext.length; icnt++) {
        if (escape(strtext.charAt(icnt)).length >= 4 ) {
            ibyte+=2;
        } else {
            ibyte++;
        }
        /* 文字数オーバー */
        if(ibyte > isize){
            //alert(stextname + " の入力文字数がオーバーしました。");
            alert(GetMessage(MSG_1010, new Array(stextname)));
            obj.value = strtext.substring(0,icnt);
            /* 超えた分を削除した文字列のトリム */
            ComStringTrim(obj);
            obj.focus() ;
            obj.select() ;
            return false;
        }
    }
    return true;
}
/************************************************************************/
/* ファンクション名 :  GetMessage                                      */
/* 機能名           :  メッセージ文言を返却します                      */
/* 引数             :  msgcd       取得したいメッセージのメッセージコード */
/*                      param       埋め込みデータを配列                */
/*                                  ※nullの場合は、固定メッセージとして扱う */
/* 戻り値           :  String     メッセージ文言                       */
/************************************************************************/
function GetMessage( msg, param ) {
    /* 指定されたメッセージのメッセージコードを取得 */
    if( msg == "" ) {
        return msg;
    }
    /* 指定されたメッセージに指定パラメータのデータを埋め込み返却 */
    return ExpMessage( msg, param );
}
/************************************************************************/
/* ファンクション名 :  ExpMessage                                      */
/* 機能名           :  メッセージ文字列展開                            */
/* 引数             :  fmt       埋め込み先のフォーマットが指定されたメッセージ文字列 */
/*                      param     埋め込み元のデータ配列                */
/* 戻り値           :  String     メッセージ文字列                     */
/************************************************************************/
function ExpMessage( fmt, param ){
    var        i;
    var        msg;
    var        work;
    msg = fmt;
    if( param == null ) {
        /* 引数なしの場合は、フォーマット文字をそのまま返却 */
        return msg;
    }
    for( i = 0; i < param.length; i++ ) {
        /* {x}で囲まれた文字列を指定された配列の値に変換 */
        work = param[i];
        if( work == null ) {
            /* null値が入っている場合は、強制的に空白に変換 */
            work = "";
        }
        msg = msg.replace( new RegExp( "\\{" + i + "\\}", "g" ), work );
    }
    /* 作成したメッセージ文言を返却 */
    return msg;
}
/************************************************************************/
/* ファンクション名 :  ComNumAreaCheck                                 */
/* 機能名           :  入力範囲のチェック処理                          */
/* 説明             :  入力範囲のチェックを行う                        */
/* 引数             :  obj         オブジェクト                        */
/*                      stextname   項目名                              */
/*                      sta         最小範囲値                          */
/*                      end         最大範囲値                          */
/* 戻り値           :  Boolean     True :  範囲内                      */
/*                  :              False:  範囲外                      */
/************************************************************************/
function ComNumAreaCheck( obj , stextname , sta , end ){
    if(obj.value == ""){
        return true;
    }else{
        if(sta!=0){
            ComZeroTrimProc(obj);
        }
        if( ComNumCheckProc( obj , stextname , "0" ) == false ){
            return false;
        }
        if(obj.value > end || obj.value < sta || obj.value == ""){
            //alert(stextname + "は" + sta + "~" + end + "以下で入力して下さい。");
            alert(GetMessage(MSG_1015, new Array(stextname, sta, end)));
            obj.focus();
            obj.select();
            return false;
        }
    }
    return true;
}

/************************************************************************/
/* ファンクション名 :  getMarubyValue                                  */
/* 機能名           :  ラジオボタンの名称取得                          */
/* 引数             :  radioId: ラジオボタンのname                     */
/*                      radioId: ラジオボタンのvalue                    */
/************************************************************************/
function getMarubyValue(name) {
    var itemValue = "0";
    if(ComTrimProc(name) == "○"){
        itemValue =  "1";
    }
    return itemValue;
}
/************************************************************************/
/* ファンクション名 :  getValuebyMaru                                  */
/* 機能名           :  ラジオボタンの名称表示                          */
/*                      radioId: ラジオボタンのvalue                    */
/************************************************************************/
function getValuebyMaru(value) {
    var itemName = "";
    if(value == "1"){
        itemName =  "○";
    }
    return itemName;
}
/************************************************************************/
/* ファンクション名 :  ComAddZeroPre                                  */
/* 機能名           :  0付加処理                                */
/* 説明             :  指定バイトになる様に文字列の前に0を付加  */
/* 引数             :  strtext     対象文字列                          */
/*                      imaxbyte    指定バイト                          */
/* 戻り値           :  strtext     0を付加した文字列            */
/************************************************************************/
function ComAddZeroPre( strtext , imaxbyte ) {
    /* 変数宣言 */
    var icnt;
    var ibyte = 0;
    /* バイト数を算出 */
    ibyte = ComGetLenByteProc(strtext);
    /* スペース付加 */
    for( ; ibyte < imaxbyte ; ibyte++){
        strtext = "0" + strtext;
    }
    return ( strtext );
}
/************************************************************************/
/* ファンクション名 :  ComGetLenByteProc                               */
/* 機能名           :  バイト数を返す処理                              */
/* 説明             :  文字列のバイト数を返す                          */
/* 引数             :  strtext     チェック対象文字列                  */
/* 戻り値           :  ibyte       バイト数                            */
/************************************************************************/
function ComGetLenByteProc( strtext ) {
    /* 変数宣言 */
    var icnt;                   /* カウンタ */
    var ibyte = 0;              /* バイト数 */
    /* バイト数を算出 */
    for(icnt=0; icnt < strtext.length; icnt++) {
        if (escape(strtext.charAt(icnt)).length >= 4 ) {
            ibyte+=2;
        } else {
            ibyte++;
        }
    }
    return ibyte;
}
==============================================mw_csvparser.js
 
/**
*  CSV鐃緒申鐃緒申鐃緒申鐃緒申
*
*
* *鐃緒申鐃緒申*
*
* CsvParser(csv) : 鐃緒申鐃緒申鐃緒申鐃�
*
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�svParser鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�vParser鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*
*
* ReadCsv(strFilePath) : CSV鐃緒申鐃緒申
*
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*
*  鐃緒申鐃緒申 > 0  : 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*      -1  : 鐃緒申鐃�
*
*
* Parse() : 鐃緒申
*
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申CSV鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*
*  鐃緒申鐃緒申 >= 0 : 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
*       -1 : 鐃緒申鐃�
*
*
* GetData() : 鐃緒申鐃緒申鐃�
*
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
*
*  鐃緒申鐃緒申 CSV鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�tring鐃緒申鐃緒申
*/

//鐃緒申鐃緒申鐃�
var ForReading = 1; //鐃緒申鐃緒申
var ForWriting = 2; //鐃緒申鐃緒申i鐃緒申鐃緒申[鐃緒申
var ForAppending = 8; //鐃緒申鐃緒申i鐃緒申鐃緒申鐃緒申
var CsvParser = function(csv)
{
 this.csv = "";
 this.arParsedData;
 this.arRowData;
 if (csv != undefined) {
  this.csv = csv;
 }
}
CsvParser.prototype = {
 // CSV鐃緒申鐃緒申鐃緒申鐃緒申
 ReadCsv : function(strFilePath)
 {
  var objFileSys;
  var objInFile;
  var strRecord;
  try {
   objFileSys = new ActiveXObject("Scripting.FileSystemObject");
   objInFile = objFileSys.OpenTextFile(strFilePath, ForReading);
   this.csv = objInFile.ReadAll();
   objInFile.Close();
  } catch(e) {
   //window.alert("鐃緒申鐃緒申鐃緒申鐃緒申鐃緒集鐃緒申鐃緒申鐃緒申:" + e);
   return -1;
  }
  objFileSys = null;
  objInFile = null;
  return this.csv.length;
 },
 Parse : function()
 {
  if (this.csv == "") {
   return -1;
  }
  this.arParsedData = new Array();
  this.arRowData = new Array();
  var c_ptr;   //鐃緒申鐃緒申鐃緒申
  var s_ptr;   //鐃緒申鐃緒申鐃�
  var row = 0;  //鐃緒申
  var isInDq = 0;  //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
  var len = this.csv.length;
  c_ptr = this.SkipCRLF(0);
  s_ptr = c_ptr;
  while (c_ptr < len) {
   switch (this.csv.charAt(c_ptr)) {
    case ',':
     if (isInDq == 0) {
      this.CutOutData(s_ptr, c_ptr);
      s_ptr = c_ptr + 1;
     }
     ++c_ptr;
     break;
    case '\n':
    case '\r':
     if (isInDq == 0) {
      this.OnChangeRow(s_ptr, c_ptr);
      ++row;
      c_ptr = this.SkipCRLF(c_ptr);
      s_ptr = c_ptr;
     } else {
      ++c_ptr;
     }
     break;
    case '\"':
     if (c_ptr + 1 < len && this.csv.charAt(c_ptr + 1) != "\"") {
      if (isInDq == 0) {
       isInDq = 1;
      } else {
       isInDq = 0;
      }
      ++c_ptr;
     } else {
      c_ptr += 2;
     }
     break;
    default:
     ++c_ptr;
     break;
   }
  }
  if (s_ptr != c_ptr) {
   this.OnChangeRow(s_ptr, c_ptr);
  }
  return row;
 },
 OnChangeRow : function(start, end)
 {
  this.CutOutData(start, end);
  this.arParsedData.push(this.arRowData);
  this.arRowData = new Array();
 },

 SkipCRLF : function(start)
 {
  var c_ptr;
  var len = this.csv.length;
  var endflg = 0;
  for (c_ptr = start; c_ptr < len; ++c_ptr) {
   switch (this.csv.charAt(c_ptr)) {
    case '\r':
    case '\n':
     break;
    default:
     endflg = 1;
     break;
   }
   if (endflg == 1) {
    break;
   }
  }
  return c_ptr;
 },
 CutOutData : function(start, end)
 {
  var data = this.csv.substring(start, end);
  //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申"鐃緒申鐃緒申
  var len = data.length;
  if (data.charAt(0) == "\"" && data.charAt(len - 1) == "\"") {
   data = data.substr(1, len - 2);
  }
  //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申""鐃�鐃緒申鐃緒申"鐃�鐃緒申鐃�
  data = data.replace(/\"\"/g, "\"");
  this.arRowData.push(data);
 },
 GetData : function()
 {
  return this.arParsedData;
 }
};
===============================================================mw_tablectrl.js
 
/**
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*
*
* *鐃緒申鐃緒申*
*
* TableControl(tableId) : 鐃緒申鐃緒申鐃緒申鐃�
*
*  鐃緒申鐃緒申鐃緒申鐃�D鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�bleControl鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�
*
*
* DisplayData(arData) : 鐃緒申鐃緒申鐔�
*
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃�鐃緒申鐃緒申鐃緒拾鐃緒申鐃緒申
*  鐃緒申鐃�br>鐃緒申鐃緒申鐃緒申鐔�申鐃緒申鐃�
*
*
* ClearData(from) : 鐃緒申鐃緒申鐃�*
*  鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申B
*/
 
var TableControl = function(tableId, rowselect, isNoHeader)
{
 this.table = document.getElementById(tableId);
 this.rowselect = 0;
 this.isNoHeader = 0;
 if (isNoHeader == 1) {
  this.isNoHeader = 1;
 }
 this.arSelected;
 if (rowselect > 0) {
  this.rowselect = rowselect;
  this.arSelected = new Array(1);
 }
 this.InitElements();
}
TableControl.prototype = {
 selectedCls : "Selected",
 unselectedCls : "UnSelected",
 selectedColor : "yellow",
 unselectedColor : "white",
 InitElements : function()
 {
  if (this.rowselect > 0) {
   var rows = this.table.rows.length;
   var i;
   //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申O
   var start = (this.isNoHeader == 1) ? 0 : 1;
   for (i = start; i < rows; ++i) {
    this.arSelected.push(0);
    if (this.rowselect == 1) {
     this.table.rows[i].attachEvent("onclick", this.OnClickRow(this), true);
     this.table.rows[i].style.cursor = "pointer";
     this.ChangeClass(this.table.rows[i], this.unselectedCls);
    }
   }
  }
 },
 OnClickRow : function(tc)
 {
  return function(e) {
   return tc.ChangeSelection(this.event.srcElement.parentNode);
  }
 },
 ChangeSelection : function(row)
 {
  var idx = row.rowIndex;
  if (this.arSelected[idx] == 1) {
   this.UnSelectedRow(idx, row);
  } else {
   this.SelectedRow(idx, row);
  }
 },
 ChangeSelectionByIndex : function(idx)
 {
  if (this.arSelected[idx] == 1) {
   this.UnSelectedRow(idx, this.GetRow(idx));
  } else {
   this.SelectedRow(idx, this.GetRow(idx));
  }
 },
 SelectAll : function()
 {
  var len = this.table.rows.length;
  var i;
  //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申O
  var start = (this.isNoHeader == 1) ? 0 : 1;
  for (i = start; i < len; ++i) {
   this.SelectedRow(i, this.table.rows[i]);
  }
 },
 UnSelectAll : function()
 {
  var len = this.table.rows.length;
  var i;
  //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申O
  var start = (this.isNoHeader == 1) ? 0 : 1;
  for (i = start; i < len; ++i) {
   this.UnSelectedRow(i, this.table.rows[i]);
  }
 },
 SelectedRow : function(idx, row)
 {
  this.arSelected[idx] = 1;
  if (this.rowselect == 1) {
   this.ChangeClass(row, this.selectedCls);
  } else if (this.rowselect == 2) {
   this.ChangeBgColor(row, this.selectedColor);
  }
 },
 UnSelectedRow : function(idx, row)
 {
  this.arSelected[idx] = 0;
  if (this.rowselect == 1) {
   this.ChangeClass(row, this.unselectedCls);
  } else if (this.rowselect == 2) {
   this.ChangeBgColor(row, this.unselectedColor);
  }
 },
 GetRow : function(idx)
 {
  return this.table.rows[idx];
 },
 ChangeClass : function(row, cls)
 {
  row.className = cls;
  var len = row.cells.length;
  var i = 0;
  for (; i < len; ++i) {
   row.cells[i].className = cls;
  }
 },
 ChangeBgColor : function(row, color)
 {
  row.style.backgroundColor = color;
  var len = row.cells.length;
  var i = 0;
  for (; i < len; ++i) {
   row.cells[i].style.backgroundColor = color;
  }
 },
 DisplayData : function(arData)
 {
  var rows = this.table.rows.length;
  for (i = 0; i < arData.length; ++i) {
   var row = this.InsertRow(rows + i);
   row.setAttribute("id", i);
   for (j = 0; j < arData[i].length; ++j) {
    var cell = row.insertCell(j);
    var data = this.CRLF2BR(arData[i][j]);
    cell.innerHTML = data;
    cell.setAttribute("class", "col" + j);
   }
   if (this.rowselect == 1) {
    this.UnselectedRow(rows + i, row);
   }
  }
 },
 InsertRow : function(idx)
 {
  var row = this.table.insertRow(idx);
  if (this.rowselect > 0) {
   if (this.rowselect == 1) {
    row.attachEvent("onclick", this.OnClickRow(this), true);
    row.style.cursor = "pointer";
   }
   this.arSelected.splice(idx, 0, 0);
  }
  return row;
 },
 ClearData : function(from)
 {
  //鐃緒申鐃緒申鐃緒申鐃緒申
  while (this.table.rows.length != from) {
   this.table.deleteRow(from);
   if (this.rowselect == 1) {
    this.arSelected.splice(from, 1);
   }
  }
 },
 CRLF2BR : function(data) {
  return data.replace(/\r\n|\r|\n/g, "<br/>");
 }
};

原创粉丝点击