<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8"
	import="java.net.URLEncoder"
        import="java.net.URLDecoder"
	import="java.text.SimpleDateFormat"
	import="java.util.*"
        import="java.util.regex.*"
	import="java.io.StringReader"
	import="javax.swing.text.html.parser.ParserDelegator"
	import="kr.co.kihyun.lang.MString"
        import="kr.co.kihyun.lang.MInteger"
	import="kr.co.kihyun.lang.MLong"
        import="kr.co.kihyun.lang.Encoder"
	import="kr.co.kihyun.text.html.HtmlUtil"
	import="kr.co.kihyun.text.excel.CalculationForm"
	import="kr.co.kihyun.text.html.TagFilter"
	import="kr.co.kihyun.text.html.ServletUtil"
	import="kr.co.kihyun.text.html.CallbackHandler"
	import="kr.co.kihyun.moumi.doc.MDoc"
	import="kr.co.kihyun.moumi.doc.table.MTable"
	import="kr.co.kihyun.moumi.doc.table.MTableType"
	import="kr.co.kihyun.moumi.doc.table.TableDefine"
	import="kr.co.kihyun.moumi.doc.table.TableCreation"
	import="kr.co.kihyun.moumi.doc.table.item.MItem"
	import="kr.co.kihyun.moumi.doc.table.item.MItemInfo"
	import="kr.co.kihyun.beans.totsys.doc.table.item.ItemList"
	import="kr.co.kihyun.beans.entity.*"
	import="kr.co.kihyun.moumi.report.MReport"
	import="java.util.ResourceBundle"
        import="kr.co.kihyun.moumi.MoumiConfig"%>
<%@ include file="/totsys/common/inc/sec/secure.inc.jsp"%>
<%@ include file="/totsys/common/inc/documents/tot_doc/reload_expr.jsp"%>
<%
	try {
		/********** parameter **********/
		request.setCharacterEncoding("UTF-8");
		String docName = URLDecoder.decode(MString.checkNull(request.getParameter("docName")), "UTF-8");
		String execNum = MString.checkNull(request.getParameter("execNum"));
		String execDate = MString.checkNull(request.getParameter("execDate"));
		String appendType = MString.checkNull(request.getParameter("appendType"));

		String deptNames = URLDecoder.decode(MString.checkNull(request.getParameter("deptNames")), "UTF-8");
		String usrFilenames = URLDecoder.decode(MString.checkNull(request.getParameter("usrFilenames")), "UTF-8");
		String svrFilenames = URLDecoder.decode(MString.checkNull(request.getParameter("svrFilenames")), "UTF-8");
		String tableTypes = clearXSS(request.getParameter("tableTypes"), "");
		String itemExprs = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemExprs")), "UTF-8"), "");
		String itemTypes = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemTypes")), "UTF-8"), "");
		String backDash = clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("backDash")), "UTF-8"), "");
		String docForm = HtmlUtil.toLowerCase((String) session.getAttribute("docForm"));
		String tableForm = MReport.getRemoveErrTable(docForm);

		boolean quotationCheck = true;
		quotationCheck = TagFilter.quotationCheckForm(tableForm);
		if (quotationCheck == false) {
			out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.popup.tableSymboleCheck")));
			out.println(ServletUtil.getJavaScript("windwos.history.go(-1);"));

		}
		/********** 파싱 **********/
		//올린 파일을 String Reader를 이용해서 읽는다.
		CallbackHandler cbHandler = new CallbackHandler();
		int inx1=docForm.indexOf("<?xml:namespace");
                if(inx1>-1)
                {
                int inx2=docForm.indexOf("/>",inx1);
                inx2=inx2+2;
                String t1=docForm.substring(0,inx1);
                String t2=docForm.substring(inx2);
                docForm=t1+t2;
                }
		new ParserDelegator().parse(new StringReader(MTable.getTables(docForm)), cbHandler, true);

		List<Hashtable<String, String>> tdList = cbHandler.getTDs();
		int tdCount = tdList.size();

		//표가 존재 하지 않을때..
		if (tdCount < 1) {
			out.println("<script language=javascript>\n");
			out.println(ServletUtil.alert(MoumiConfig.getMessageBundle().getString("moumi.message.popup.formCheck")));
			out.println("	document.location.replace('./doc_regist.jsp');\n");
			out.println("</script>");
			return;
		}

		//생성할 배열의 사이즈 계산
		int allRowCount = 0;
		int allColCount = 0;
		int rowCount = 0;
		int colCount = 0;
		for (int i = 0; i < tdCount; i++) {
			rowCount = Integer.parseInt(tdList.get(i).get("row"));
			colCount = Integer.parseInt(tdList.get(i).get("col"));
			if (allRowCount < rowCount)
				allRowCount = rowCount;
			if (allColCount < colCount)
				allColCount = colCount;
		}

		++allRowCount; //배열이라 0부터 시작 한다.
		++allColCount; //배열이라 0부터 시작 한다.

		//각각의 셀에 있는 Text 를 tdTextList 라는 배열에 저장한다.
		boolean isDynaTable = true;

		String tdName = "";
		String tableNumList = "";
		String tdText = "";
		String tdTextList[][] = new String[allRowCount][allColCount];
		StringBuffer itemValueListBuff = new StringBuffer();
		MTableType tableType = new MTableType(allRowCount); //table type value

		Long reuseDocID = MLong.parseLong(request.getParameter("reuseDocID"), null);
        //System.out.println("============================================================================= "+reuseDocID);
		//reuseDocID = "";
		String[] itemNameList = null;
		String[] itemExprList = null;
		int[] itemTypeList = null;

		if (!MString.isNull(itemTypes)) {

			isDynaTable = !clearXSS(request.getParameter("isDynaTable"), "").equals("false");

			MItemInfo itemInfo = new MItemInfo();

			itemInfo.itemInfo(
					clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemNames")), "UTF-8"),
							""),
					clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemSizes")), "UTF-8"),
							""),
					itemExprs,
					clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("itemDescs")), "UTF-8"),
							""),
					itemTypes,
					clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("tableNums")), "UTF-8"),
							""),
					clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("colNums")), "UTF-8"), ""),
					clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("rowNums")), "UTF-8"), ""),
					10);
			itemNameList = itemInfo.getItemNameList();
			itemExprList = itemInfo.getItemExprList();
			itemTypeList = itemInfo.getItemTypeList();

			int[] itemNumList = itemInfo.getItemNumList();
			int[] itemSizeList = itemInfo.getItemSizeList();
			String[] itemDescList = itemInfo.getItemDescList();

			int[] intTableNumList = itemInfo.getTableNumList();
			int[] rowNumList = itemInfo.getRowNumList();
			int[] colNumList = itemInfo.getColNumList();

			if (backDash.equals("back")) //이전단계로 이동시 수식값 변환내용을 유지
				itemExprs = reloadExpr(itemExprs, itemExprList, itemNameList);

			for (int i = 0; i < itemNameList.length; i++) {
				itemValueListBuff.append("totForm.itemList[" + i + "].itemName = '" + itemNameList[i] + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].size = '';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].tableNum = '"
						+ Integer.toString(intTableNumList[i]) + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].rowNum = '" + rowNumList[i] + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].colNum = '" + colNumList[i] + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].desc = '" + itemDescList[i] + "';\n");
				itemValueListBuff
						.append("totForm.itemList["
								+ i
								+ "].type = '"
								+ getTypeName(TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE ? MItem.TITLE
										: itemTypeList[i]) + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].expr = '" + itemExprList[i] + "';\n");
			}
		} else {
                    // ====================================================================== 여기탄다...한글...

                      	if (reuseDocID != null)
                        {
				ItemList itemList = new ItemList();
                                //v2. 13.SQL 삽입 : itemList.executeQuery()에서 prepare SQL 문으로 되어 있다.
				itemList.executeQuery(reuseDocID);
                                //================
				itemTypeList = itemList.getTypeList();
				itemExprList = itemList.getExprList();
                        } else {		itemExprList = CalculationForm.getExprList(tableForm).toArray(new String[tdCount]);		}

			if (backDash.equals("back"))
				itemExprs = reloadExpr(itemExprs, itemExprList, itemNameList);

			for (int i = 0; i < tdCount; i++)
            {
				tdName = tdList.get(i).get("name");
				tableNumList = tdList.get(i).get("table");
				tdText = tdList.get(i).get("text");
				// 복사양식일때..
				// 어떤 이유에선지, 첫번째 셀이 "emptyempty" 형식으로 넘어오기 때문...
				int colNum = Integer.parseInt(tdList.get(i).get("col"));
				int rowNum = Integer.parseInt(tdList.get(i).get("row"));
				tdTextList[rowNum][colNum] = tdText;
				//Item정보를 저장할때 Excel과 같이 1부터 시작 하기 위해 1씩 추가
				++colNum;	++rowNum;
				itemValueListBuff.append("totForm.itemList[" + i + "].itemName = '" + tdName + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].size = '';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].tableNum = '" + tableNumList + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].rowNum = '" + rowNum + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].colNum = '" + colNum + "';\n");
                //out.println(itemValueListBuff.append("totForm.itemList[" + i + "].size = '';\n"));
				//// 공백인것을 empty 문자로 바꾼다. 즉 입력셀로 인식한다.

				if (tdText != null && tdText.trim().equals("")) {

					itemValueListBuff.append("totForm.itemList[" + i + "].desc = 'empty';\n");
					tableType.setStartTRNum(rowNum);
				} else if (tdText != null && !MString.isNull(itemExprList[i])) {

					itemValueListBuff.append("totForm.itemList[" + i + "].desc = 'empty';\n");
					tableType.setStartTRNum(rowNum);
					tableForm = TagFilter.deleteTdText(tableForm, i);

				} else {
					tdText = tdText.replaceAll("\'", "\"");
					if (tdText.indexOf("<") > 0 && tdText.indexOf("/>") > 0)
                        {
						itemValueListBuff.append("totForm.itemList[" + i + "].desc = 'empty';\n");
                        }
					else
                        {
						itemValueListBuff.append("totForm.itemList[" + i + "].desc = '" + tdText + "';\n");
                        }
				}

				itemValueListBuff
						.append("totForm.itemList["
								+ i
								+ "].type = '"
								+ (reuseDocID == null ? MItem
										.getTypeName(TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE ? MItem.TITLE
												: MItem.INT)
										: MItem.getTypeName(TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE ? MItem.TITLE
												: itemTypeList[i])) + "';\n");
				itemValueListBuff.append("totForm.itemList[" + i + "].expr = '"
						+ MString.checkNull(itemExprList[i]).replaceAll("'", "\\'") + "';\n");
                            	}

			//양식이 동적인 표인지 정적인 표인지 파악 boolean
			isDynaTable = tableType.isDynaTable();
            }

		/********** form 필터링 **********/
		int sumSusig = TagFilter.getSumSusig(tableForm);
		int comboBox = TagFilter.getComboBox(tableForm);

   		if (!backDash.equals("back")) {//이전단계 돌아온것 아닐때만 실행함.
			if (sumSusig != -1)
				itemValueListBuff.append(CalculationForm.getCalculationForms("totForm.itemList", "expr",
						tableForm));
		}
		if (comboBox != -1)
			itemValueListBuff.append(TagFilter.excelComboBoxImport(tableForm));
		int tableCount = HtmlUtil.getTableCount(tableForm);

		tableForm = TagFilter.tdTextToSpace(tableForm);
		byte[] formBytes = docForm.getBytes();

		session.setAttribute("docForm", tableForm);
		TableDefine tableDefine = new TableDefine();

		String strTableInfo = tableDefine.insertDiv(tableForm, tdList, cbHandler.getTRCount());

%>
<link href="/totsys/common/css/SquareButtons.css" rel="stylesheet" type="text/css">
<script src="/totsys/common/js/rollover.js"></script>
<script src="/totsys/common/js/popup.js"></script>
<script src="/totsys/common/js/drag.js"></script>
<script src="/totsys/common/js/checkNum.js"></script>
<script src="/totsys/common/js/calendar.js"></script>
<script src="/totsys/common/js/util.js"></script>
<script src="/totsys/common/js/formConfig.js"></script>
<script src="/totsys/common/js/jquery-1.12.4.min.js"></script>
<script src="/totsys/common/js/jquery.fixFormTable.js"></script>
<script src="/totsys/common/js/jquery.custom.indicator.js"></script>
<script>

	var totForm = new TotForm('totForm', <%=tableCount%>, <%=tdList.size()%>);
	<%=itemValueListBuff.toString()%>
	<%if (!MString.isNull(tableTypes)) {
					String[] typeList = tableTypes.split(",");
					for (int k = 0; k < typeList.length; k++) {%>
			totForm.tableList[<%=k + 1%>].type=<%=TotDocAppendType.valueOf(appendType) == TotDocAppendType.FILE ? MItem.TITLE
								: typeList[k]%>;
	<%
                   }
				}
    %>
	//on load시 자동 실행
	//function exprSetup(){//itemExprList 변경
<%if (!backDash.equals("back")) {%>
	if(<%=tableCount%> > 1){//itemExprList 변경
		var rowNum = 1;
		var addRowNum = 0; //첫번째 table의 더할 행의 수가 0부터 시작하기 때문
		for(var i=0; i < totForm.itemCount; i++){
			if(i > 0 && totForm.itemList[i].tableNum > totForm.itemList[i-1].tableNum) //다음 테이블로 넘어갔다면 현재 이전의 레코드 번호가 이전 테이블까지의 레코스 수임
				addRowNum = (totForm.itemList[i].rowNum-1);
			if(totForm.itemList[i].expr.length > 0 && totForm.itemList[i].expr.indexOf("^") < 0)	//숫자일때
				totForm.itemList[i].expr = getCalculationForm(totForm.itemList[i].expr, addRowNum, "add");
		}
	}
<%}%>

	function setDform() {
		dform.itemNames.value = '';
		dform.itemSizes.value = '';
		dform.itemDescs.value = '';
		dform.itemExprs.value = '';
		dform.itemTypes.value = '';
		dform.colNums.value = '';
		dform.rowNums.value = '';
		dform.tableNums.value = '';
		var item_count = 0;
		for (i=0;i<totForm.itemCount;i++){
			if(totForm.itemList[i].itemName != undefined){
				dform.itemNames.value  = dform.itemNames.value  + i + ':' + totForm.itemList[i].itemName + '<%= MItem.LIST_DELIM %>';
				dform.itemSizes.value  = dform.itemSizes.value  + i + ':' + totForm.itemList[i].size + '<%= MItem.LIST_DELIM %>';
				dform.itemDescs.value  = dform.itemDescs.value  + i + ':' + totForm.itemList[i].desc + '<%= MItem.LIST_DELIM %>';
				dform.itemExprs.value  = dform.itemExprs.value  + i + ':' + totForm.itemList[i].expr + '<%= MItem.LIST_DELIM %>';
				dform.itemTypes.value  = dform.itemTypes.value  + i + ':' + totForm.itemList[i].type + '<%= MItem.LIST_DELIM %>';
				dform.colNums.value    = dform.colNums.value    + i + ':' + totForm.itemList[i].colNum + '<%= MItem.LIST_DELIM %>';
				dform.rowNums.value    = dform.rowNums.value    + i + ':' + totForm.itemList[i].rowNum + '<%= MItem.LIST_DELIM %>';
				dform.tableNums.value  = dform.tableNums.value  + i + ':' + totForm.itemList[i].tableNum + '<%= MItem.LIST_DELIM %>';
				item_count ++;
			}
		}
		dform.tableDefines.value = '';
		for(i=0; i<<%=tableCount%>; i++){
			dform.tableDefines.value = dform.tableDefines.value + (i+1) +':rowdiv:rowdiv<%= MItem.LIST_DELIM %>';
		}

		return item_count;
	}

	function preview(){
		item_count = setDform();
		if (item_count > 0) {
			var farwindow = null;
			//(url, target, width, height, align, valign, scroll, resize)
			farwindow = getOpener('', 'preview', 900, 600, 'center', 'middle', 'yes', 'yes');//window.open('','preview','width=800,height=600,left=0,top=0,status=no,scrollbars=yes,resizable=yes');
			dform.submit();
			farwindow.focus();
		} else {
			alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.inputModifyCellCheck")%>");
		}
	}

    function preview2(){
		item_count = setDform();
		if (item_count > 0)
        {
           dform.action="/totsys/common/web/documents/tot_doc/popup_inform_preview2.jsp";
           dform.target="hiddenFrame";
           dform.submit();
		}
        else
        {
            alert('서식테스트에서 에러가 발생했기때문에 집계시작을 할수없습니다.');
            return;
		}
        dform.action="/totsys/common/web/documents/tot_doc/popup_inform_preview.jsp";
        dform.target="preview";
	}

	function nextStep() {

            item_count = setDform();

            if (item_count > 0){
                try {
                    $.customIndicator.show(window.self);    // 2014.10.08 by youngjun cho. (loading indicator 추가)
                } catch(e) {
                    alert(e);
                }

                dform.submit();

            }else{
                alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.inputModifyCellCheck")%>");
            }
	}


	function beforeStep(){
		item_count = setDform();
		dform.deptNames.value='<%=URLEncoder.encode(deptNames, "UTF-8")%>';
		dform.docName.value="<%=docName%>";
		dform.usrFilenames.value="<%=usrFilenames%>";
		dform.svrFilenames.value="<%=svrFilenames%>";
		dform.appendType.value="<%=appendType%>";
		dform.submit();
	}
</script>
<script>
	function saveform() {
		dform.action = '/servlet/kr.co.kihyun.beans.totsys.doc.HttpDocRegister';
		dform.target = '_self';
		dform.submit();
	}

	function formValidation() {
<%
	if (TotDocAppendType.valueOf(appendType) != TotDocAppendType.FILE) {
%>
		configStart();
		if(!totForm.isValid()){
			alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.inputCellCheck")%>");
			return false;
		}
		if(totForm.exprCheck()) return false; //수식에 오류가 있다면 정지해라~~

                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                // 입력 가능한 셀이 존재 하지 않는 표가 존재하는 경우 validate 체크한다. : Add by YOUNGJUN,CHO 2014.11.19
                // 입력 가능한 셀의 갯수를 저장할 배열 선언.(표의 갯수만큼 선언한다.)
                var arrInputElements = new Array(<%=tableCount%>);

                // 표의 갯수만큼 loop 로 탐색한다.
                for (var i = 0 ; i < <%=tableCount%> ; i++) {

                    // 입력 가능한 셀의 갯수를 0 으로 초기화한다.
                    arrInputElements[i] = 0;

                    // totForm 에 정의된 object 를 탐색한다.
                    for (var j = 0 ; j < totForm.itemList.length ; j++) {

                        // 각 표의 입력 가능한 셀의 갯수를 각각 합계한다.
                        if (totForm.itemList[j].tableNum == (i+1)) {
                            if (totForm.itemList[j].type != "타이틀" && totForm.itemList[j].desc == "empty") {
                                // type != '타이틀' && desc == 'empty' 이면 입력 가능한 셀이다.
                                arrInputElements[i]++;
                            }
                        }
                    }

                    //alert("arrInputElements[" + i + "] : " + arrInputElements[i]);

                    // 각 표에 입력 가능한 셀이 하나라도 존재 하지 않는 경우 저장이 불가능하도록 false 로 리턴한다.
                    if ( arrInputElements[i] == 0 ) {
                        alert("서식에 오류가 있습니다.\n\r[" + (i+1) + "] 번 표에 입력 가능한 셀이 존재하지 않습니다.");
                        return false;
                    }
                }
                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<%
	}
%>
            return true;
	}

	function formTypeCheck(){
<%
	if (TotDocAppendType.valueOf(appendType) != TotDocAppendType.FILE) {
%>
		if(!totForm.isValid()){
			alert("<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.inputCellCheck")%>");
			return;
		}

		if(totForm.exprCheck()) return; //수식에 오류가 있다면 정지해라~~

<%
	}
%>
		preview();
	}

    function formTypeCheck2(){
<%
	if (TotDocAppendType.valueOf(appendType) != TotDocAppendType.FILE) {
%>
		if(!totForm.isValid())
        {

            alert('서식테스트에서 에러가 발생했기때문에 집계시작을 할수없습니다.');
            return;

		}
		if(totForm.exprCheck())
        {

            alert('서식테스트에서 에러가 발생했기때문에 집계시작을 할수없습니다.');
            return;

        }
<%
	}
%>
		preview2();
	}

	function formSubmit(stepCheck)
    {
        document.getElementById('start_dialog').style.display = 'none';
		var step = stepCheck;

        if(!formValidation()) return false;

		var tableType = "";
		for(var i=1; i<= <%=tableCount%> && <%=tableCount%> > 0; i++)
                {
                    if(i != 1 )	tableType+=",";
                    tableType+=totForm.tableList[i].type;
		}
		//dform.action = '/servlet/kr.co.kihyun.beans.totsys.doc.HttpDocRegister';

                // 종료방법이 선착순 집계가 아닌 경우, 선착순을 0으로 초기화하여 저장해야 한다. 2014.12.01 by YOUNGJUN,CHO
                if (dform.acceptanceLimitStrategy[1].checked == false) {
                    dform.submitLimit.value = "0";
                }

		if(step == "next")
                {
                    //alert(dform.deptIDs.value);
                    //dform.action = '/totsys/common/web/documents/tot_doc/inform_preview.jsp';
                    if( dform.acceptanceLimitStrategy[3].checked ) {
                        dform.action = '/servlet/kr.co.kihyun.beans.totsys.doc.HttpPeriodicalDocRegister';
                    }else{
                        dform.action = '/servlet/kr.co.kihyun.beans.totsys.doc.HttpDocRegister';
                    }
                    dform.target = '_self';
                    dform.tableTypes.value = tableType;

                    nextStep();

		}

		//alert(dform.tableTypes.value);
		else if(step == "preview"){ formTypeCheck(); }


 	}

    function delSubmit()
    {
  	 dform.action = '/servlet/kr.co.kihyun.beans.totsys.doc.HttpDelFile';
         dform.target = '_self';
         dform.submit();
    }


    function formSubmit2()
    {
        if(!formValidation())
        {

            alert('서식테스트에서 에러가 발생했기때문에 집계시작을 할수없습니다.');
            return;

        }
		var tableType = "";
		for(var i=1; i<= <%=tableCount%> && <%=tableCount%> > 0; i++)
        {
			if(i != 1 )	tableType+=",";
			tableType+=totForm.tableList[i].type;
		}
	  formTypeCheck2();
 	}

	function beforeSubmit(){
		//dform.action = '/servlet/kr.co.kihyun.beans.totsys.doc.HttpDocRegister';
		dform.action = '/totsys/totper/mydocbox/regbox/doc_regist.jsp';
		dform.target = '_self';
		beforeStep();
	}

	//수식 오류 checker
	function checkFormSize(formBytes, deptCount){
		var maxSize = <%=MDoc.MAX_DOC_SIZE%>;
		if((formBytes * deptCount/1024/1024) == maxSize)
			alert("<%MoumiConfig.getMessageBundle().getString("moumi.message.popup.warningCount");%>"+maxSize+"<%=MoumiConfig.getMessageBundle().getString("moumi.message.popup.warningCountSub")%>");
	}

	function configStart(){
		for(i=0; i<totForm.itemCount; i++)
			totForm.reShowValue(i);
	}

	function configEndMethod()
    {
        formSubmit2();
	}

	function startNow() {
                var time = new Date();
             	totForm.correctCellTypes();
		dform.prss.value='<%= TotDocProcess.PRSS.name() %>';
		dform.edDate.value=dform.edDate.value+' '+dform.edTime.value+':00:00';

                dform.stDate.value=dform.stDate.value+' '+dform.stTime.value+':00:00'; //시작일 시간 채크
                formSubmit('next');
	}

       function backTimes(){
        if( dform.acceptanceLimitStrategy[3].checked ) {
            var i_duration = dform.duration.value;
            var i_period = dform.period.value;
            var i_periodTerm = dform.periodTerm.value;
            if( $.trim(i_duration) == "" || isNaN(i_duration) ) {
                alert("숫자를 입력하세요!");
                dform.duration.focus();
                dform.duration.select();
                return;
            }
            if( $.trim(i_period) == "" || isNaN(i_period) ) {
                alert("숫자를 입력하세요!");
                dform.period.focus();
                dform.period.select();
                return;
            }
            if( i_periodTerm == "" ) {
                alert("주간/월간/분기 중에서 하나를 선택하세요!");
                dform.periodTerm.focus();
                return;
            }
        }
        if(dform.acceptanceLimitStrategy[1].checked || dform.acceptanceLimitStrategy[2].checked || dform.acceptanceLimitStrategy[3].checked) dform.edDate.value="9999-12-30";  //선착순집계인 경우 마감일(9999-12-30) 적용
        if(isDateTrue(dform.stDate.value, dform.stTime.value, dform.edDate.value, dform.edTime.value)) {
     			alert("<%= MoumiConfig.getMessageBundle().getString("moumi.message.popup.startEndDateCheck") %>");
                        dform.edTime.value = 18;
                        dform.edTime.focus();
                        return false;
        }else{
          document.getElementById('start_dialog').style.display = 'none';
          document.getElementById('bt_pre').style.display = 'none';
          document.getElementById('bt_preview').style.display = 'none';
          document.getElementById('bt_next').style.display = 'none';
          document.getElementById('bt_save').style.display = 'none';
          startNow();
        }
        }

       function isDateTrue(stDate, stTime, edDate, edTime) {
                if(stDate < edDate) {
                        return false;
                } else if(stDate == edDate){
                        if(stTime < edTime) return false;
                }
                return true;
	}
        function saveDocument() {
        	for(var idx=0;idx<totForm.itemList.length;idx++){
        		var expr=totForm.itemList[idx].expr;
        		var type=totForm.itemList[idx].type;
        		if(expr != ""){
            		var sumIndex = expr.indexOf("SUM");
            		var plusIndex = 0;
            		plusIndex += expr.indexOf("+");
            		plusIndex += expr.indexOf("-");
            		plusIndex += expr.indexOf("*");
            		plusIndex += expr.indexOf("/");
            		plusIndex += expr.indexOf("=");

            		if(expr.indexOf("=")>-1)
            		{
            			alert(expr+" 수식이 잘못 되었습니다.  다시확인해 주세요.     \n정의한 수식중 SUM()안에 '+', '-', '*', '/', '='가 있는지 다시 확인해 주세요.    ");
            			return true;
            		}

            		if(sumIndex > -1 && plusIndex > -1){
            			alert(expr+" 수식이 잘못 되었습니다.  다시확인해 주세요.     \n정의한 수식중 SUM()안에 '+', '-', '*', '/', '='가 있는지 다시 확인해 주세요.    ");
            			return true;
            		}

                            var colonIndex = expr.indexOf(":");
                            var alphabetCount = 0;
                            var alphaBeforeCount = 0;
                            var alphaAfterCount = 0;

            		//SUM안에 아이템이 하나만 존재할때..
            		var roundInStr = "";
                            var charCount = 0;
            		var alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                            if(sumIndex > -1){
                                //콜론이 없는 경우에는 알파벳+숫자가 2개 있어야 한다.
                                if(colonIndex <= -1) {
                                    roundInStr = expr.substring(sumIndex+4, expr.length-1);
            			charCount = roundInStr.length;
                                    for(var i=0; i < charCount; i++){
                                        if(alphabet.indexOf(roundInStr.substring(i, i+1)) > -1){
                                            if(alphabetCount == 1) { alphabetCount = 0; }
                                            alphabetCount = alphabetCount + 1;
                                        } else {
                                            if(alphabetCount == 2) { alphabetCount = 1; }
                                            alphabetCount = alphabetCount + 1;
                                        }
            			}

                                    if(alphabetCount != 2){
                                        alert(expr+" 수식이 잘못 되었습니다.  다시확인해 주세요.");
                                        return true;
                                    }

                                //콜론이 1개 있는 경우에는 알파벳+숫자가 2개 있어야 한다.
                                }  else {
                                    //콜론의 앞쪽
                                    roundInStr = expr.substring(sumIndex+4, colonIndex);
            			charCount = roundInStr.length;
                                    for(var i=0; i < charCount; i++){
                                        if(alphabet.indexOf(roundInStr.substring(i, i+1)) > -1){
                                            if(alphaBeforeCount == 1) { alphaBeforeCount = 0; }
                                            alphaBeforeCount = alphaBeforeCount + 1;
                                        } else {
                                            if(alphaBeforeCount == 2) { alphaBeforeCount = 1; }
                                            alphaBeforeCount = alphaBeforeCount + 1;
                                        }
            			}

                                    //콜론의 뒤쪽
                                    roundInStr = expr.substring(colonIndex+1, expr.length-1);
            			charCount = roundInStr.length;
                                    for(var i=0; i < charCount; i++){
                                        if(alphabet.indexOf(roundInStr.substring(i, i+1)) > -1){
                                            if(alphaAfterCount == 1) { alphaAfterCount = 0; }
                                            alphaAfterCount = alphaAfterCount + 1;
                                        } else {
                                            if(alphaAfterCount == 2) { alphaAfterCount = 1; }
                                            alphaAfterCount = alphaAfterCount + 1;
                                        }
            			}

                                    if((alphaBeforeCount == 2 && alphaAfterCount != 2) || (alphaBeforeCount != 2 && alphaAfterCount == 2)) {
                                        alert(expr+" 수식이 잘못 되었습니다.  다시확인해 주세요.     \n정의한 수식중 SUM()안에 셀 이름이 하나만 있는지 확인해 주세요.     ");
                                        return true;
                                    } else if(alphaBeforeCount != 2 || alphaAfterCount != 2){
                                        alert(expr+" 수식이 잘못 되었습니다.  다시확인해 주세요.");
                                        return true;
                                    }
                                }
                            }

                            if (type === "숫자") {
                                var regexp = /[^A-Z|0-9|\(|\)|\+|\-|\/|\*|\:]/;
                                if (regexp.test(expr) === true) {
                                    alert(expr+" 수식이 잘못 되었습니다.\n\n셀을 '숫자'로 선택하신 경우에는 수식에 소수점을 사용할 수 없으며\n\r아래 문자만 사용할 수 있습니다.\n\
                                        \n** 알파벳(대문자), 숫자, 괄호, 사칙연산기호(+,-,*,/), 콜론(:) **\n\n수식을 다시 설정해 주십시오!");
                                    return true;
                                }
                            }
            	}

            	var comaIndex;
            	if(sumIndex == -1){
            		comaIndex = expr.indexOf(",");
            		if(comaIndex > -1){
            			alert(expr+" 수식이 잘못 되었습니다.  다시확인해 주세요.     \n정의한 수식중 ','가 있는지 확인해주세요.     \n','를 '+'로 바꿔 사용하면 정상적으로 작동합니다.");
            			return true;
            		}
            	}
            	//수식에 자기자신을 연산하는 경우 사용불가
            	if(expr.indexOf("+")==-1||expr.indexOf("-")==-1||expr.indexOf("*")==-1||expr.indexOf("/")==-1||expr.indexOf("SUM(")==-1){
            		var cellname=$(SetWin).find('td:first').text();
            		try{
            			cellname=cellname.trim();
            		}catch(e){}

            		if(expr.indexOf(cellname)>-1&&cellname!=''){
            			alert('수식에는 자기 자신을 연산할 수 없습니다.');
            			return true;
            		}
            	}
            	//셀 서식 적용 중 콤보박스와 연산이 있을 경우 콤보박스 값 중에 숫자값이 아닌 값이 있는지 체크
            	//수식 일 때 숫자가 아닌 셀 이 있는 지 확인
            	var temp=expr.replace('+',',').replace('-',',').replace('*',',').replace('/',',').replace('SUM(',',').replace(':',',').replace(')',',').split(',');
            	if(temp.length>1){
            		for(var i=0;i<temp.length;i++){
            			for(var j=0;j<totForm.itemList.length;j++){
            				if(temp[i]==totForm.itemList[j].itemName){
            					var exp=totForm.itemList[j].expr;
            					if(exp.indexOf('^')>-1){
            						var explist=exp.split('^');
            						for(var k=0;k<explist.length;k++){
            							if(isNaN(explist[k])){
            								alert(totForm.itemList[j].itemName+' 의 콤보 값 중에 숫자가 아닌값이 있습니다.');
            								return true;
            							}
            						}
            					}
           						if(totForm.itemList[j].type!='숫자'&&exp.indexOf('^')==-1){
               						alert(totForm.itemList[j].itemName+' 은 숫자가 아니므로 수식을 적용할 수 없습니다.');
               						return true;
               					}

            				}

            			}
            		}
            	}
        	}

            if(confirm("확인을 클릭하시면 미진행자료에 저장됩니다.\n집계를 시작하기 위해서는 미진행자료의 기본정보에서 \"집계시작\"을 실행하여야 합니다.")){
				totForm.correctCellTypes();
				dform.prss.value='<%= TotDocProcess.REG.name() %>';
		                dform.tmpSav.value= 'Y';//20160415 추가 임시저장 여부
				formSubmit('next');
            }else{
                return;
            }
	}

	function setEndDate() {
		//document.getElementById('endDate').style.display = 'inline';
		//document.getElementById('submitLimit').style.display = 'none';
                //$span_period = $("#span_period");
                //$span_period.css("display", "none");

                // jquery 로 UI show, hide 하도록 수정. 2014.12.01 by YOUNGJUN,CHO
                $("#span_period").hide();
                $("#submitLimit").hide();
                dform.submitLimit.value = 0;
                $("#endDate").fadeIn();
	}

	function setSubmitLimit() {
		//document.getElementById('endDate').style.display = 'none';
		//document.getElementById('submitLimit').style.display = 'inline';

                // jquery 로 UI show, hide 하도록 수정. 2014.12.01 by YOUNGJUN,CHO
                $("#endDate").hide();
                $("#span_period").hide();
                $("#submitLimit").fadeIn();
		dform.submitLimit.focus();
	}

	function validateSubmitLimit() {
		if (isNaN(dform.submitLimit.value)) {
			alert('숫자만 입력하시기 바랍니다.');
			dform.submitLimit.value = 0;
                        return false;
		}

                if (dform.submitLimit.value < 0) {
                    alert("선착순은 0 이상으로 입력해주세요.");
                    dform.submitLimit.focus();
                    return false;
                }
	}

	function setWriteLimit() {
		//document.getElementById('endDate').style.display = 'none';
		//document.getElementById('submitLimit').style.display = 'none';
                //$span_period = $("#span_period");
                //$span_period.css("display", "none");

                // jquery 로 UI show, hide 하도록 수정. 2014.12.01 by YOUNGJUN,CHO
                $("#endDate").hide();
                $("#submitLimit").hide();
                dform.submitLimit.value = 0;
                $("#span_period").hide();
	}

	function setEndManually() {
		//document.getElementById('endDate').style.display = 'none';
		//document.getElementById('submitLimit').style.display = 'none';
                //$span_period = $("#span_period");
                //$span_period.css("display", "none");

                // jquery 로 UI show, hide 하도록 수정. 2014.12.01 by YOUNGJUN,CHO
                $("#endDate").hide();
                $("#submitLimit").hide();
                dform.submitLimit.value = 0;
                $("#span_period").hide();
	}

        function setPeriodical() {
		//document.getElementById('endDate').style.display = 'none';
		//document.getElementById('submitLimit').style.display = 'none';
                //$span_period = $("#span_period");
                //$span_period.css("display", "inline");

                // jquery 로 UI show, hide 하도록 수정. 2014.12.01 by YOUNGJUN,CHO
                $("#endDate").hide();
                $("#submitLimit").hide();
                dform.submitLimit.value = 0;
                $("#span_period").fadeIn();

	}

        /*
         * 테이블 각 셀 span element 다음에 garbage 요소를 제거하여, 레이아웃을 정돈한다.
         * 2014.09.12 by YoungJun Cho.
         */
        $(document).ready(function() {
            $.fixViewFormTableForXMLNameSpace($("#formDiv").find("table span").next(), {});
          //ie10,11 호환성보기 수정 - 테두리 없어지는 문제 수정
            $('#formDiv > table').attr({'border':'1','bo':'true'}).css('border','1px solid #000')
	    		.find('td').each(function(i,o){
	    			if($(o).closest('table').attr('bo')=='true'){
	    				$(this).css('border','1px solid #000');
	    			}
	    		});
	    	$('#formDiv span').css('line-height','2');
        });
        /* 자료입력 테이블 input element 뒤에 font, span 등의 불필요한 element 를 삭제처리. 끝 */
</script>
<body onload="checkFormSize('<%= formBytes.length %>', '<%= clearXSS(request.getParameter("deptCount"),"") %>');configStart(); scrollObjectContent('formDiv');">
    <iframe name='hiddenFrame' style='display:none;'></iframe>
		<div>
			<table>
				<tr>
					<td>
						<table>
							<tr>
								<td style="padding-top: 10; padding-bottom: 25;">
									<div id="formDiv"
										style="padding-top: 20; width: <%=session.getAttribute("formWidth") %>; overflow-x: auto;">
									<!-- 업로드한 표 보기 start -->
                                    <%if(!appendType.equals("FILE")) { %>
                                        <%= TableCreation.insertTypeButtons("totForm",strTableInfo, tableTypes) %>
                                    <% } %>
                                    <!-- 업로드한 표 보기 end -->
									</div>


								</td>
							</tr>
						</table>
					</td>
				</tr>
				<!---- 버튼(미리보기/취소) 시작 ---->
				<tr>
	                <td>
	                 <span>
	                  <a href="#" id="bt_pre"  style="display:inline" onclick="totForm.correctCellTypes();beforeSubmit();">
	                     	<img src="/totsys/common/images/bt_preb.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_large.previous")%>" />
	                  </a>
	                    </span>
	                    <span>
	                  <a href="#" name="bt_preview" id="bt_preview" style="display:inline" onclick="totForm.correctCellTypes();formSubmit('preview');">
	                  	<img src="/totsys/common/images/bt_sesik.gif" alt="설정한 서식을 테스트합니다." />
	                  </a>
	                    </span>
	                    <span>
	                  <a href="#" name="bt_save" id="bt_save" style="display:inline" onclick="saveDocument();">
	                  	<img src="/totsys/common/images/bt_temp_save.jpg" alt="자료가 임시저장되며 미진행자료 목록에 보여집니다." />
	                  </a>
	                    </span>
	                    <span>
	                  <a href="#" name="bt_next" id="bt_next" style="display:inline" onclick="configEndMethod();">
	                  	<img src="/totsys/common/images/bt_input_write.gif" alt="시작일 및 집계종료방법 지정 후 집계를 시작합니다." />
	                  </a>
	                    </span>
	                </td>
				</tr>
				<!---- 양식 셀 정의 끝 ---->
			</table>
		</div>
		<div id="start_dialog"
			 style="position: absolute; width: 100%; height: 100%; background-image: url('/totsys/common/images/bg_transparent_white_75p.png'); display: none; z-index: 1;left: 0px; top: 0px; text-align: center;">
			<div style="width: 550px; margin: 100px auto; border: 2px solid gray; padding: 5px; text-align: left; background-color: #ffffff;">
                <form name="dform" method="post"
					action="/totsys/common/web/documents/tot_doc/popup_inform_preview.jsp"
					target="preview"><!--//집계시작 테스트 레이아웃//-->
                    <%-- <input type="hidden" name="reuseDocID" value="<%=reuseDocID%>"> --%>
                    <fieldset>
                        <legend><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.startDate")%></legend>
                        <span id="startDate" style="display: inline;">
                        <%
                                Long now_today = new Date().getTime();
                                SimpleDateFormat dForomat = new SimpleDateFormat("yyyy-MM-dd");
                        %>
                        <input name="stDate"
                               type="text"
                               size="10"
                               value="<%=dForomat.format(now_today)%>"
                               readonly onclick="showSetWin('dform.stDate');"
                               style="cursor: hand;"
                               class="inputtxt">
                                <%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.day")%>&nbsp;
                        <a href="#" onclick="showSetWin('dform.stDate');">
                            <img src="/totsys/common/images/date.gif" align="middle"></a>&nbsp;
                        <input name="stTime"
                               type="text"
                               size="3"
                               maxlength="2"
                               value="<%= new Date().getHours()%>"
                               onclick="this.focus();this.select();"
                               onBlur="checkNum(this, '2');checkMaxNum(this, 00, 23);"
                               class="inputtxt"><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.time")%>
                        </span>
                       </fieldset>
                       <fieldset>
                            <legend><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.endMethod")%></legend>
                            <input type="hidden" name="docName" value='<%=URLEncoder.encode(docName, "UTF-8")%>'>
                            <input type="hidden" name="execNum" value='<%=URLEncoder.encode(execNum, "UTF-8")%>'>
                            <input type="hidden" name="execDate" value='<%=URLEncoder.encode(execDate, "UTF-8")%>'>
                            <input type="hidden" name="prss"/>
                            <input type="hidden" name="appendType" value="<%=appendType%>">
                            <INPUT type="hidden" name="usrFilenames" value='<%= URLEncoder.encode(usrFilenames, "UTF-8") %>'>
                            <INPUT type="hidden" name="svrFilenames" value='<%= URLEncoder.encode(svrFilenames, "UTF-8") %>'>
                            <input type="hidden" name="handyName" value='<%= clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("handyName")), "UTF-8"),"") %>'>
<!--      		    <input type="hidden" name="stDate" value="<%= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) %>"/>-->
                            <input type="hidden" name="deptIDs" value='<%= clearXSS(URLDecoder.decode(MString.checkNull(request.getParameter("deptIDs")), "UTF-8"),"") %>'>
                            <input type="hidden" name="deptNames" value="<%= deptNames %>">
                            <input type="hidden" name="deptTypes" value="<%= clearXSS(request.getParameter("deptTypes"),"") %>">
                            <input type="hidden" name="userIDs" value="<%= MString.checkNull(request.getParameter("userIDs")) %>">
                            <input type="hidden" name="userNames" value="<%= MString.checkNull(request.getParameter("userNames")) %>">
                            <input type="hidden" name="accAuth" value="<%= clearXSS(request.getParameter("accAuth"),"") %>">
                            <input type="hidden" name="totRange" value="<%= clearXSS(request.getParameter("totRange"),"") %>">
                            <input type="hidden" name="repDocID" value="<%= clearXSS(request.getParameter("repDocID"),"") %>">
                            <input type="hidden" name="docGroupID" value="<%= clearXSS(request.getParameter("docGroupID"),"") %>">
                            <input type="hidden" name="isFromFormBox" value="<%= request.getParameter("isFromFormBox") %>">
                            <input type="hidden" name="tableCount" value="<%= tableCount %>">
                            <input type="hidden" name="isDynaTable" value="<%= isDynaTable %>">
                            <input type="hidden" name="mode" value="regist">
                            <input type="hidden" name="tableDefines">
                            <input type="hidden" name="itemNames">
                            <input type="hidden" name="tableNums">
                            <input type="hidden" name="colNums">
                            <input type="hidden" name="rowNums">
                            <input type="hidden" name="itemSizes">
                            <input type="hidden" name="itemDescs">
                            <input type="hidden" name="itemExprs">
                            <input type="hidden" name="itemTypes">
                            <input type="hidden" name="tableTypes">
                            <input type="hidden" name="backDash" value="back">
                            <input type="hidden" name="docForm">
                            <input type="hidden" name="tableType" value="0">
                            <input type="hidden" name="defItemSize" value="3">
                            <INPUT type="hidden" name="fileCount" value="<%= MInteger.parseInt(request.getParameter("fileCount")) %>">
                            <INPUT type="hidden" name="fileInfoList" value="<%= request.getParameter("fileInfoList") %>">
                            <INPUT type="hidden" name="notify" value="<%= Encoder.toJava(request.getParameter("notify")) %>">
                            <input type="radio" name="acceptanceLimitStrategy" onclick="setEndDate();"
                                    value="<%= LimitByDeadlineStrategy.class.getSimpleName() %>" checked /><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.endScheduled")%>
                            <span id="endDate" style="display: inline;">
                            <%
                                    int ONE_DAY = 1000 * 60 * 60 * 24;
                                    Long today = new Date().getTime();
                                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                                    SimpleDateFormat timeFormat = new SimpleDateFormat("HH");
                            %>
                                <input name="edDate" type="text" size="10" value="<%=dateFormat.format(today + ONE_DAY * 7 * 3)%>"
                                       readonly onclick="showSetWin('dform.edDate');"
                                       style="cursor: hand;" class="inputtxt"><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.day")%>&nbsp;<a
                                       href="#" onclick="showSetWin('dform.edDate');">
                                        <img src="/totsys/common/images/date.gif" align="middle"></a>&nbsp;
                                <input name="edTime" type="text" size="3" maxlength="2"
                                       value="18" onclick="this.focus();this.select();"
                                       onBlur="checkNum(this, '2');checkMaxNum(this, 00, 23);"
                                       class="inputtxt"><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.time")%>
                            </span>
                            <!--선착순마감-->
                            <input type="radio" name="acceptanceLimitStrategy" onclick="setSubmitLimit();"
                                    value="<%= LimitBySubmitDateStrategy.class.getSimpleName() %>" /><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.endBySubmitCount")%>
                            <span id="submitLimit" style="display: none;">
                            <input type="text" name="submitLimit" onfocus="this.select();" onblur="checkNum(this, '2');validateSubmitLimit();" class="inputtxt" style="width: 2em; text-align: right;" value="0"/>
                                <%= MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.coporation") %>
                            </span>
                            <!--수동종료-->
                            <input type="radio" name="acceptanceLimitStrategy" onclick="setEndManually();"
                                    value="<%= UnlimitStrategy.class.getSimpleName() %>" /><%=MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.endManually")%>
                            <!--정기집계-->
                            <input class="limit_strategy" type="radio" name="acceptanceLimitStrategy" onclick="setPeriodical();" value="period"/>정기집계
                            <span id="span_period" style="display: none;">
                            	&nbsp;취합주기
                                <input type="text" name="period" style="width:20px;text-align:right;" maxlength="2"/>
                                <select name="periodTerm" style="vertical-align: middle;">
                                    <option value="0">주간</option>
                                    <option value="1">월간</option>
                                    <option value="2">분기</option>
                                </select>
                                &nbsp;취합일수
                                <input type="text" name="duration" style="width:20px;text-align:right;" maxlength="2"/>&nbsp;일</br><p>
                                  &ensp;&emsp;<img src="/totsys/common/images/folder.gif" /> 취합주기 : 동일한 문서가 생산되는 주기</br>
			   					 	&ensp;&emsp;&ensp;&emsp;예) 3주간의 경우 : 2017-01-01, 2017-01-08, 2017-01-15(3주간 매주)문서가 생성됨</br>
			  					  &ensp;&emsp;<img src="/totsys/common/images/folder.gif" /> 취합일수 : 시작일부터 종료일까지의 일수</br>
			   						&ensp;&emsp;&ensp;&emsp;예) 8일의 경우 : 2017-01-01 ~ 2017-01-08 일까지 집계가 진행됨</br>

                            </span>
                            </fieldset>
                            <input type="hidden" name="tmpSav" value="" /> <!-- 20160415 추가 -->
			</form>
			<div>
			<span>
                            <!--// 확인 -->
                            <a href="javascript:void(0);" name="bt_preview" onclick="backTimes();" title="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_large.confirm")%>">
                                <img src="/totsys/common/images/bt_ok.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_large.confirm")%>" />
                            </a><!-- 확인 //-->
                        </span>
			<span>
                            <!--// 취소 -->
                            <a href="javascript:void(0);" name="bt_preview" onclick="document.getElementById('start_dialog').style.display = 'none';" title="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_large.cancel")%>">
                                <img src="/totsys/common/images/bt_cancle.gif" alt="<%= MoumiConfig.getMessageBundle().getString("moumi.message.button_large.cancel")%>" />
                            </a><!-- 취소 //-->
                        </span>
				</div>
			</div>
		</div>
<%
	} catch (Exception ex) {
		ex.printStackTrace();
		out.println(kr.co.kihyun.text.html.ServletUtil
				.getJavaScript("location='/servlet/kr.co.kihyun.beans.user.HttpSSOLogin?mode=logout';"));
	} finally {
	}
%>
