<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
    response.setHeader("Pragma", "No-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Expires", "0");

    request.setCharacterEncoding("UTF-8");

%>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <jsp:include page="/jsp/common/include/css.jsp"/>
    <jsp:include page="/jsp/common/include/script.jsp"/>
    <!-- FilePond stylesheet -->
    <link href="<c:url value="/addon/filepond/filepond.min.css"/>" rel="stylesheet">
    <!-- FilePond JavaScript library -->
    <script src="<c:url value="/addon/filepond/filepond.min.js"/>"></script>
    <!-- FilePond plugin for file validation -->
    <script src="<c:url value="/addon/filepond/plugin/filepond-plugin-file-validate-type.min.js"/>"></script>

    <link href="<c:url value="/addon/bootstrap-5.3.2/css/bootstrap.min.css"/>" rel="stylesheet" />
    <script src="<c:url value="/addon/bootstrap-5.3.2/js/bootstrap.bundle.min.js"/>"></script>

    <script language="javascript" >
        var url			= '<c:url value="/onl/admin/rule/layoutMan.json"/>';
        var url_view	= '<c:url value="/onl/admin/rule/layoutMan.view"/>';
        var url_excel	= '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
        var url_file	= '<c:url value="/onl/admin/rule/layoutMan.file"/>';
        var roleString	= "<%=SessionManager.getRoleIdString(request)%>";
        var devSvr		= <%=SystemUtil.isDevServer()%>;
        var svrInst = new Array();


        function dateFormater(cellvalue, options, rowObject){
            if (cellvalue==null|| cellvalue==undefined) return "";
            if (cellvalue.trim().length < 16) return "";
            var display = "";
            display=display+cellvalue.substr(0,4)+"-";
            display=display+cellvalue.substr(4,2)+"-";
            display=display+cellvalue.substr(6,2)+" ";

            display=display+cellvalue.substr(8,2)+":";
            display=display+cellvalue.substr(10,2)+":";
            display=display+cellvalue.substr(12,2)+".";
            display=display+cellvalue.substr(14,2);

            return display;
        }
        function init (){
            $.ajax({
                type : "POST",
                url : url,
                dataType : "json",
                data : {cmd : "LIST_INIT_COMBO"},
                success:function(json){
                    var inoutTypeData	= json.inoutTypeRows;
                    new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrDstcd]")).setNoValueInclude(true)
                        .setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
                    new makeOptions("CODE","NAME").setObj($("select[name=searchLayoutTypeName]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.typeRows).setFormat(codeName3OptionFormat).rendering();
                    new makeOptions("CODE","NAME").setObj($("select[name=searchUseYn]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
                    svrInst = inoutTypeData;
                    putSelectFromParam();

                    /* var chkRole = roleString.indexOf('admin');
                    if(chkRole==-1){
                        $("select[name=searchEaiSevrDstcd] option[value='9']").remove();
                    } */
                }
            });
        }

        function formatter (cellvalue, options, rowObject){
            for(var i=0; i<svrInst.length; i++){
                if(cellvalue==svrInst[i].CODE){
                    return "["+svrInst[i].CODE+"] "+svrInst[i].NAME;
                }
            }
        }

        $(document).ready(function() {
            init();
            $('#grid').jqGrid({
                datatype: "json",
                mtype: 'POST',
                url: url,
                postData: {
                    cmd: 'LIST'
                    , searchEaiBzwkDstcd: $('input[name=searchEaiBzwkDstcd]').val()
                    , searchLoutName: $('input[name=searchLoutName]').val()
                    , searchLoutDesc: $('input[name=searchLoutDesc]').val()
                    , searchEaiSevrDstcd: "${param.searchEaiSevrDstcd}"
                    , searchLayoutTypeName: "${param.searchLayoutTypeName}"
                    , searchUseYn: "${param.searchUseYn}"

                },
                colNames: ['<%=localeMessage.getString("layoutMan.bzwkdstcd")%>',
                    '<%=localeMessage.getString("layoutMan.bzwkdstcdName")%>',
                    '<%=localeMessage.getString("layoutMan.layoutCd")%>',
                    '<%=localeMessage.getString("layoutMan.layoutDesc")%>',
                    '<%=localeMessage.getString("layoutMan.sevrDstCd")%>',
                    '<%=localeMessage.getString("layoutMan.layoutTypeName")%>',
                    '<%=localeMessage.getString("combo.useYn")%>',
                    '<%=localeMessage.getString("layoutMan.modifyHMS")%>',
                    '<%=localeMessage.getString("layoutMan.verInfo")%>',
                    'flag'
                ],
                colModel: [
                    {name: 'EAIBZWKDSTCD', align: 'center', sortable: false, width: "50"},
                    {name: 'BZWKDSTICNAME', align: 'left'},
                    {name: 'LOUTNAME', align: 'left'},
                    {name: 'LOUTDESC', align: 'left'},
                    {name: 'EAISEVRDSTCD', align: 'left', width: "50", formatter: formatter},
                    {name: 'LOUTPTRNNAME', align: 'left'},
                    {
                        name: 'USEYN',
                        align: 'center',
                        width: 30,
                        editoptions: {value: "0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"},
                        formatter: "select"
                    },
                    {name: 'LASTAMNDHMS', align: 'center', formatter: dateFormater, width: "100"},
                    {name: 'VERINFO', align: 'center', width: "100"},
                    {name: 'FLAG', hidden: true}
                ],
                jsonReader: {
                    repeatitems: false
                },
                pager: $('#pager'),
                page: '${param.page}',
                rowNum: '${rmsDefaultRowNum}',
                autoheight: true,
                height: $("#container").height(),
                autowidth: true,
                viewrecords: true,
                multiselect: true,
                multiboxonly: false,
                rowList: eval('[${rmsDefaultRowList}]'),
                gridComplete: function (d) {
                    var colModel = $(this).getGridParam("colModel");
                    for (var i = 0; i < colModel.length; i++) {
                        $(this).setColProp(colModel[i].name, {sortable: false});
                    }
                },
                loadComplete: function () {
                    var ids = $("#grid").jqGrid('getDataIDs');
                    for (var i = 0; i < ids.length; i++) {
                        var rowObject = $("#grid").getRowData(ids[i]);
                        if (rowObject.FLAG == "X") {
                            var cbs = $("tr#" + ids[i] + ".jqgrow>td>input.cbox", $("#grid")[0]);
                            cbs.attr("disabled", "disabled");
                        }
                    }
                },
                beforeSelectRow: function (rowId, e) {
                    var cbsdis = $("tr#" + rowId + ".jqgrow>td>input.cbox:disabled", $("#grid")[0]);
                    if (cbsdis.length === 0) {
                        return true;
                    } else {
                        return false;
                    }
                },
                ondblClickRow: function (rowId) {
                    var rowData = $(this).getRowData(rowId);
                    var key = rowData['LOUTNAME'];
                    var url2 = url_view;
                    url2 += '?cmd=DETAIL';
                    url2 += '&page=' + $(this).getGridParam("page");
                    url2 += '&returnUrl=' + getReturnUrl();
                    url2 += '&menuId=' + '${param.menuId}';
                    //검색값
                    url2 += '&' + getSearchUrl();
                    //key값
                    url2 += '&loutName=' + key;
                    goNav(url2);
                }, loadError: function (jqXHR, textStatus, errorThrown) {

                    var location = '<%=request.getContextPath()%>/';
                    comloadError(jqXHR, textStatus, errorThrown, location);

                }, onSelectAll: function (rowId, status) {
                    if (status) {
                        var cbs = $("tr.jqgrow>td>input.cbox:disabled", $("grid")[0]);
                        cbs.removeAttr("checked");
                        $("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function () {
                            return this.id;
                        }).get();
                    } else {
                        $("#grid")[0].p.selarrow = "";
                    }

                }
            });

            resizeJqGridWidth('grid', 'content_middle', '1000');

            $("#btn_search").click(function () {
                var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
                $("#grid").setGridParam({postData: postData, page: "1"}).trigger("reloadGrid");

            });
            $("#btn_excel").click(function (event) {
                event.stopPropagation(); // Do not propagate the event.
                // Create an object that will manage to download the file.
                var target = "excelDown"; // iframe의 name
                //(url,cmd,gridObj,formObject,fileName,merge)
                gridToExcelSubmit2(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), 'layout');
                return false;
            });

            $("#btn_excel_export").click(function () {
                const exportArr = new Array();
                const ids = $("#grid").jqGrid('getDataIDs');
                let chkCnt = 0;

                for (var i = 0; i < ids.length; i++) {
                    if ($("input:checkbox[id='jqg_grid_" + ids[i] + "']").is(":checked")) {
                        var rowObject = $("#grid").getRowData(ids[i]);
                        exportArr.push(rowObject['LOUTNAME']);
                        chkCnt++;
                    }
                }

                const url = url_excel + '?cmd=LIST_EXPORT_TO_EXCEL';

                downloadFiles(url, JSON.stringify(exportArr))

                return false;
            });
            $("#btn_new").click(function () {
                var url2 = url_view;
                url2 += '?cmd=DETAIL';
                url2 += '&page=' + $("#grid").getGridParam("page");
                url2 += '&returnUrl=' + getReturnUrl();
                url2 += '&menuId=' + '${param.menuId}';
                //검색값
                url2 += '&' + getSearchUrl();
                //key값
                url2 += '&layoutName=';

                goNav(url2);
            });
            $("#btn_initialize").click(function () {
                var id = "grid";
                var chkArr = new Array();
                var ids = $("#grid").jqGrid('getDataIDs');
                var chkcnt = 0;

                for (var i = 0; i < ids.length; i++) {
                    if ($("input:checkbox[id='jqg_" + id + "_" + ids[i] + "']").is(":checked")) {
                        var rowObject = $("#grid").getRowData(ids[i]);
                        chkArr.push(rowObject['LOUTNAME']);
                        chkcnt++;
                    }
                }

                if (chkcnt == 0) {
                    if (confirm("레이아웃이 선택되지 않았습니다. 전체 초기화 하겠습니까?")) {
                        $.ajax({
                            type: "POST",
                            url: url,
                            dataType: "json",
                            data: {cmd: 'INITIALIZES'},
                            success: function (json) {
                                alert(json.message);
                            },
                            error: function (e) {
                                alert(e.responseText);
                            }
                        });
                    }
                    return false;
                } else {
                    if (confirm("초기화 하시겠습니까?")) {
                        var postData = [];
                        postData.push({name: "cmd", value: "LIST_INITIALIZE"});
                        postData.push({name: "chkItems", value: chkArr});
                        $.ajax({
                            type: "POST",
                            url: url,
                            dataType: "json",
                            data: postData,
                            success: function (json) {
                                alert(json.message);
                            },
                            error: function (e) {
                                alert(e.responseText);
                            }
                        });
                    } else {
                        return false;
                    }
                }


            });


            $("input[name^=search]").keydown(function (key) {
                if (key.keyCode == 13) {
                    $("#btn_search").click();
                }
            });

            $('#btn_cmsave').click(onclickBtnCmSave);
            $('#btn_import').click(onclickExcelImport);

            $("#btn_delete").click(function () {
            	if(!confirm("삭제하시겠습니까?")){
   				 return;
               	}
               	
                var id = "grid";
                var delArr = new Array();
                var ids = $("#grid").jqGrid('getDataIDs');
                var chkcnt = 0;

                for (var i = 0; i < ids.length; i++) {
                    if ($("input:checkbox[id='jqg_" + id + "_" + ids[i] + "']").is(":checked")) {
                        var rowObject = $("#grid").getRowData(ids[i]);
                        delArr.push(rowObject['LOUTNAME']);
                        chkcnt++;
                    }
                }

                if (chkcnt == 0) {
                    alert("레이아웃을 선택해 주세요");
                    return false;
                }

                if (confirm("<%= localeMessage.getString("common.confirmMsg")%>")) {
                    var postData = [];
                    postData.push({name: "cmd", value: "DELETE_LIST"});
                    postData.push({name: "delItems", value: delArr});

                    $.ajax({
                        type: "POST",
                        url: url,
                        dataType: "json",
                        data: postData,
                        success: function (json) {
                            alert(json.message);
                            $("#btn_search").click();
                        },
                        error: function (e) {
                            alert("error" + e.responseText);
                        }
                    });
                } else {
                    return false;
                }


            });


            buttonControl();
            // setBtnHide(roleString, "admin", "btn_excel");
            // setBtnHide(roleString, "admin", "btn_download");
            // setBtnHide(roleString, "admin", "btn_initialize");
            // setBtnControl(roleString, "admin,dept_developer", "btn_import");
            //setBtnControl(roleString, "admin", "btn_cmsave");
            // if(!devSvr){
            // }
            $("#btn_cmsave").hide();

            FilePond.registerPlugin(FilePondPluginFileValidateType);
            // FilePond 인스턴스 생성
            const pond = FilePond.create(document.querySelector('.filepond'), {
                instantUpload: false, // 파일을 즉시 업로드하지 않음
                allowRevert: false,
                acceptedFileTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
                // 서버 설정
                server: {
                    process: {
                        url: url_file + '?cmd=LIST_IMPORT_FROM_EXCEL&serviceType=' + sessionStorage["serviceType"],
                        method: 'POST',
                        // 필요한 경우 headers나 다른 설정 추가
                    },
                    // revert, load, restore, fetch 설정 (필요한 경우)
                },
                // 다른 필요한 옵션 추가
            });

            // "업로드 시작" 버튼 클릭 이벤트 핸들러
            document.getElementById('uploadButton').addEventListener('click', function() {
                pond.processFiles(); // 선택된 모든 파일을 업로드
            });

            // 모달 닫기 이벤트 핸들러
            $('#uploadModal').on('hidden.bs.modal', function (e) {
                pond.removeFiles(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
            });
    });

    function setBtnControl(roleString, condiVal, compoId)
    {
    var strRole = roleString;
    var strVal = condiVal;
    var arrRoleID = strRole.split(',');
    var arrVal = strVal.split(',');
    var flag = false;

    $(arrRoleID).each(function(i, role) {
    $(arrVal).each(function(j, val) {
    if (role == val) {
    flag = true;
    return false;
    }
    });
    });
    if(flag)
    $("#"+compoId).show();
    else
    $("#"+compoId).hide();
    }

    function onclickBtnCmSave() {
    var sel = new Array();
    var ids = $("#grid").jqGrid('getDataIDs');
    var chkcnt = 0;

    for(var i=0;i
    <ids.length
    ;i++){
    if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
    var rowObject = $("#grid").getRowData(ids[i]);
                    sel.push(ids[i]);
                    chkcnt++;
                }
            }

            if(chkcnt == 0){
                alert('먼저 다운로드할 데이터를 체크해 주세요.');
                return false;
            }
            //var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');

            var validEAIBzwkDstCd = 'NONE';
            var loutNames = '';
            for (var i=0; i<sel.length; i++) {
                var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
                if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
                    continue;
                }
                var loutName = $('#grid').getCell(sel[i], 'LOUTNAME');
                if(loutName.indexOf("EAI_")!=-1){
                    if(roleString.indexOf("admin")==-1){
                        alert("EAI 표준 레이아웃은 업무 CM 대상이 아닙니다.["+loutName+"]");
                        return;
                    }
                }
                if (validEAIBzwkDstCd == 'NONE') {
                    validEAIBzwkDstCd = eaiBzwkDstCd;
                    loutNames = loutName;
                } else {
                    loutNames += ',' + loutName;
                    if (validEAIBzwkDstCd != eaiBzwkDstCd) {
                        alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
                        return;
                    }
                }
            }
            var url2 = url_view;
            /* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
                url2 += '?cmd=CM LIST POPUP EX';
            } else {
                url2 += '?cmd=CM LIST POPUP';
            } */
            url2 += '?cmd=CM LIST POPUP';
            var args = new Object();
            args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
            showModal(url2,args,540,400, function(arg){
                var args = null;
                if(arg == null || arg == undefined ) {
                    //chrome
                    args = this.dialogArguments;
                    args.returnValue = this.returnValue;
                } else {
                    //ie
                    args = arg;
                }
                if( !args || !args.returnValue ) return;
                addCMResource(validEAIBzwkDstCd, args.returnValue, loutNames);
            });
            /*
            //local test하기 위해서 변경함
            var params = new Object();
            params['CmId']='TST999999';
            addCMResource(validEAIBzwkDstCd, params, loutNames);
            */
        }

        function addCMResource(eaiBzwkDsdCd, obj, loutNames) {
            var params = new Object();
            params['cmd'] = 'CHANGE_EXPORT';
            params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
            params['cmId'] = obj.CmId;
            params['loutNames'] = loutNames;
            $.ajax({
                type : "POST",
                url:url,
                dataType:"json",
                data:params,
                success:function(json){
                    alert(json.message);
                },
                error:function(xhr,status,error){
                    if (xhr.responseText != null) {
                        try {
                            alert(JSON.parse(xhr.responseText).errorMsg);
                        } catch (e) {
                            alert(error);
                        }
                    }
                }
            });
        }

        function onclickExcelImport() {
            var url2 = url_view;
            url2 += '?cmd=EX IMP POPUP';
            var args = new Object();
            showModal(url2,args,800,400, function(arg) {
                var args = null;
                if(arg == null || arg == undefined ) {
                    //chrome
                    args = this.dialogArguments;
                    args.returnValue = this.returnValue;
                } else {
                    //ie
                    args = arg;
                }
                if( !args || !args.returnValue ) return;
                var names = encodeURIComponent(args.returnValue.ExcelNames);
                parent.leftFrame.goPage('<c:url value="/onl/admin/rule/layoutExcelMan.do"/>?names='+names, '0707007');
            });

        }

    </script>
</head>
<body>
<div class="right_box">
    <div class="content_top">
        <ul class="path">
            <li><a href="#">${rmsMenuPath}</a></li>
        </ul>
    </div><!-- end content_top -->
    <div class="content_middle" id="content_middle">
        <div class="search_wrap">
            <button type="button" class="cssbtn" id="btn_excel_import" level="R" data-bs-toggle="modal" data-bs-target="#uploadModal"><i class="material-icons">upload</i> <%=localeMessage.getString("button.import")%></button>
            <button type="button" class="cssbtn" id="btn_excel_export" level="R" ><i class="material-icons">download</i> <%=localeMessage.getString("button.exportExcel")%></button>
            <button type="button" class="cssbtn" id="btn_excel" level="W" ><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
            <button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
            <button type="button" class="cssbtn" id="btn_delete" level="W" ><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
            <button type="button" class="cssbtn" id="btn_new" level="W"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
            <button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
            <%-- <img id="btn_import" src="<c:url value="/img/btn_import.png"/>" level="W" />&nbsp; --%>
            <!-- img id="btn_cmsave" src="<c:url value="/img/btn_cmsave.png"/>" level="R" /-->&nbsp;&nbsp;&nbsp;
            <%-- 					<img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
            <%-- 					<img id="btn_initialize" src="<c:url value="/img/btn_initialize.png"/>" alt="" level="W" /> --%>
            <%-- 					<img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
            <%-- 					<img id="btn_search" src="<c:url value="/img/btn_search.png"/>" alt="" level="R" />						 --%>
        </div>
        <div class="title"><%=localeMessage.getString("layoutMan.title2")%><span class="tooltip"><%=localeMessage.getString("layoutMan.tooltip")%></span></div>
        <form id="ajaxForm"  onsubmit="return false;">
            <table class="search_condition" cellspacing=0;>
                <tbody>
                <tr>
                    <th width="10%"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
                    <td width="25%">
                        <input type="text" name="searchLoutName" value="${param.searchLoutName}">
                    </td>
                    <th width="10%"><%=localeMessage.getString("layoutMan.bzwkdstcd")%></th>
                    <td width="25%">
                        <input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
                    </td>
                    <th width="10%"><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
                    <td width="20%">
                        <input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}">
                    </td>
                </tr>
                <tr>
                    <th><%=localeMessage.getString("layoutMan.sevrDstCd")%></th>
                    <td>
                        <div class="select-style">
                            <select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}"/>
                        </div>
                    </td>
                    <th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
                    <td>
                        <div class="select-style">
                            <select name="searchLayoutTypeName" value="${param.searchLayoutTypeName}"/>
                        </div>
                    </td>
                    <th><%=localeMessage.getString("combo.useYn")%></th>
                    <td>
                        <div class="select-style">
                            <select name="searchUseYn" value="${param.searchUseYn}"/>
                        </div>
                    </td>
                </tr>
                </tbody>
            </table>
        </form>
        <table id="grid"></table>
        <div id="pager"></div>
    </div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
<!-- Modal -->
<div class="modal fade" id="uploadModal" tabindex="-1" aria-labelledby="uploadModalLabel" aria-hidden="true">
    <!-- 모달 내용 -->
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title"><i class="material-icons" style="vertical-align: sub; font-size: 25px">publish</i> <%=localeMessage.getString("button.import")%></h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <input type="file" class="filepond" name="file" multiple data-allow-reorder="true" data-max-file-size="3MB" data-max-files="10">
            </div>
            <div class="modal-footer">
                <button id="uploadButton" class="btn btn-primary">IMPORT <%=localeMessage.getString("button.execute")%></button>
            </div>
        </div>
    </div>
</div>
<iframe name=excelDown width=0 height=0></iframe>
</html>

