/************************************ * 공통 자바스크립트 함수정의 ************************************/ // 링크 오버시 status 표시 불가 var IS_HIDDEN_LINK = true; // 프린트관련 변수 설정 var initTempBody; // body html 저장 임시변수 var initParentTempBody; // body html 저 임시변수 var tempPrintObjXX = null; // 프린트할 div 임시저장객체w var page_title_html = null; // 프린트할 때 쓸 페이지 이미지 HTML 저장 변수 var title_name = ""; // 타이틀 var ENTFUNC = ""; // 엔터시 호출 함수 /** * 주민 번호 체크 로직 * ("1111111111111") * @param psnno : 주민번호 13자리 스트링값 * @return boolean */ function validatePsn(psnno) { var gsJuminNo = ""; if (psnno == null || psnno == "" || psnno.length != 13) { i18nAlert("주민 번호 길이가 잘못 입력 되었습니다."); return false; } else { // 숫자가 아닌것이 있으면: false; var numreg = /[^0-9]/g; if ( numreg.test(psnno) )//숫자 아닌 값이 있는지 체크, 공백,영문,한글,특수기호 모두 체크 { i18nAlert("주민 번호에 잘못된 입력이 있습니다."); return false; } } // 주민등록 체크섬 검사 var psnSumCheckArr = new String("234567892345") var psnSum = 0; var psnSumResult = ""; for (var i = 0; i < 13; i++) { psnSum = psnSum + (psnno.substring(i, i+1) * psnSumCheckArr.substring(i, i+1)); } psnSumResult = (11 - (psnSum % 11)) % 10; if(psnSumResult == psnno.substring(12, 13) ) { delete psnSumCheckArr; return true; } else { delete psnSumCheckArr; i18nAlert("주민등록번호가 유효하지 않습니다."); return false; } } /** * 이메일 체크 함수 *
ex : validateEmail("aaaa@empas.com") * @param varemail : 이메일 스트링값 * @return boolean */ function validateEmail(varemail) { var reg = new RegExp("^[\\w\\-]+(\\.[\\w\\-_]+)*@[\\w\\-]+(\\.[\\w\\-]+)*(\\.[a-zA-Z]{2,4})$", "gi"); if ( !reg.test(varemail) ) { i18nAlert("이메일 주소가 유효하지 않습니다."); return false; } return true; } /** * 사업자 번호 체크 *
ex : validateCrn("1111111111") * @param crn : 사업자번호 스트링값 * @return boolean */ function validateCrn(crn) { if(crn.length != 10) { i18nAlert("사업자 번호 길이가 잘못 입력 되었습니다."); return false; } var sum = 0; var getlist =new Array(10); var chkvalue =new Array("1","3","7","1","3","7","1","3","5"); for (var i=0;i<10;i++) getlist[i] = crn.substring(i,i+1); for (var i=0;i<9;i++) sum += getlist[i]*chkvalue[i]; sum = sum +parseInt((getlist[8]*5)/10) ; var sidliy = sum%10; var sidchk = 0; if( sidliy != 0 ) sidchk = 10 - sidliy; else sidchk = 0; delete chkvalue; if( sidchk != getlist[9] ) { delete getlist; i18nAlert("사업자번호가 유효하지 않습니다."); return false; } delete getlist; return true; } /** * 주민 사업자 번호 체크 *
ex : validatePsnCrn("1111111111") or validatePsnCrn("1111111111111") * @param data : 주민 사업자번호 스트링값 * @return boolean */ function validatePsnCrn(data) { data = getOnlyNumberFormat(data);//숫자만 입력 받기. if(data.length == 13) { return validatePsn(data); } else if(data.length == 10) { return validateCrn(data); } else { i18nAlert("주민등록번호/사업자번호가 유효하지 않습니다."); return false; } } /** * 8자리 날짜 체크 로직 *
ex : validateDate8("20050822", "N") * @param cDate : 8자리 날짜 스트링 * @param vMsg : alert 메세지 출력여부 * @return boolean */ function validateDate8(cDate, vMsg) { if(cDate.length != 8) { if( vMsg == null || vMsg != "N" ) { i18nAlert("날짜의 길이가 잘못 입력 되었습니다."); } return false; } var yyyy = cDate.substring(0, 4); var mm = cDate.substring(4, 6) - 1;//12월일 경우 날짜 생성해서 보면 getMonth()로 보면 0으로 리턴되므로 1을 빼준다. var dd = cDate.substring(6); var checkDate = new Date(yyyy, mm, dd); if ( checkDate.getFullYear() != yyyy || checkDate.getMonth() != mm || checkDate.getDate() != dd) { delete checkDate; if( vMsg == null || vMsg != "N" ) { i18nAlert("날짜 형식이 유효하지 않습니다."); } return false; } delete checkDate; return true; } /** * 날짜형식으로 변환 *
ex : changeDateFormatted(object) * @param object : 날짜 input Object */ function changeDateFormatted(obj){ var data = obj.value.replace(/-/g,""); var tmp = ""; if( data == "" ) { obj.value = ""; return; } if( !isNum(data) ) { obj.value = obj.value.substring(0,obj.value.length-1); return; } if( data.length > 8 ) { data = data.substring(0, 8); } if (data.length < 5) tmp = data; else if (data.length < 7) tmp = data.substring(0,4) + "-" + data.substring(4); else tmp = data.substring(0,4) + "-" + data.substring(4,6) + "-" + data.substring(6); obj.value = tmp; obj.setAttribute("mask", "-"); } /** * 날짜 유효성 체크 로직 *
ex : isValidDay("20050822", form, field, msgyn) * @param cDate : 8자리 날짜 스트링 * @param form : form객체 * @parma field : field객체 * @parma msgyn : 메시지출력여부 * @return boolean */ function isValidDay(cDate, frm, field, msgyn) { if(cDate.length != 8) { //i18nAlert("날짜의 길이가 잘못 입력 되었습니다."); if(msgyn == 'Y'){ uf_alert("날짜의 길이가 잘못 입력 되었습니다.", null, null, frm, field); } return false; } var yyyy = cDate.substring(0, 4); var mm = cDate.substring(4, 6) - 1;//12월일 경우 날짜 생성해서 보면 getMonth()로 보면 0으로 리턴되므로 1을 빼준다. var dd = cDate.substring(6); var checkDate = new Date(yyyy, mm, dd); if ( checkDate.getFullYear() != yyyy || checkDate.getMonth() != mm || checkDate.getDate() != dd) { delete checkDate; //i18nAlert("날짜 형식이 유효하지 않습니다."); if(msgyn == 'Y'){ uf_alert("날짜 형식이 유효하지 않습니다.", null, null, frm, field); } return false; } delete checkDate; return true; } /** * 계좌 체크 로직(현재 길이만 체크하고 있음) *
ex : validateKebAccount("111111111111") * @param acc : 계좌 번호 * @return boolean */ function validateKebAccount(acc) { if(acc.length != 12) { i18nAlert("계좌 번호가 유효하지 않습니다."); return false; } return true; } /** * 계좌 비밀번호 로직(현재 길이만 체크하고 있음) *
ex : validateKebAccountPassword("1111") * @param pass : 계좌 비밀 번호 * @return boolean */ function validateKebAccountPassword(pass) { if(pass.length != 4) { i18nAlert("계좌 비밀 번호가 잘못 입력 되었습니다."); return false; } return true; } /** * 스크립트로 제어하는 대분류,중분류에 사용하는 셀렉트 박스 컨트롤 *
ex : dynamicChangeSelectBox(this,form1.targetname,target에들어갈array,true) * @param select : 이 스크립트를 실행하는 select box 객체 * @param target : 이 객체의 onchange 이벤트에 의해 제어될 타겟 select box 객체 name * @param resultSet : 타켓 셀렉트 박스에 조건에 따라서 들어갈 옵션이 들어있는 javascript array 객체명 * @param nulluse : 선택하세요.. 사용 여부 */ function dynamicChangeSelectBox(select,target,resultSet,nulluse) { var upperState = "" if (select.upperValue != undefined) upperState = select.upperValue; var selectValue = ""; if(upperState != "") selectValue = upperState+"_"+select.value; else selectValue = select.value; while(target.length > 0) { target.removeChild(target.children[0]); } if(nulluse == true) { var option = document.createElement("OPTION"); option.text="선택하세요.."; option.value=""; target.add(option); } if(resultSet[selectValue] != undefined ) { var selectArray = resultSet[selectValue]; if(selectArray.length != 0) { for(var t = 0 ; t < selectArray.length ; t++) { var option = new Option(); option.value=selectArray[t][0]; option.text=selectArray[t][1]; target.add(option); } } } target.upperValue = selectValue;//방금 선택한 셀렉트 박스 값과 대분류를 통해서 왔을때의 값을 대상에 심어놓음으로서 키의 중복을 방지 if(target.onchange != null) target.onchange(); } var btnRetrAmt = "btn_uf_retrAmt"; // 출금가능금액버튼명 if(IS_HIDDEN_LINK) { status_msg(); if (document.layers) document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT | Event.CLICK) document.onmouseover=hidestatus; document.onmouseout=hidestatus; } /* status bar 처리시작 */ function hidestatus() { try { window.status=''; } catch(e) {} return true; } function status_msg() { window.status=""; setTimeout("status_msg()", 0);//값이 0일경우 링크주소가 보이지않음 } // 처리중 레이어 //document.write(""); //document.write(""); // 기본 xgrid 높이 var xgrid_height = 275; var xgrid_height2 = 275; /* * 그리드 파일저장 */ function uf_SaveToFile() { //그리드가 있고 그리드 객체내에 레코드가 있으면 if( document.getElementById("grid_area") ) { RgUtil.commit("grid_area"); try { // 윈도우 팝업 if( typeof opener != "undefined" && opener != null && opener != "" && document.location.href != opener.document.location.href ) { var dataProvider = RgUtil.getdataProvider("grid_area"); if( dataProvider && dataProvider.getRowCount() > 0 ) { var url = "/uib/jsp/common/comm_gridFileSavePopup.jsp"; uf_newWin(url, "gridFileSavePopu", 870, 739); } else { uf_alert("저장할 데이터가 없습니다."); return; } // 레이어 팝업 } else { var dataProvider = RgUtil.getdataProvider("grid_area"); if( dataProvider && dataProvider.getRowCount() > 0 ) { var url = "/uib/jsp/common/comm_gridFileSave.jsp"; open_ajax(url, null, com_callbackGridFileSavePopup, true, null, null, 850); } else { uf_alert("저장할 데이터가 없습니다."); return; } } } catch(e) { var dataProvider = RgUtil.getdataProvider("grid_area"); if( dataProvider && dataProvider.getRowCount() > 0 ) { var url = "/uib/jsp/common/comm_gridFileSavePopup.jsp"; uf_newWin(url, "gridFileSavePopu", 870, 739); } else { uf_alert("저장할 데이터가 없습니다."); return; } } } else { uf_alert("그리드 화면에서만 파일저장이 가능합니다."); return; } } function com_callbackGridFileSavePopup() { fileSaveGridInitialize(); } function printDiv() { //top.mainframe.focus(); try{ if(parent.mainframe == undefined) { parent.proIfr.focus(); } }catch(e){} window.onbeforeprint = beforeDivs; window.onafterprint = afterDivs; window.print(); } function beforeDivs() { // 인쇄할 div 객체 검색 var printTable = new Array(); var content_div; var divs = document.all.tags('DIV'); var tables; var layerTitle; var isLogo = false; // 화면에 로고이미지 존재 유무; var isLayer = false; for(var i=0; i < divs.length; i++){ if(divs[i].id == "ibkContent") content_div = divs[i]; // 레이어일 경우 타이틀이미지 가져오기. if(divs[i].id == 'head'){ isLayer = true; layerTitle = divs[i].outerHTML; } if(divs[i].style.display == 'none' || divs[i].style.visibility == 'hidden' || divs[i].id == 'tb_pop' || divs[i].id == 's_layer' || divs[i].id == 's_layer2' || divs[i].id == 'scbbox' || divs[i].id == 'maskFilm') divs[i].setAttribute("hiddentemp","true"); divs[i].style.display = 'none'; if (divs[i].print != undefined) { printTable.push(divs[i]); } } var orgwidth; var sele = document.all.tags('SELECT'); for (var i=0; i < sele.length; i++){ if(sele[i] != undefined){ if(sele[i].className == "sl_l"){ orgwidth = "280px"; } else if(sele[i].className == "sl_m"){ orgwidth = "200px"; } else if(sele[i].className == "sl_mm"){ orgwidth = "160px"; } else if(sele[i].className == "sl_ms"){ orgwidth = "130px"; } else if(sele[i].className == "sl_mms"){ orgwidth = "100px"; } else if(sele[i].className == "sl_s"){ orgwidth = "80px"; } else if(sele[i].className == "sl_ys"){ orgwidth = "50px"; } else if(sele[i].className == "sl_ss"){ orgwidth = "40px"; } else if(sele[i].className == "sl_xs "){ orgwidth = "40px"; } sele[i].setAttribute("orgwidth", orgwidth); } } var inner = ""; if(printTable.length == 0){ var cont_divs; if(content_div == undefined){ content_div = document.body; cont_divs = document.all.tags('DIV'); }else{ cont_divs = content_div.all.tags('DIV'); } for (var i = 0; i < cont_divs.length; i++) { if(cont_divs[i].getAttribute("hiddentemp") == null){ cont_divs[i].style.display = 'block'; printTable.push(cont_divs[i]); } } var imgs = document.getElementsByTagName("IMG"); for(var i=0; i -1){ imgs[i].setAttribute("imgHiddentemp","true"); imgs[i].style.display = 'none'; } if(imgs[i].src.indexOf('img_logo.gif') > -1){ isLogo = true; } } inner += "
"; inner += content_div.innerHTML; // 로고 if(!isLogo){ inner += "
"; inner += ""; } inner += "
"; }else{ var isLayerTitle = false; inner += "
"; for (var i = 0; i < printTable.length; i++) { var divs = printTable[i].all.tags('DIV'); for (var d = 0; d < divs.length; d++) { if(divs[d].getAttribute("hiddentemp") == null){ divs[d].style.display = 'block'; } if(divs[d].id == 'head'){ isLayerTitle = true; } } var imgs = printTable[i].all.tags("IMG"); for(var d=0; d -1){ imgs[d].setAttribute("imgHiddentemp","true"); imgs[d].style.display = 'none'; } if(imgs[d].src.indexOf('img_logo.gif') > -1) isLogo = true; } if(i==0){ if(document.all.page_title_div2 != undefined) inner += document.all.page_title_div2.innerHTML + "
"; if(isLayer && !isLayerTitle){ inner += layerTitle + "
"; } //if(layerTitle != undefined){ // inner += layerTitle + "
"; //} } inner += printTable[i].innerHTML; } // 로고 if(!isLogo){ inner += "
"; inner += ""; } inner += "
"; } document.body.insertAdjacentHTML("beforeEnd", inner); var divs = document.getElementsByTagName('DIV'); var tables; for (var d = 0; d < divs.length; d++){ if (divs[d].id.indexOf('divPrint') > -1) { //tables = divs[d].all.tags('TABLE'); tables = $(divs[d]).find('TABLE'); for(var t=0; t < tables.length; t++){ if(tables[t].chgWid != 'N') tables[t].style.width = '100%'; } } } } function afterDivs() { var divs = document.all.tags('DIV'); var tables; for (var d = 0; d < divs.length; d++){ if (divs[d].style.display == 'none' && divs[d].getAttribute("hiddentemp") == null) { divs[d].style.display = 'block'; } if (divs[d].id.indexOf('divPrint') > -1) { divs[d].outerHTML = ""; } } var imgs = document.getElementsByTagName('IMG'); for (var d = 0; d < imgs.length; d++){ if (imgs[d].getAttribute("imgHiddentemp") != null && imgs[d].style.display == "none") { imgs[d].style.display = ""; } } /*try{ var obj; var sele = document.all.tags('SELECT'); for (var i=0; i < sele.length; i++){ if(sele[i] != undefined){ //obj = document.getElementById(sele[i].name) //if(obj){ //alert(sele[i].getAttribute("orgwidth")); obj.reInitializeSelectBox(sele[i].getAttribute("orgwidth")); //} } } }catch(e){} */ } function uf_xgridCondition() { // 그리드 검색 조건 화면에서 읽어오기 try { if(XGridObj.SearchCondition != "") { return; } XGridObj.SearchCondition = ""; XGridObj.SearchCondition2 = ""; var html_str = document.getElementById("invi_area"); // invi_area 가 여러개인 경우 if(html_str == null || html_str == undefined) { for(var i=1; i < 10; i++) { html_str = document.getElementById("invi_area"+i); if(html_str != null && html_str != undefined && html_str.style.display != "none") { break; } } } //var obj_childs = html_str.childNodes[0]; var obj_childs; for(var j=0; j < html_str.childNodes.length; j++){ if(html_str.childNodes[j] instanceof HTMLTableElement){ obj_childs = html_str.childNodes[j]; break; } } for(var i=0; i < obj_childs.rows.length; i++) { var obj1 = "", obj2 = "", obj3 = "", obj4 = ""; try { obj1 = obj_childs.rows[i].cells[0]; //ttable.rows[idx].cells.length-2 obj1 = obj1.innerHTML; } catch(e) { obj1 = ""; } try { obj2 = obj_childs.rows[i].cells[1]; if(obj2.firstChild.nodeValue == null) { obj2 = obj2.childNodes[0]; obj2 = obj2.innerHTML; } else { // span 태그가 없을때 obj2 = obj2.firstChild.nodeValue; } } catch(e) { obj2 = ""; } try { obj3 = obj_childs.rows[i].cells[2]; obj3 = obj3.innerHTML; } catch(e) { obj3 = ""; } try { obj4 = obj_childs.rows[i].cells[3]; if(obj4.firstChild.nodeValue == null) { obj4 = obj4.childNodes[0]; obj4 = obj4.innerHTML; } else { // span 태그가 없을때 obj4 = obj4.firstChild.nodeValue; } } catch(e) { obj4 = ""; } XGridObj.SearchCondition += ""; if(obj1 != "" && obj2 != "") { XGridObj.SearchCondition += obj1 + " : " + obj2 + " "; } XGridObj.SearchCondition2 += ""; if(obj3 != "" && obj4 != "") { XGridObj.SearchCondition2 += obj3 + " : " + obj4 + " "; XGridObj.SearchCondition2 = replace(XGridObj.SearchCondition2, "?", ""); } } XGridObj.SearchCondition = replace(XGridObj.SearchCondition , "", ""); XGridObj.SearchCondition2 = replace(XGridObj.SearchCondition2 , "", ""); XGridObj.SearchCondition += " "; XGridObj.SearchCondition2 += ""; } catch(e) { XGridObj.SearchCondition = ""; XGridObj.SearchCondition2 = ""; } } /* * 그리드 프린트 * 2017.01.13 이재영 수정 * 공통역역 "지정항목인쇄" 버튼 클릭시 동작 * 그리드가 화면에 출력되어 있고, 데이터가 있으면 인쇄 팝업 호출 * 그리드가 없으면 프린트 메이드 그냥 호출 */ function uf_ShowPrintXgrid() { if(document.getElementById("grid_area")) { //그리드가 있고 그리드 객체내에 레코드가 있으면 var dataProvider = RgUtil.getdataProvider("grid_area"); if(dataProvider && dataProvider.getRowCount() > 0) { var fileName = document.location.pathname.split("/").pop(); var fileId = fileName.split(".")[0]; var gridTitle = RgUtil.getGridView("grid_area").getGridTitle(); var frm = document.createElement("form"); frm.target = ""; createHiddenField(frm, "fileId", fileId); if( !is_Null(opener) && document.location.href != opener.document.location.href ) { var url = "/uib/jsp/common/comm_gridPdfPrintPopup.jsp"; if("" == gridTitle) { try { gridTitle = $(".stit").text(); } catch(e) { alert("Not Exist title"); } } createHiddenField(frm, "gridTitle", gridTitle); $("body").append(frm); uf_newWin3(frm, url, "GRID_PDF_POP_VIEW", "860", "804"); } else { var url = "/uib/jsp/common/comm_gridPdfPrint.jsp"; if("" == gridTitle) { gridTitle = $(".stit3").text(); } createHiddenField(frm, "gridTitle", gridTitle); open_ajax(url, frm, popupGridInitialize, true); } } else { //그냥 if( !is_Null(opener) && document.location.href != opener.document.location.href ) { PTMPrintWebPage({elementid:'#' + $(".dvpop").attr("id"), formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } else { PTMPrintWebPage({elementid:'#ibkContent', formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } } } else { if( !is_Null(opener) && document.location.href != opener.document.location.href ) { PTMPrintWebPage({elementid:'#' + $(".dvpop").attr("id"), formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } else { PTMPrintWebPage({elementid:'#ibkContent', formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } } } /* * @param key_acn : 계좌번호 * @param layer_yn : 레이어 여부(Y : 레이어) */ function cf_showPrintNotLogin(key_acn, layer_yn, print_id, print_pre, print_after) { var popupUrl = "/uib/jsp/common/comm_gridPdfPrintPopup.jsp"; var layerUrl = "/uib/jsp/common/comm_gridPdfPrint.jsp"; var fileName = document.location.pathname.split("/").pop(); var fileId = fileName.split(".")[0]; var gridTitle = ""; if(is_Null(key_acn)) { key_acn = ""; } if(is_Null(layer_yn)) { // layer_yn 기본값 설정 layer_yn = "N"; } if(layer_yn == "Y") { // 레이어로 호출 var dataProvider = RgUtil.getdataProvider("grid_area"); if(dataProvider && dataProvider.getRowCount() > 0) { gridTitle = RgUtil.getGridView("grid_area").getGridTitle(); if("" == gridTitle) { try { gridTitle = parent.$(".stit3").text(); } catch(e) {} } var frm = document.createElement("form"); frm.target = ""; createHiddenField(frm, "fileId", fileId); createHiddenField(frm, "gridTitle", gridTitle); createHiddenField(frm, "key_ebnk_acn", key_acn); open_ajax(layerUrl, frm, popupGridInitialize, true); } else { if(is_Null(print_id)) { PTMPrintWebPage({elementid:'#' + $(".dvpop").attr("id"), formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } else { if(print_pre) { try { print_pre(); } catch(e) {} } PTMPrintWebPage({elementid:'#' + print_id, formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt', callback:print_after}); } } } else if(document.getElementById("grid_area")) { //그리드가 있고 그리드 객체내에 레코드가 있으면 var dataProvider = RgUtil.getdataProvider("grid_area"); if(dataProvider && dataProvider.getRowCount() > 0) { gridTitle = RgUtil.getGridView("grid_area").getGridTitle(); var frm = document.createElement("form"); frm.target = ""; if( !is_Null(opener) && document.location.href != opener.document.location.href ) { if("" == gridTitle) { try { gridTitle = $(".stit").text(); } catch(e) {} } createHiddenField(frm, "fileId", fileId); createHiddenField(frm, "gridTitle", gridTitle); createHiddenField(frm, "key_ebnk_acn", key_acn); $("body").append(frm); uf_newWin3(frm, popupUrl, "GRID_PDF_POP_VIEW", "860", "804"); } else { if("" == gridTitle) { gridTitle = $(".stit3").text(); } createHiddenField(frm, "fileId", fileId); createHiddenField(frm, "gridTitle", gridTitle); createHiddenField(frm, "key_ebnk_acn", key_acn); open_ajax(layerUrl, frm, popupGridInitialize, true); } } else { if( !is_Null(opener) && document.location.href != opener.document.location.href ) { PTMPrintWebPage({elementid:'#' + $(".dvpop").attr("id"), formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } else { PTMPrintWebPage({elementid:'#ibkContent', formurl:'https://mybank.ibk.co.kr/IBK/uib/sw/printmade3/server_files/form.txt'}); } } } } function popupGridInitialize (callbackFunction) { var ibkRealGrid = new realGrid("popup_grid_area", true, false, true, pdfPopupgridInit, afterJob); var parentGridView = RgUtil.getGridView("grid_area"); var displayColumns = RgUtil.getDisplayColumns("grid_area"); $.each(displayColumns, function(i, col) { if( typeof col == "string" ) { var column = RgUtil.getColumnByName("grid_area", col); if( column.visible ) { var fieldIndex = RgUtil.getFieldIndex("grid_area", col); var field = RgUtil.getField("grid_area", fieldIndex); var orgColumn; for(var i = 0; i < __grids["grid_area"].columns.length; i++) { var tempColumn = __grids["grid_area"].columns[i]; if(tempColumn.name === col) { orgColumn = tempColumn; break; } } if(field.dataType == "datetime") { field.dataType = "text"; orgColumn.displayRegExp = "^([0-9]{4})([0-9]{2})([0-9]{2})$"; orgColumn.displayReplace = "$1-$2-$3"; } // 편집모드 제거 orgColumn.editable = false; orgColumn.edit = null; orgColumn.editor = null; orgColumn.required = false; // footer 복제 var parentFooter = parentGridView.getColumnProperty(column, "footer"); if( !is_NullValue(parentFooter.text) || !is_NullValue(parentFooter.expression) ) { orgColumn.footer = parentFooter; orgColumn.footer.styles = orgColumn.styles; } ibkRealGrid.getGridDataColumns().push(orgColumn); ibkRealGrid.getGridDataFields().push(field); } // 그룹 체크 } else { $.each(col.columns, function(gidx, columnName) { var column = RgUtil.getColumnByName("grid_area", columnName); // 그룹정보 컬럼이 아닌경우만 실행 if( is_NullValue(column.orientation) ) { if( column.visible ) { var fieldIndex = RgUtil.getFieldIndex("grid_area", columnName); var field = RgUtil.getField("grid_area", fieldIndex); var orgColumn = null; for( var subi = 0; subi < __grids["grid_area"].columns.length; subi++ ) { // 그룹 if( !is_NullValue(__grids["grid_area"].columns[subi].type) && __grids["grid_area"].columns[subi].type == "group" ) { var isBreak = false; for( var subj = 0; subj < __grids["grid_area"].columns[subi].columns.length; subj++ ) { if( __grids["grid_area"].columns[subi].columns[subj].name == columnName ) { orgColumn = __grids["grid_area"].columns[subi].columns[subj]; isBreak = true; break; } } if( isBreak ) { break; } } else { if( __grids["grid_area"].columns[subi].name == columnName ) { orgColumn = __grids["grid_area"].columns[subi]; break; } } } if(field.dataType == "datetime") { field.dataType = "text"; orgColumn.displayRegExp = "^([0-9]{4})([0-9]{2})([0-9]{2})$"; orgColumn.displayReplace = "$1-$2-$3"; } // 편집모드 제거 orgColumn.editable = false; orgColumn.edit = null; orgColumn.editor = null; orgColumn.required = false; // footer 복제 var parentFooter = parentGridView.getColumnProperty(column, "footer"); if( !is_NullValue(parentFooter.text) || !is_NullValue(parentFooter.expression) ) { orgColumn.footer = parentFooter; orgColumn.footer.styles = orgColumn.styles; } ibkRealGrid.getGridDataColumns().push(orgColumn); ibkRealGrid.getGridDataFields().push(field); } } }); } }); ibkRealGrid.completeColumnHeader("100%", "285"); } function pdfPopupgridInit() { /** var datas = RgUtil.getdataProvider("grid_area").getRows(); var pdfProvider = RgUtil.getdataProvider("popup_grid_area"); pdfProvider.setRows(datas); **/ // 그리드 옵션 복제 var parentGridView = RgUtil.getGridView("grid_area"); var gridView = RgUtil.getGridView("popup_grid_area"); gridView.setOptions(parentGridView.getOptions()); //gridView.setCheckBar(parentGridView.getCheckBar()); gridView.setFooter(parentGridView.getFooter()); var gridData = RgUtil.getDisplayRows2Array("grid_area"); RgUtil.setRows("popup_grid_area", gridData); (function() { var popupGridView = RgUtil.getGridView("popup_grid_area"); popupGridView.onDataCellDblClicked = function(grid,index) { //console.log("popupGirdView.onDataCellDblClicked !!"); } })(); } /* * window 프린트 */ function uf_ShowPrint() { if(document.all.XGridObj == undefined) { printDiv(); //alert("인쇄할 내역이 없습니다"); } else { if(document.all.grid_area != undefined && (document.all.grid_area.style.display == 'none' || document.all.grid_area.style.visibility == 'hidden')){ //alert("인쇄할 내역이 없습니다"); printDiv(); return; } clearXGrid(XGridObj); uf_xgridCondition(); XGridObj.ReportFilePath = hsbGridPrintFilePath; XGridObj.ShowPrint(); } } /* * 웹프린팅 Printmade */ function uf_WebPrintOld(mode) { /* * 조회 내용은 mainframe이라는 프레임 안에 나타나 있으며 * * mode가 "all"로 설정되는 경우에는 페이지 전체를 인쇄하며 이외의 경우 특정 영역만을 인쇄한다. * * 이 때 인쇄하고자 하는 내용은 result_area 안에 들어 있으며 이는 wrap_conts로 둘러싸여 있다. * wrap_conts는 allc 안에 포함되어 있으며 해당 페이지의 제목 이미지는 title_img라는 id를 통하여 접근할 수 있다. * Grid의 너비는 내용 전체의 너비와 현재 Grid의 너비 중 더 큰 것을 선택하며 높이는 내용 전체의 높이에 무조건 맞춘다 * */ if(!checkActiveXInstall()) { uf_webPrintError(); return; } //_trk_clickTrace('EVT','웹프린팅'); // WebLogger 카운트용(웹프린팅호출시마다 카운트) var toolbar = document.getElementById('toolbar'); var isToolbarExist = false; // 인쇄 시 툴바가 나오지 않도록 하기 위해 제거 후 인쇄. (추후 다시 복원) if (toolbar != null) { isToolbarExist = true; toolbar.style.display = 'none'; } var yangsic_url = '/uib/js/printmade/yangsic.xml'; print_set('mainframe', 0,0,0,0,yangsic_url); return; var grid = document.getElementById('XGridObj'); var isGridExist = false; // 그리드 존재 여부 var checkboxwidth = 0; // 체크박스 너비 var checkboxindex = 0; // 체크박스 위치 var isCheckboxExist = false; // 체크박스 존재 여부 var wrap = document.getElementById('wrap_conts'); // 인쇄 내용을 둘러싸고 있는 object var XGridObj = document.getElementById('XGridObj'); var result = document.getElementById('result_area'); if (result == null || result.style.display == 'none') { OPTION_PO = ' /po:0'; print_set('mainframe', 0,0,0,0,yangsic_url); return; } if (grid != null) { /* * 검색 결과가 없는 경우 grid 자체는 존재하지만 grid_area의 display가 none으로 설정되어 있어 화면에 나타나지 않는다. * 이런 경우 별도의 그리드 조작 없이 바로 전체 인쇄를 한 후 종료한다. */ if (document.getElementById('grid_area').style.display == 'none') { print_set('mainframe', 0,0,0,0,yangsic_url); return; } XGridObj.VertScrollBarAutoHide = true; // 세로 길이를 맞춰줄 것이기 때문에 스크롤 제거 //XGridObj.Footer = false; // Grid의 하단 합계 등이 나오지 않도록 설정 OPTION_SCR = " /scr"; // Grid가 있는 경우 스크롤 캡쳐를 해야 하므로 해당 파라미터를 설정해준다. isGridExist = true; // 추후 복원을 위해 Grid가 존재한다는 것을 저장 var height_sum = 0; var width_sum = XGridObj.IndicatorWidth; // 검색 결과가 나올 때 제일 왼쪽에 나오는 Column의 너비 if (XGridObj.BandHeaderLineCount == 1) // 2가지 이상 항목이 하나로 합쳐진 Header가 없는 경우 height_sum = XGridObj.HeaderHeight + XGridObj.CellHeight * (XGridObj.RecordCount + 3); else // 2가지 이상 항목이 하나로 합쳐진 Header가 존재하는 경우 height_sum = XGridObj.BandHeaderHeight * XGridObj.BandHeaderLineCount + XGridObj.CellHeight * (XGridObj.RecordCount + 3); for (var i = 0; i < XGridObj.ColumnCount; i++) { // 각 항목 Width의 합을 구함 var ith_column = XGridObj.GetColumn(i); if (ith_column.Visible == true) { if (ith_column.Caption == '선택') { // 체크 박스가 존재하는 경우 isCheckboxExist = true; // 체크박스가 존재한다는 것을 기억해 둠 checkboxwidth = ith_column.Width; // 해당 Column의 너비를 저장. (추후에 복원하기 위해서) ith_column.Width = 0; // 해당 Column의 너비를 0으로 설정해 보이지 않게 한다 } else { width_sum = width_sum + ith_column.Width; } } } var allc = document.getElementById('allc'); var width_org = grid.clientWidth; var height_org = grid.clientHeight; allcwidth = allc.clientWidth; allcheight = allc.clientHeight; wrapwidth = wrap.clientWidth; wrapheight = wrap.clientHeight; /* * 내용에 맞춘 Grid의 너비가 기존 크기보다 큰 경우 확대하고 작은 경우는 그대로 둔다. * 단, 높이의 경우 무조건 내용에 맞춘다. */ if (width_sum + 10 > width_org) var width_chg = width_sum + 10; else var width_chg = width_org; var height_chg = height_sum; var width_gap = width_chg - width_org; var height_gap = height_chg - height_org; /* * Grid를 둘러 싸고 있는 Element 들의 크기도 Grid에 맞게 같이 확대한다 * allc -> wrap_conts -> XGridObj 의 순서로 포함하고 있다. * width_gap은 Grid가 기존의 너비에 비해서 얼마나 더 커지는 지를 나타내며 * grid 바로 상단의 wrap의 너비는 그 차이값에다가 25를 추가하여 확대한다 * (딱 맞게 확대하는 경우 다음줄로 넘어가는 경우가 발생하고, 25를 준 이유는 부분인쇄 시 우측 여백을 위해서) * * 마찬가지 이유로 wrap 바로 상단의 allc에는 50을 더하여 확대한다. */ allc.style.width = allcwidth + width_gap + 50; allc.style.height = allcheight + height_gap; wrap.style.width = wrapwidth + width_gap + 25; wrap.style.height = wrapheight + height_gap; grid.style.width = width_chg; grid.style.height = height_chg; } // 마케팅 배너 웹프린팅시 제거하기 if(document.getElementById("bannerDiv") != null && document.getElementById("bannerDiv") != undefined) { var bannerDivObj = document.getElementById("bannerDiv"); } if (mode == 'all') { // mode 파라미터가 all이면 전체 내용 인쇄 if(document.getElementById("bannerDiv") != null && document.getElementById("bannerDiv") != undefined) { bannerDivObj.style.display = 'none'; } print_set('mainframe', 0,0,0,0,yangsic_url); if(document.getElementById("bannerDiv") != null && document.getElementById("bannerDiv") != undefined) { bannerDivObj.style.display = 'block'; } } else { // 아닌 경우 부분 인쇄 /* * 제목과 조회 내용으로만 구성된 페이지를 구성하기 위해서 임시로 하나의 제목을 추가로 만든다 */ if(document.getElementById("bannerDiv") != null && document.getElementById("bannerDiv") != undefined) { bannerDivObj.style.display = 'none'; } var div_tmp = document.createElement("div"); var p_tmp = document.createElement("
"); // 제목 img의 높이는 25이지만 25로 하는 경우 기존의 페이지가 겹쳐 나오는 경우가 있어 여유분을 둠. div_tmp.id = 'div_tmp'; div_tmp.style.height = 30; var img_tmp = document.createElement("img"); img_tmp.src = document.getElementById("title_img").src; div_tmp.appendChild(img_tmp); result.parentNode.insertBefore(p_tmp,result); result.parentNode.insertBefore(div_tmp,result); /* * 변수 설명 * div_tmp * - offsetTop : wrap_conts 내부에서의 위치(상하) * - offsetHeight : div_tmp 내용의 높이 * wrap * - offsetTop : 페이지 내부에서의 위치(상하) * result * - offsetHeight : result_area 내용의 높이 */ /* * 부분 인쇄를 하는 경우 전체화면을 스크린 샷 한 이후 잘라내는 식으로 처리한다. * print_set('프레임명', 상, 우, 하, 좌, 양식url)의 형태로 호출 * 상 : div_tmp.offsetTp은 wrap_conts 안에서의 위치를 나타내므로 wrap_conts의 위치를 더해줌 * 우 : 오른쪽의 경우 잘라낼 필요가 없으므로 0으로 설정 * 하 : 페이지 전체 높이에서 인쇄하고자 하는 내용이 끝나는 지점의 좌표를 빼준다. * 끝나는 지점의 좌표는 cut_top의 값에 div_tmp와 result_area의 높이를 더해 구할 수 있다. * 좌 : wrap_cons의 위치를 구하면 된다 */ var cut_top = div_tmp.offsetTop + wrap.offsetTop; var cut_right = 0; var cut_bottom = document.body.scrollHeight - (div_tmp.offsetTop + result.offsetHeight + div_tmp.offsetHeight + wrap.offsetTop + 46); var cut_left = wrap.offsetLeft; // Grid Page Break 작업 var pagewidth = allc.offsetWidth; var pageheight = result.offsetHeight + div_tmp.offsetHeight; var grid_top = grid_top = XGridObj.offsetTop - div_tmp.offsetTop; var header_height = 0; var cell_height = XGridObj.CellHeight; var param = ''; if (XGridObj.BandHeaderLineCount == 1) // 2가지 이상 항목이 하나로 합쳐진 Header가 없는 경우 { header_height = XGridObj.HeaderHeight; } else // 2가지 이상 항목이 하나로 합쳐진 Header가 존재하는 경우 { header_height = XGridObj.BandHeaderHeight * XGridObj.BandHeaderLineCount; } if (pageheight >= pagewidth) OPTION_PO = ' /po:0'; else OPTION_PO = ' /po:1'; var getPBM = function(mode) { var cut = 0; var param = ''; var index = 0; /* * 가로와 세로의 길이에 따라 용지 방향이 달라지기 때문에 한 페이지당 높이를 얼마로 할지 용지 방향에 따라 계산한다 * 이 때 계산 된 값을 cut 에 저장한다. */ if (mode == 'landscape') { cut = parseInt(pagewidth / 297 * 210 * 0.7) ; } else if (mode == 'portrait') { cut = parseInt(pagewidth / 210 * 297 * 0.75); } var remain = grid_top; // grid 윗 부분의 내용만으로 한 장이 넘을 경우 한 장 미만의 양이 남을 때까지 잘라낸다. if (grid_top > cut) { param = '' + cut; for (i = 2; i <= remain / cut; i++) { param = param + ',' + (cut * i); } /* * index : 지금까지 잘라낸 총 높이를 나타낸다. * remain의 초기 값으로 grid_top을 저장했기 ?문에 remain 값에서 index 값을 빼주면 grid 윗 부분의 내용 중 남은 내용의 높이가 계산된다. */ index = cut * parseInt(remain / cut); remain = remain - index; } /* * Grid의 헤더는 무조건 한 페이지에 같이 나와야 하기 때문에 * 위에서 남은 내용과 헤더가 같이 나올 수 있는지 없는지를 확인한다. */ if (cut - remain > header_height) { remain = remain + header_height; var count = parseInt((cut - remain) / cell_height); var first_cut = remain + count * cell_height; } else { // 헤더가 못 들어가면 원래 있던 부분까지 자르고 나머지는 다음부터. param = param + ',' + (index + remain); index = index + remain; first_cut = header_height + parseInt((cut - header_height) / cell_height) * cell_height; } param = param + ',' + (first_cut + index); // 2번째 파라미터는 반복적으로 잘라낼 양 param = param + '|' + ( cell_height * parseInt(cut / cell_height)); if (param.charAt(0) == ',') { param = param.substring(1); } return param; }; // 3번째 파라미터는 인쇄할 영역의 전체 높이 param = getPBM('portrait') + '|' + pageheight + '|' + getPBM('landscape'); print_setpbm('mainFrame', cut_top, cut_right, cut_bottom, cut_left, param); // 인쇄를 마쳤으므로 임시로 만든 제목을 제거 p_tmp.parentNode.removeChild(p_tmp); div_tmp.parentNode.removeChild(div_tmp); if(document.getElementById("bannerDiv") != null && document.getElementById("bannerDiv") != undefined) { bannerDivObj.style.display = 'block'; } } // Grid가 존재하는 경우 크기를 원 상태로 복구 if (isGridExist == true) { grid.style.width = width_org; grid.style.height = height_org; wrap.style.width = wrapwidth; wrap.style.height = wrapheight; allc.style.width = allcwidth; allc.style.height = allcheight; // 체크 박스가 존재하는 경우 원상태로 복구 if (isCheckboxExist == true) XGridObj.GetColumn(checkboxindex).Width = checkboxwidth; // 툴바가 존재하는 경우 다시 원상태로 복구한다 if (isToolbarExist == true) { toolbar.style.display = 'block'; } } } var preBtn_Def = ""; var preDivId = ""; /** * 서브밋 하기전에 버튼 HIDE 시키고, 처리중 레이어 띄운다. */ function setSubmitBefore(gubun) { var flag = true; // 다음버튼일 경우 btn_def2를 히든시킨다 if(gubun == 'X') { preDivId = "btn_def2"; } else { preDivId = "btn_def"; } if(flag && $("#"+preDivId) != undefined) { preBtn_Def = $("#"+preDivId).html(); $("#"+preDivId).html(""); } preLoadingLayer("SUBMIT"); } // XGrid 가 있는 화면에서는 PreLoading 레이어를 띄워준다. function preLoadingLayer(gubun) { var load_num = ((Math.floor(Math.random() * 1000)%3)+1); var common_flash_txt = ''; // 처리중 이미지 로딩중 화면 클릭방지를 위한 처리 try{ loadingMask('on'); showLoadingLogo(); }catch(e){} /* delete by hks@ // I.E10 관련 로딩이미지 최상위로 수정(2012.11.29) var trident = navigator.userAgent.match(/Trident\/(\d.\d)/i); var isie10 = false; var isie11 = false; if(trident != null && trident[1] == "6.0"){ // 6.0 = IE10, 5.0 = IE9, 4.0 = IE8 isie10 = true; } if(trident != null && trident[1] == "7.0"){ // 6.0 = IE10, 5.0 = IE9, 4.0 = IE8 isie11 = true; } if(isie10 || isie11) { common_flash_txt += ''; } else if(gubun == "SUBMIT") { // submit //common_flash_txt += ''; //common_flash_txt += ''; //common_flash_txt += ''; //common_flash_txt += ''; //common_flash_txt += ''; //common_flash_txt += '';// common_flash_txt += ''; } else { // pre loading common_flash_txt += ''; } var obj = document.getElementById("Loading_Div"); if(obj == null || obj == undefined){ var printDiv = ''; document.body.insertAdjacentHTML("beforeEnd", printDiv); obj = document.getElementById("Loading_Div"); } if(obj != null && obj != undefined) { obj.innerHTML = common_flash_txt; obj.style.width = 190; obj.style.height = 115; var objW = $('body').outerWidth(); var objH = $('body').outerHeight(); $(obj).width(190); $(obj).height(115); $(obj).css('left', (objW/2)-144); $(obj).css('top', (objH/2 + document.body.scrollTop)-100); //obj.style.left = (objW/2)-144; //obj.style.top = (objH/2 + document.body.scrollTop)-100; obj.style.visibility = "visible"; } */ } /** * @setSubmitBefore 함수에 적용을 해제한다. 레이어를 없앤다. */ function reset_submit(frm){ // 처리중 이미지 로딩중 화면 클릭방지를 위한 처리해제 try{ loadingMask('off'); }catch(e){} // 버튼 초기화 if( $("#"+preDivId) != null && $("#"+preDivId) != undefined) { $("#"+preDivId).html(preBtn_Def); } hideLoadingLogo(); /* delete by hks@ if( document.all["Loading_Div"] != null && document.all["Loading_Div"] != undefined) { document.all["Loading_Div"].innerHTML = ""; document.all["Loading_Div"].style.visibility = "hidden"; } */ if(frm == undefined){ if(document.form1 != null && document.form1 != undefined) frm = document.form1; else if(document.form2 != null && document.form2 != undefined) frm = document.form2; } if(frm != undefined){ submitStateFalse(frm); // 스파이더 서브밋 초기화 removeTempAttributeName(frm, '_isPagingSet'); } } function removeTempAttributeName(frm, elemName){ var elem =$('input'); var idx=0; var obj; while (idx < elem.length) { try { obj = frm.elements[idx]; }catch(e) { idx++; continue; } if( elem[idx].getAttribute("_temp") != null && elem[idx].getAttribute("_temp") == "true"){ if(elem[idx].getAttribute("name") == elemName){ frm.removeChild(elem[idx]); break; } } idx++; } } // XGrid 가 있는 화면에서는 PreLoading 레이어 닫아준다 function endPreLoading() { hideLoadingLogo(); /* delete by hks@ // PreLoading Layer 를 닫아준다. var obj = document.getElementById("Loading_Div"); if(obj != null && obj != undefined) { obj.innerHTML = ""; obj.style.visibility = "hidden"; } */ // xgrid 가 있는 경우 지정항목인쇄 버튼을 보여준다. if(document.all["easy_print"] != null && document.all["easy_print"] != undefined) { try { if(XGridObj != null && XGridObj != undefined) { document.all["easy_print"].style.display = "inline"; } else { document.all["easy_print"].style.display = "none"; } } catch(e) {document.all["easy_print"].style.display = "none";} } } /** * 사용자정의 알럿메시지 창 * field : 알럿창 확인후 포커스 이동할 객체 */ function uf_alert(msg, width, height, form, field, func) { layerAlert.layer_alert(msg, width, height, form, field, func); // var frm = document.errorForm; // if(frm == undefined) { // frm = document.form2; // } // // var origin_msg = ""; // var isie11 = false; // var trident = navigator.userAgent.match(/Trident\/(\d.\d)/i); // // if(trident != null && trident[1] == "7.0"){ // 7.0 = IE11 // isie11 = true; // } // // if(width == null) width = 450; // width = 450; // if(height == null) height = 206; // var str_focus = "";// // // if(form != null) { str_focus = '&form_name=' + form.name; } // if(field != null){ // var sFieldType=field.type; // if(sFieldType.indexOf('select')>-1){ // str_focus += '&field_name=' + field.name; // }else{ // if(field.length>1){ // str_focus += '&field_name=' + field[0].name; // }else{ // str_focus += '&field_name=' + field.name; // } // } // } // msg = msg.replace(/\/g, ">"); // var src = "/uib/jsp/common/layer_alertmsg1.jsp?msg=" + encodeURIComponent(msg) + str_focus + "&func=" + escape(func); // var common_flash_txt = ''; // var obj = document.getElementById("proDiv"); // if(obj == null || obj == undefined){ // var printDiv = ''; // document.body.insertAdjacentHTML("beforeEnd", printDiv); // obj = document.all.proDiv; // } // // obj.style.width=width+'px'; // /*obj.style.height=height+'px'; */ // // if(obj.style.visibility == "visible") { // 다른 알럿창이 떠있을때 그 창을 않보이게 한다. // obj.style.visibility = "hidden"; // obj.innerHTML = ""; // } // else if(obj.style.display == "none") { // 알럿창을 두번 띄울때 처리 // obj.style.display = "block"; // } // // // if(obj != null && obj != undefined) { // obj.innerHTML = common_flash_txt; // obj.style.visibility = "visible"; // obj.style.display = "block"; // var xpos = (document.body.offsetWidth/2)-($(obj).width()/2); // // var ypos = (document.body.offsetHeight/2) + ($(window).scrollTop())-(height/2); // // $(obj).css("top", Math.round(ypos)); // $(obj).css("left", Math.round(xpos)); // $(obj).focus(); // } } function uf_alert_err(msg, width, height, form, field, func) { var frm = document.errorForm; if(frm == undefined) { frm = document.form2; } var str_focus = ""; if(form != null) { str_focus = '&form_name=' + form.name; } if(field != null) { str_focus += '&field_name=' + field.name; } msg = msg.replace(/\/g, ">"); var src = "/uib/jsp/common/layer_alertmsg2.jsp?msg=" + encodeURIComponent(msg) + str_focus + "&func=" + escape(func); open_ajax(src,null,function(){},true); //var common_flash_txt = ''; //var obj = document.getElementById("proDiv"); //if(obj == null || obj == undefined){ // var printDiv = ''; // document.body.insertAdjacentHTML("beforeEnd", printDiv); //obj = document.all.proDiv; //} //obj.style.width=width+'px'; //if(obj.style.visibility == "visible") { // 다른 알럿창이 떠있을때 그 창을 않보이게 한다. // obj.style.visibility = "hidden"; // obj.innerHTML = ""; //} //else if(obj.style.display == "none") { // 알럿창을 두번 띄울때 처리 // obj.style.display = "block"; //} //if(obj != null && obj != undefined) { // obj.innerHTML = common_flash_txt; // obj.style.visibility = "visible"; // obj.style.display = "block"; // var xpos = (window.screen.width/2)-($(obj).width()/2); // var ypos = (window.screen.height/2) + ($(window).scrollTop())-(height/2); // $(obj).css("top", Math.round(ypos)); // $(obj).css("left", Math.round(xpos)); //} } function uf_alert_acno(msg, width, height, form) { var frm = document.all.errorForm; if(frm == undefined) { frm = document.form2; } if(width == null) width = 460; if(height == null) height = 206; var src = "/uib/jsp/common/layer_alertmsg_acno.jsp"; var common_flash_txt = ''; var obj = document.getElementById("proDiv"); if(obj == null || obj == undefined){ var printDiv = ''; document.body.insertAdjacentHTML("beforeEnd", printDiv); obj = document.all.proDiv; } obj.style.width=width+'px'; /*obj.style.height=height+'px'; */ if(obj.style.visibility == "visible") { // 다른 알럿창이 떠있을때 그 창을 않보이게 한다. obj.style.visibility = "hidden"; obj.innerHTML = ""; } else if(obj.style.display == "none") { // 알럿창을 두번 띄울때 처리 obj.style.display = "block"; } if(obj != null && obj != undefined) { obj.innerHTML = common_flash_txt; obj.style.visibility = "visible"; obj.style.display = "block"; obj.style.left = (document.body.offsetWidth/2)-(width/2); // obj.style.top = (document.body.offsetHeight/2) + (document.body.scrollTop)-(height/2); // } //proIfr3.location.href = "/uib/jsp/common/layer_alertmsg1.jsp?msg=" + msg + str_focus + "&func=" + escape(func); //XecureNavigate("/uib/jsp/common/layer_alertmsg1.jsp?msg=" + msg + str_focus + "&func=" + escape(func), "proIfr3"); } // 알럿 메세지 창 닫기 function hideAlertIfr() { var obj = document.getElementById("proDiv"); if(obj != null && obj != undefined) { obj.style.visibility = "hidden"; obj.style.display = "none"; } } /** * 금액을 한글로 변환 */ function NUM_TO_HAN(num, mode) { /* fnc(num,1):alert fnc(num,2):같은화면 fnc(num,3,return_input):다른 input에 반환 */ var return_input = ""; if ( num == "" || num == "0" ) { if ( mode == "3" ) { return_input = ""; } return; } num=new String(num); if(num.indexOf('.') > -1) { num = num.substring(0,num.indexOf('.')); } num=num.replace(/,/gi,""); var len = num.length; var temp1 = ""; var temp2 = ""; if ( len/4 > 3 && len/4 <= 4 ) { if ( len%4 == 0 ) { temp1 = ciphers_to_han(num.substring(0,4)) + "조" + ciphers_to_han(num.substring(4,8)) + "억" + ciphers_to_han(num.substring(8,12)) + "만" + ciphers_to_han(num.substring(12,16)); } else { temp1 = ciphers_to_han(num.substring(0,len%4)) + "조" + ciphers_to_han(num.substring(len%4,len%4+4)) + "억" + ciphers_to_han(num.substring(len%4+4,len%4+8)) + "만" + ciphers_to_han(num.substring(len%4+8,len%4+12)); } } else if ( len/4 > 2 && len/4 <= 3 ) { if ( len%4 == 0 ) { temp1 = ciphers_to_han(num.substring(0,4)) + "억" + ciphers_to_han(num.substring(4,8)) + "만" + ciphers_to_han(num.substring(8,12)); } else { temp1 = ciphers_to_han(num.substring(0,len%4)) + "억" + ciphers_to_han(num.substring(len%4,len%4+4)) + "만" + ciphers_to_han(num.substring(len%4+4,len%4+8)); } } else if ( len/4 > 1 && len/4 <= 2 ) { if ( len%4 == 0 ) { temp1 = ciphers_to_han(num.substring(0,4)) + "만" + ciphers_to_han(num.substring(4,len)); } else { temp1 = ciphers_to_han(num.substring(0,len%4)) + "만" + ciphers_to_han(num.substring(len%4,len)); } } else if ( len/4 <= 1 ) { temp1 = ciphers_to_han(num.substring(0,len)); } for (var i=0; i < temp1.length; i++) { temp2 = temp2 + num_to_han(temp1.substring(i, i+1)); } temp3=new String(temp2); temp3=temp3.replace(/억 만/gi,"억 "); temp3=temp3.replace(/조 억/gi,"조 "); if ( mode == 1 ) { alert(temp3 + " 원"); } else if ( mode == 2 ) { return temp3; } else if ( mode == 3 ) { return_input = " " + temp3 + "원"; } return return_input; } function ciphers_to_han(num) { var len = num.length; var temp = ""; if ( len == 1 ) { temp = num; } else if ( len == 2 ) { temp = num.substring(0,1) + "십" + num.substring(1,2); } else if ( len == 3 ) { temp = num.substring(0,1) + "백" + num.substring(1,2) + "십" + num.substring(2,3); } else if ( len == 4 ) { temp = num.substring(0,1) + "천" + num.substring(1,2) + "백" + num.substring(2,3) + "십" + num.substring(3,4); } num=new String(temp); num=num.replace(/0십/gi,""); num=num.replace(/0백/gi,""); num=num.replace(/0천/gi,""); return num; } // 숫자 : 한글: num_to_han, ciphers_to_han, NUM_TO_HAN function num_to_han(num) { if ( num == "1" ) { return "일"; } else if ( num == "2" ) { return "이"; } else if ( num == "3" ) { return "삼"; } else if ( num == "4" ) { return "사"; } else if ( num == "5" ) { return "오"; } else if ( num == "6" ) { return "육"; } else if ( num == "7" ) { return "칠"; } else if ( num == "8" ) { return "팔"; } else if ( num == "9" ) { return "구"; } else if ( num == "십" ) { return "십"; } else if ( num == "백" ) { return "백"; } else if ( num == "천" ) { return "천"; } else if ( num == "만" ) { return "만 "; } else if ( num == "억" ) { return "억 "; } else if ( num == "조" ) { return "조 "; } else if ( num == "0" ) { return ""; } else { return ""; } } /** * #숫자아닌 문자삭제 */ function uf_onlyNum(str){ var retStr = ""; if(wfcb_isEmpty(str)) return false; for(var idx=0;idx < str.length;idx++){ if((str.charAt(idx) < '0' || str.charAt(idx) > '9') && str.charAt(idx) != ','){ } else { retStr += str.charAt(idx) + ""; } } return retStr; } // onreset 이벤트 설정상태 var changeAmt_temp_variable = true; /** * 금액변환 및 한글로 금액보여주기 */ function changeAmt(field, amount, gubun, field2) { if(field2 == null || field2 == undefined) { field2 = "sp_amt"; } amount = removeComma(amount); if(!isNum(amount)) { if(amount != "") { var obj = eval("document.form1." + field); obj.value = uf_onlyNum(obj.value); return; } } amount = trim(amount); if(amount.length <= 19) { amount = amount != "" ? parseInt(removeComma(amount)) : ""; if(amount != "" && amount != "0") { //var curr_amt = removeComma(document.all[field].value); var curr_amt = removeComma($("#"+field).val()); if(gubun == 1) { curr_amt = wfcb_putComma(Number(curr_amt)); //document.all[field2].innerHTML = "[" + NUM_TO_HAN(curr_amt, 3) + "]"; //document.all[field].value = curr_amt; // 콤마를 입력 $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); $("#"+field).val(curr_amt); } else if(gubun == 3) { curr_amt = wfcb_putComma(Number(curr_amt) * 10000); //document.all[field2].innerHTML = "[" + NUM_TO_HAN(curr_amt, 3) + "]"; $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); } else { curr_amt = wfcb_putComma(Number(curr_amt) + Number(amount)); //document.all[field].value = curr_amt; //document.all[field2].innerHTML = "[" + NUM_TO_HAN(curr_amt, 3) + "]"; $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); $("#"+field).val(curr_amt); } } else { //document.all[field].value = ""; //document.all[field2].innerHTML = ""; $("#"+field2).html(""); $("#"+field).val(""); } } if(changeAmt_temp_variable) { try { document.form1.onreset = resetSpAmt; } catch(e) {} try { document.form2.onreset = resetSpAmt; } catch(e) {} changeAmt_temp_variable = false; } } function changeAmt0(field, amount, gubun, field2) { if(field2 == null || field2 == undefined) { field2 = "sp_amt"; } amount = removeComma(amount); if(!isNum(amount)) { if(amount != "") { var obj = eval("document.form1." + field); obj.value = uf_onlyNum(obj.value); return; } } amount = trim(amount); if(amount.length <= 19) { amount = amount != "" ? parseInt(removeComma(amount)) : ""; if(amount == "0"){ $("#"+field2).html("[ 영원]"); $("#"+field).val('0'); }else if(amount != "") { //var curr_amt = removeComma(document.all[field].value); var curr_amt = removeComma($("#"+field).val()); if(gubun == 1) { curr_amt = wfcb_putComma(Number(curr_amt)); //document.all[field2].innerHTML = "[" + NUM_TO_HAN(curr_amt, 3) + "]"; //document.all[field].value = curr_amt; // 콤마를 입력 $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); $("#"+field).val(curr_amt); } else if(gubun == 3) { curr_amt = wfcb_putComma(Number(curr_amt) * 10000); //document.all[field2].innerHTML = "[" + NUM_TO_HAN(curr_amt, 3) + "]"; $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); } else { curr_amt = wfcb_putComma(Number(curr_amt) + Number(amount)); //document.all[field].value = curr_amt; //document.all[field2].innerHTML = "[" + NUM_TO_HAN(curr_amt, 3) + "]"; $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); $("#"+field).val(curr_amt); } } else { //document.all[field].value = ""; //document.all[field2].innerHTML = ""; $("#"+field2).html(""); $("#"+field).val(""); } } if(changeAmt_temp_variable) { try { document.form1.onreset = resetSpAmt; } catch(e) {} try { document.form2.onreset = resetSpAmt; } catch(e) {} changeAmt_temp_variable = false; } } function changeAmtE2E(field, amount, gubun, field2) { if(field2 == null || field2 == undefined) { field2 = "sp_amt"; } amount = removeComma(amount); if(!isNum(amount)) { if(amount != "") { var obj = eval("document.form1." + field); obj.value = uf_onlyNum(obj.value); return; } } amount = trim(amount); if(amount.length <= 19) { amount = amount != "" ? parseInt(removeComma(amount)) : ""; if(amount != "" && amount != "0") { var curr_amt = removeComma($("#"+field).val()); if(gubun == 1) { curr_amt = wfcb_putComma(Number(curr_amt)); $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); clearAllE2EByNm(field); $("#"+field).val(curr_amt); } else if(gubun == 3) { curr_amt = wfcb_putComma(Number(curr_amt) * 10000); $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); } else { curr_amt = wfcb_putComma(Number(curr_amt) + Number(amount)); clearAllE2EByNm(field); $("#"+field2).html("[" + NUM_TO_HAN(curr_amt, 3) + "]"); $("#"+field).val(curr_amt); } } else { clearAllE2EByNm(field); $("#"+field2).html(""); $("#"+field).val(""); } } if(changeAmt_temp_variable) { try { document.form1.onreset = resetSpAmt; } catch(e) {} try { document.form2.onreset = resetSpAmt; } catch(e) {} changeAmt_temp_variable = false; } } function resetSpAmt() { try { document.all["sp_amt"].innerHTML = ""; } catch(e) {} } /** * #주민등록번호 체크. */ function isValidJuminNo(userSid1,userSid2){ var ju = userSid1.value; var ju1 = userSid2.value; juid = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0); if(!isNumber(userSid1) || !isNumber(userSid2)){ return false; } if(getByteLength(userSid1)!=6 || getByteLength(userSid2)!=7){ return false; } for(var i = 0; i<6;i++) juid[i] = ju.substring(i,i+1); for(i=0;i<7;i++) juid[i+6] = ju1.substring(i,i+1); for(var sum = 0, i = 0;i<12;i++) sum += juid[i] * ((i >7) ? (i-6) : (i+2)); var mod = 11 - sum%11; if(mod >= 10) mod -= 10; if(mod != juid[12]) return false; else return true; } /** * 두 날짜의 날수를 계산해 준다. * * param * from day(YYYYMMDD) * to day(YYYYMMDD) * return * from day와 to day의 차이를 리턴한다. * author * freedae */ function numberOfDays(fromDay, toDay){ var fromD = new Date(fromDay.substring(0,4),fromDay.substring(4,6)-1,fromDay.substring(6,8)); var toD = new Date(toDay.substring(0,4),toDay.substring(4,6)-1,toDay.substring(6,8)); var totD = toD.getTime() - fromD.getTime(); totD = totD / 1000 / 60 / 60 / 24+1; return totD; } /**************************************************************** Xecure Ajax 함수 추가 시작 ****************************************************************/ var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } /* to-be sendAjax로 대체 by hks@ function sendAjax(url, param, callBack, xmlHttpObj) { //url = XecureAjaxGet(url); //param = XecureAjaxPost(param); createXMLHttpRequest(); xmlHttp.onreadystatechange = callBack; xmlHttp.open("POST", url, true); xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); xmlHttp.send(param); } */ /**************************************************************** Xecure Ajax 함수 추가 끝 ****************************************************************/ document.write(''); // 로그아웃 function uf_logout(gubun) { if(gubun == 'timeout'){ try{ if(opener != null && opener != undefined) { try{ self.close(); }catch(e){} } var url = location.href+''; if(url.indexOf('baromsg') > -1){ hideIfr(); var src = "/uib/jsp/common/timeout.jsp"; // 메신저뱅킹 if(url.indexOf('baromsg') > -1){ src = "/uib/baromsg/common/msgr_timeout.jsp"; } //document.body.style.overflow='hidden' //var common_flash_txt = ''; var obj = document.getElementById("div_logout"); obj.innerHTML = common_flash_txt; //obj.style.width = document.body.clientWidth; //obj.style.height = document.body.clientHeight; obj.style.left = (document.body.clientWidth-550)/2+"px"; obj.style.top = (document.body.offsetHeight/2) + (document.documentElement.scrollTop-(277/2)) + "px"; //obj.style.left = 0; //obj.style.top = document.body.scrollTop; obj.style.visibility = "visible"; }else{ var src = "/uib/jsp/common/timeout.jsp"; if(url.indexOf('baromsg') > -1){ src = "/uib/baromsg/common/msgr_timeout.jsp"; } layerPopup.openLayer(src, 'timeout', '', null, null , [570, 0], null); uf_init_timeout(); } }catch(e){} /* if(opener != null && opener != undefined) { self.close(); } else { try{ var isIfrm = false; if(parent && parent.location.href+'' != location.href+''){ var ifrms = parent.document.all.tags('IFRAME') if(ifrms.length > 0) isIfrm = true; } if(!isIfrm){ var url = location.href+''; if(url.indexOf('baromsg') > -1){ hideIfr(); var src = "/uib/jsp/common/timeout.jsp"; // 메신저뱅킹 if(url.indexOf('baromsg') > -1){ src = "/uib/baromsg/common/msgr_timeout.jsp"; } //document.body.style.overflow='hidden' //var common_flash_txt = ''; var obj = document.getElementById("div_logout"); obj.innerHTML = common_flash_txt; //obj.style.width = document.body.clientWidth; //obj.style.height = document.body.clientHeight; obj.style.left = (document.body.clientWidth-550)/2+"px"; obj.style.top = (document.body.offsetHeight/2) + (document.documentElement.scrollTop-(277/2)) + "px"; //obj.style.left = 0; //obj.style.top = document.body.scrollTop; obj.style.visibility = "visible"; }else{ var src = "/uib/jsp/common/timeout.jsp"; if(url.indexOf('baromsg') > -1){ src = "/uib/baromsg/common/msgr_timeout.jsp"; } layerPopup.openLayer(src, 'timeout', '', null, null , [570, 250], null); uf_init_timeout(); } } }catch(e){} } */ }else{ // 사이트를 이동할경우 try{ if ("KO" == calendarLocale){ uf_menuLink('/uib/jsp/login/login_out.jsp'); }else{ uf_menuLink('/uib/jsp/login/login_out.jsp?LOCALE_CODE=EN'); } }catch(e){} } } document.write(''); // 로그아웃 function uf_timelimit(gubun) { var gubun = gubun if(opener != null && opener != undefined) { self.close(); } else { try{ var isIfrm = false; if(parent && parent.location.href+'' != location.href+''){ var ifrms = parent.document.all.tags('IFRAME') if(ifrms.length > 0) isIfrm = true; } if(!isIfrm){ //hideIfr(); var src = "/uib/jsp/common/timelimit_logout.jsp?gubun="+gubun; layerPopup.openLayer(src, 'timelimit_logout', '', null, null , [550, 320], uf_timelimit_callback); //open_ajax(src,null,uf_timelimit_callback,true,null,null,550,320); /* document.body.style.overflow='hidden' var common_flash_txt = ''; var obj = document.getElementById("div_timelimit"); obj.innerHTML = common_flash_txt; obj.style.left = (document.body.clientWidth-550)/2+"px"; obj.style.top = "200px"; obj.style.visibility = "visible"; */ } }catch(e){} } } function uf_timelimit_callback(){ uf_init_timelimit_logout(); } function uf_timelimit_timeout(){ // 로그아웃 페이지로 이동 XecureNavigate('/uib/jsp/common/timeout_logout.jsp', '_self'); //XecureNavigate('/uib/jsp/common/comm_info_full.jsp?info_code=W98031&flag=1', '_self'); } /* * 팝업 아이프레임에 포스트 서브밋 */ function uf_ifr_submit(frm, url, width, height, target, xpos, ypos) { //375,360 var common_flash_txt = ""; var obj = document.getElementById("proDiv"); obj.style.width=0; obj.style.height=0; if(obj.style.display == "block") { obj.style.display = "none"; obj.style.visibility = "hidden"; obj.innerHTML = ""; return; } if(obj.style.visibility == "visible") { obj.style.visibility = "hidden"; obj.style.display = "none"; obj.innerHTML = ""; return; } if(obj != null && obj != undefined) { obj.innerHTML = common_flash_txt; var ifrm = obj.getElementsByTagName('iframe')[0]; ifrm.height = 0; //layer_open("proDiv","",xpos,ypos); } if(target != null && target != "") { frm.target = target; } else { frm.target = "proIfr"; } try {createHiddenField(frm, 'hiddenFrame_submit', 'Y');} catch (e) {} try {createHiddenField(frm, 'HTML_TOKEN_EXCEPT_URL', 'target_HiddenFrame');} catch (e) {} preLoadingLayer('SUBMIT'); frm.action = url; setSubmitBefore(); xSubmit(frm); obj.style.visibility = "visible"; obj.style.display = "block"; layer_opened=obj; _HiddenIfrmObj = obj; //_isIfrmView = "true"; //_isLayerLoad = "true"; } function uf_ifr_submit2(frm, url, width, height, target, xpos, ypos) { //375,360 var common_flash_txt = ""; var obj = document.getElementById("proDiv"); obj.style.width=0; obj.style.height=0; if(obj.style.display == "block") { obj.style.display = "none"; obj.style.visibility = "hidden"; obj.innerHTML = ""; return; } if(obj.style.visibility == "visible") { obj.style.visibility = "hidden"; obj.style.display = "none"; obj.innerHTML = ""; return; } if(obj != null && obj != undefined) { obj.innerHTML = common_flash_txt; var ifrm = obj.getElementsByTagName('iframe')[0]; ifrm.height = 0; //layer_open("proDiv","",xpos,ypos); } if(target != null && target != "") { frm.target = target; } else { frm.target = "proIfr"; } try {createHiddenField(frm, 'hiddenFrame_submit', 'Y');} catch (e) {} try {createHiddenField(frm, 'HTML_TOKEN_EXCEPT_URL', 'target_HiddenFrame');} catch (e) {} preLoadingLayer('SUBMIT'); frm.action = url; xSubmit(frm); obj.style.visibility = "visible"; obj.style.display = "block"; layer_opened=obj; _HiddenIfrmObj = obj; //_isIfrmView = "true"; //_isLayerLoad = "true"; } /** * 조회입력건수 선택했을 때 */ function setCount(cnt) { document.form1.host_otpt_dmcn.value = cnt; //document.form1.H_SRVR_OTPT_RQST_NBI.value = cnt; // 최근10건 버튼으로 조회시 구분값 get2post(document.form1, '_isPagingSet=N'); } /** * 조회기간 선택했을 때 날짜 세팅 */ function setDay(k, gubun, stYYYY, stMM, stDD, endYYYY, endMM, endDD, sdate, edate, frm) { var today = new Date(); var t = toDayString(today); var thisY = today.getYear(); var thisM = today.getMonth()+1; var thisD = today.getDate()+1; if(thisD < 10) thisD = "0" + thisD; if(k < 31){ t = shiftDay(t, 'D', -k); }else{ if(k==30 || k=='1M') { // 1개월전 t = shiftDay(t, "M", -1); } if(k==60 || k=='2M') { // 2개월전 t = shiftDay(t, "M", -2); } if(k==90 || k=='3M') { // 3개월전 t = shiftDay(t, "M", -3); } if(k==180 || k=='6M') { // 6개월전 t = shiftDay(t, "M", -6); } if(k==365 || k=='1Y') { // 1년 t = shiftDay(t, "Y", -1); } if(k==730 || k=='2Y') { // 2년 t = shiftDay(t, "Y", -2); } if(k=='3Y') { // 3년 t = shiftDay(t, "Y", -3); } if(k=='4Y') { // 4년 t = shiftDay(t, "Y", -4); } if(k=='5Y') { // 5년 t = shiftDay(t, "Y", -5); } if(k=='10Y') { // 10년 t = shiftDay(t, "Y", -10); } t = shiftDay(t, 'D', 1); if(k=='6M_2'){ // 거래내역조회 6개월표시(-5개월의 1일) t = "20231101"; } } if(stYYYY == null || stYYYY == undefined) stYYYY = "inqy_sttg_ymd_yy"; if(stMM == null || stMM == undefined) stMM = "inqy_sttg_ymd_mm"; if(stDD == null || stDD == undefined) stDD = "inqy_sttg_ymd_dd"; if(endYYYY == null || endYYYY == undefined) endYYYY = "inqy_eymd_yy"; if(endMM == null || endMM == undefined) endMM = "inqy_eymd_mm"; if(endDD == null || endDD == undefined) endDD = "inqy_eymd_dd"; if(sdate == null || sdate == undefined) sdate = "inqy_sttg_ymd"; if(edate == null || edate == undefined) edate = "inqy_eymd"; if(frm == undefined || frm == null || frm == "") frm = document.form1; eval("frm." + stYYYY).value = t.substring(0, 4); if(eval("frm." + stYYYY).onchange != null) eval("frm." + stYYYY).onchange(); eval("frm." + stMM).value = t.substring(4, 6); if(eval("frm." + stMM).onchange != null) eval("frm." + stMM).onchange(); eval("frm." + stDD).value = t.substring(6, 8); if(eval("frm." + stDD).onchange != null) eval("frm." + stDD).onchange(); eval("frm." + sdate).value = eval("frm." + stYYYY).value + eval("frm." + stMM).value + eval("frm." + stDD).value; // 조회종료일 초기화 eval("frm." + endYYYY).value = getYear(); if(eval("frm." + endYYYY).onchange != null) eval("frm." + endYYYY).onchange(); eval("frm." + endMM).value = getMonth(); if(eval("frm." + endMM).onchange != null) eval("frm." + endMM).onchange(); eval("frm." + endDD).value = getDay(); if(eval("frm." + endDD).onchange != null) eval("frm." + endDD).onchange(); eval("frm." + edate).value = eval("frm." + endYYYY).value + eval("frm." + endMM).value + eval("frm." + endDD).value; if(gubun == undefined || gubun == "D" || gubun == "") { uf_submit('M'); } } //////////////////////////////////////////////////////////// // 날짜 관련 /////////////////////////////////////////////////////////// /** * Time 스트링을 자바스크립트 Date 객체로 변환 * parameter time: Time 형식의 String */ function toTimeObject(time) { //parseTime(time) var year = time.substr(0,4); var month = time.substr(4,2) - 1; // 1월=0,12월=11 var day = time.substr(6,2); var hour = time.substr(8,2); var min = time.substr(10,2); return new Date(year,month,day,hour,min); } /** * 자바스크립트 Date 객체를 Day 스트링으로 변환 * parameter date: JavaScript Date Object */ function toDayString(date) { //formatTime(date) var year = date.getFullYear(); var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함 var day = date.getDate(); if (("" + month).length == 1) { month = "0" + month; } if (("" + day).length == 1) { day = "0" + day; } return ("" + year + month + day) } /** * 자바스크립트 Date 객체를 Time 스트링으로 변환 * parameter date: JavaScript Date Object */ function toTimeString(date) { //formatTime(date) var year = date.getFullYear(); var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함 var day = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); if (("" + month).length == 1) { month = "0" + month; } if (("" + day).length == 1) { day = "0" + day; } if (("" + hour).length == 1) { hour = "0" + hour; } if (("" + min).length == 1) { min = "0" + min; } return ("" + year + month + day + hour + min) } /** * 주어진 Date 와 y년 m월 d일 차이나는 Date을 리턴 * ex) var time = form.time.value; //'20000101000' * alert(shiftTime(time,0,0,-100,0)); * => 2000/01/01 00:00 으로부터 100일 전 Time */ function shiftDay(time,timegb, betDay) { //moveTime(time,y,m,d,h) var date = toTimeObject(time); var year = 0; var mon = 0; var day = 0; switch(timegb){ case "Y" : year = betDay; break; case "M" : mon = betDay; break; case "D" : day = betDay; break; } date.setFullYear(date.getFullYear() + year); //y년을 더함 date.setMonth(date.getMonth() + mon); //m월을 더함 date.setDate(date.getDate() + day); //d일을 더함 return toDayString(date); } /** * 주어진 Time 과 y년 m월 d일 h시 차이나는 Time을 리턴 * ex) var time = form.time.value; //'20000101000' * alert(shiftTime(time,0,0,-100,0)); * => 2000/01/01 00:00 으로부터 100일 전 Time */ function shiftTime(time,y,m,d,h) { //moveTime(time,y,m,d,h) var date = toTimeObject(time); date.setFullYear(date.getFullYear() + y); //y년을 더함 date.setMonth(date.getMonth() + m); //m월을 더함 date.setDate(date.getDate() + d); //d일을 더함 date.setHours(date.getHours() + h); //h시를 더함 return toTimeString(date); } /** * 두 Time이 몇 개월 차이나는지 구함 * time1이 time2보다 크면(미래면) minus(-) */ function getMonthInterval(time1,time2) { //measureMonthInterval(time1,time2) var date1 = toTimeObject(time1); var date2 = toTimeObject(time2); var years = date2.getFullYear() - date1.getFullYear(); var months = date2.getMonth() - date1.getMonth(); var days = date2.getDate() - date1.getDate(); return (years * 12 + months + (days >= 0 ? 0 : -1) ); } /** * 현재일과 며칠 차이나는지 구함 * 미래면 minus(-) */ function getToDayInterval(time) { var date1 = toTimeObject(time); var date2 = new Date(); var day = 1000 * 3600 * 24; //24시간 return parseInt((date2 - date1) / day, 10); } /** * 두 Time이 며칠 차이나는지 구함 * time1이 time2보다 크면(미래면) minus(-) */ function getDayInterval(time1,time2) { var date1 = toTimeObject(time1); var date2 = toTimeObject(time2); var day = 1000 * 3600 * 24; //24시간 return parseInt((date2 - date1) / day, 10); } /** * 두 Time이 몇 시간 차이나는지 구함 * time1이 time2보다 크면(미래면) minus(-) */ function getHourInterval(time1,time2) { var date1 = toTimeObject(time1); var date2 = toTimeObject(time2); var hour = 1000 * 3600; //1시간 return parseInt((date2 - date1) / hour, 10); } // 회차 조회 function uf_pop_slayer(url, key, frm, btn) { hideIfr(); var obj = document.getElementById("proDiv"); var ifr=obj.getElementsByTagName('iframe')[0]; // 다시 버튼 클릭했을 때 레이어 hidden if(ifr && obj.style.display != "none") { obj.style.display = "none"; return; } var xpos = $(btn).offset().left; var ypos = $(btn).offset().top+20; //var h_url = "/uib/jsp/online/ntr/ntr25/ntr2520/PNTR252000_u.jsp?acno="+eval('document.' + frm + '.' + key).value; var h_url = url; open_ajax(h_url, '', function(){}, true, btn); } function uf_retrAmt_slayer(key, frm, btn) { hideIfr(); var obj = document.getElementById("proDiv"); var ifr=obj.getElementsByTagName('iframe')[0]; // 다시 버튼 클릭했을 때 레이어 hidden if(ifr && obj.style.display != "none") { obj.style.display = "none"; return; } var xpos = $(btn).offset().left; var ypos = $(btn).offset().top+20; var h_url = "/uib/jsp/online/ntr/ntr25/ntr2520/PNTR252000_u.jsp?acno="+eval('document.' + frm + '.' + key).value; alert(h_url); open_ifr(h_url, 250, 114, '', xpos, ypos); } // 잔액조회 function uf_retrAmt(key, frm, btn, type, _btnId) { // hideIfr(); if( frm == null || frm == undefined) { frm = "form1"; } // var xpos = $(btn).offset().left; // var ypos = $(btn).offset().top+20; var h_url = "/uib/jsp/common/comm_drotablinqy.jsp?drot_acno="+eval('document.' + frm + '.' + key).value; if( type == "1" ) { h_url = "/uib/jsp/common/comm_drotablinqy_1.jsp?drot_acno="+eval('document.' + frm + '.' + key).value; //open_ifr(h_url, 250, 114, '', xpos, ypos); open_ajax(h_url,null,function(){},true,btn, _btnId); } else if( type == "2" ){ h_url = "/uib/jsp/common/comm_drotablinqy_2.jsp?drot_acno="+eval('document.' + frm + '.' + key).value; //open_ifr(h_url, 401, 215); open_ajax(h_url,null,function(){},true,btn, _btnId); } else { //open_ifr(h_url, 250, 114, '', xpos, ypos); open_ajax(h_url,null,function(){},true,btn, _btnId); } } // 잔액조회 callback : 함수명은 디폴트로 uf_callBack을 사용한다. function uf_callBack() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var responseXML = xmlHttp.responseXML; document.all.poss_pay_amt.innerHTML = "   " + responseXML.getElementsByTagName("result").item(0).firstChild.nodeValue + "원"; } else{ uf_alert("에러가 발생하였습니다. 잠시후 다시 시도해주세요."); } } } function uf_dummyXgrid() { } function uf_gridError() { open_ifr("/uib/jsp/common/layer_grid_msg.jsp", 470, 300); window.onload = uf_dummyXgrid; } // xgrid 태그 write function uf_gridWrite(obj_name, width, height) { if(obj_name == null || obj_name == undefined) { obj_name = "XGridObj"; } if(width == null || width == undefined) { width = "100%"; } if(height == null || height == undefined) { height = "275"; } //return ''; return ''; //return ''; } function uf_webPrintError() { //open_ifr("/uib/jsp/common/layer_webprint_msg.jsp", 430, 200); uf_newWin("/uib/jsp/common/webprint_install_msg.jsp", "webPrintPop", 430, 200, "no"); window.onload = uf_dummyXgrid; } // 탑, 레프트 메뉴 링크 function uf_menuLink(url, param1, param2) { if(!param1) { param1 = '_self'; } if(!param2) { param2 = ''; } // 첫메뉴 여부값 설정. 넵소아 메뉴등록여부 체크위해. 운영시 삭제해야함. if(url.indexOf('?') > -1) url = url + '&chkMenuId=Y'; else url = url + '?chkMenuId=Y'; //preLoadingLayer('SUBMIT'); // 서브밋 전처리 uib_open(url, param1, param2); } function uf_tname(){ return title_name; } // 레프트 메뉴 하이라이팅 function uf_left_init(submenu, document, page_url_path, page_url_path_index) { var depth_seq1 = 1; var depth_seq2 = 1; var sch_flag = true; //alert(page_url_path); submenu.obj = document.getElementById('submenu'); if(!submenu.obj) { return; } var left_menu_check,left_menu_childs=submenu.obj.childNodes; // 현재 메뉴 포커싱 주기 for(var i=0,max=left_menu_childs.length; sch_flag && i < max; i++){ if(left_menu_childs[i].nodeType == 1){ left_menu_check = left_menu_childs[i].getElementsByTagName('ul')[0]; if(left_menu_check) { // 4depth xobj = left_menu_check.getElementsByTagName('a'); for(var j=0; sch_flag && j < xobj.length; j++) { var this_url = page_url_path.substring(page_url_path.lastIndexOf("/") + 1, page_url_path_index); if((xobj.item(j).href).indexOf('#') == -1 && ((xobj.item(j).href).indexOf(this_url) != -1 || (xobj.item(j).append_url != null && (xobj.item(j).append_url).indexOf(this_url) != -1))) { depth_seq1 = i+1; depth_seq2 = j+1; sch_flag = false; break; } } } else { // 3depth xobj=left_menu_childs[i].getElementsByTagName('a'); var this_url = page_url_path.substring(page_url_path.lastIndexOf("/") + 1, page_url_path_index); if((xobj.item(0).href).indexOf('#') == -1 && (xobj.item(0).href).indexOf(this_url) != -1 || (xobj.item(0).append_url != null && (xobj.item(0).append_url).indexOf(this_url) != -1)) { depth_seq1 = i+1; depth_seq2 = 1; break; } } } } submenu.initialize(depth_seq1, depth_seq2); } /** * 보안카드 입력화면에서 실행버튼 공통 입력폼안으로 집어 넣기 */ function uf_insBtnDef(document) { if(document.all.secretcard != undefined || document.all.otpcard != undefined) { if(document.all.btn_def != undefined && document.all.btn_def3 != undefined) { document.all.btn_def3.innerHTML = document.all.btn_def.innerHTML; var t = document.getElementById('btn_def'); t.parentNode.removeChild(t); document.all.btn_def3.id = "btn_def"; } } } /** * 즐겨찾기 메뉴정보 저장 */ function uf_insFavorMenu(menu_id) { var param = "menu_id=" + menu_id; // 화면아이디 sendAjax("/uib/jsp/common/insert_favor_menu.jsp", param, uf_callFavor); } /** * 즐겨찾기 메뉴저장 callBack 함수 */ function uf_callFavor() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var responseXML = xmlHttp.responseXML; var result = responseXML.getElementsByTagName("result").item(0).firstChild.nodeValue; if(result == "exist") { if(confirm("마이메뉴가 이미 등록 되어있습니다.\n\n등록내용을 확인 하시겠습니까?")) { XecureNavigate(location.href + ((location.href + "").indexOf("?") != -1 ? "&" : "?") + "is_favor=true", "_self", ""); } } else if(result == "over") { if(confirm("마이메뉴는 10개 메뉴까지 등록이 가능합니다.\n\n등록내용을 확인 하시겠습니까?")) { XecureNavigate(location.href + ((location.href + "").indexOf("?") != -1 ? "&" : "?") + "is_favor=true", "_self", ""); } } else if(result == "false") { uf_alert("마이메뉴 등록에 실패하였습니다. 잠시후 다시 시도해주세요
status : " + xmlHttp.status + "\nstatusText : " + xmlHttp.statusText); } else { if(confirm("마이메뉴로 등록 되었습니다.\n\n등록내용을 확인 하시겠습니까?")) { XecureNavigate(location.href + ((location.href + "").indexOf("?") != -1 ? "&" : "?") + "is_favor=true", "_self", ""); }else{ XecureNavigate(location.href, "_self", ""); } } } else{ uf_alert("에러가 발생하였습니다. 잠시후 다시 시도해주세요
status : " + xmlHttp.status + "\nstatusText : " + xmlHttp.statusText); } } } // listbox에서 계좌 선택시 호출! MMF 계좌일 경우 영업시간 아니면 메세지 출력 function select_acnt(frm, field, flag2) { if(frm == null && frm == undefined) { frm = document.form1; } if(field == null || field == undefined) { field = "drot_acno"; } if(!frm) { return; } var obj = eval("frm." + field); if(obj) { var acnt = obj.options[obj.selectedIndex].value; var tmp_acnt = acnt.substring(9,11); if( tmp_acnt == '96'){ if(flag2 == 1) { uf_alert("MMF출금은 은행 영업일 오전9시00분부터 오후5시까지만
가능합니다. 출금계좌를 변경해주세요."); return false; } else if(flag2 == 2) { uf_alert("공휴일 및 토요일에는 MMF출금이 불가능 합니다.
출금계좌를 변경해주세요."); return false; } } } } /* * 메인화면 빠른서비스 신청 함수 */ function reqQuickSvc(){ //EndSession(); // 개인 if('null' == 'null' || 'null' == 'pi'){ //XecureNavigate('/uib/jsp/login/pi_login_proc.jsp?return_url=/uib/jsp/online/imn/imn15/imn1525/CIMN152500_p.jsp','mainframe'); XecureLogInCert4Popup('/uib/jsp/online/imn/imn15/imn1525/CIMN152500_p.jsp', '_CHECK_TYPE_LOGIN_'); }else{ // USB키 꽂혀있으면 USB키 only. if(USBTokenSerial() == null || USBTokenSerial() == '') setCertLocation(3); else setCertLocation(1); //XecureNavigate('/uib/jsp/login/ei_login_proc.jsp?return_url=/uib/jsp/online/imn/imn15/imn1525/CIMN152500_p.jsp&serial_no='+USBTokenSerial(),'mainframe'); XecureNavigate('/uib/jsp/login/ei_login_proc.jsp?return_url=/uib/jsp/online/imn/imn15/imn1525/CIMN152500_p.jsp&serial_no='+USBTokenSerial()+'&ipinsideData='+SetPluginData()+'&ipinsideNAT='+GetPluginNATData(),'mainframe'); } self.close(); } /** * 외환전자무역 오픈 팝업 박상득추가(2008-11-28) */ function uf_topOpenPopEDI(url) { var width, height, param; var data = url.split("?"); var url = data[0]; if(data[1] && data[1].indexOf("&") != -1) { data = data[1].split("&"); if(data[0]) { width = data[0].split("=")[1]; } if(data[1]) { height = data[1].split("=")[1]; } if(data[2]) { url += "?" + data[2]; } } var nLeft = screen.width/2 - width/2 ; var nTop = screen.height/2 - height/2 ; opt = ",toolbar=no,menubar=no,location=no,scrollbars=yes,status=no"; window.open(url, 'newWin', "left=" + nLeft + ",top=" + nTop + ",width=" + width + ",height=" + height + opt ); } /** * RealGrid 데이터 있는지 체크 박상득(2008-12-04) */ function isDataExist(grid) { var displayColumnCount = RgUtil.getDisplayColumnCount(grid); var displayColumns = RgUtil.getDisplayColumns(grid); var fields = new Array(); $.each(displayColumns, function(index, value) { var fieldIndex = RgUtil.getFieldIndex(grid, value); var field = RgUtil.getField(grid, fieldIndex); fields.push(field); }); var nRowCount = RgUtil.getGridRowCount(grid); for( var i = 0; i < nRowCount; i++ ) { var data = null; for( var j = 0; j < displayColumnCount; j++ ) { if( fields[j].dataType == "text" || fields[j].dataType == "number" ) { data = RgUtil.getValue(grid, i, displayColumns[j]); if( !is_Null(data) && data != "0" ) { return true; } } } } return false; } /** * 출금가능금액 조회전 이중거래 막기 풀기 */ function setBtnDisplayNone(btnName,gubun){ // 출금가능금액 알아보기 화면에서 삭제 if(btnName == null && btnName == undefined) { btnName = btnRetrAmt; } $("#"+btnName).hide(); // 서브밋전 선행처리 setSubmitBefore(gubun); } function setBtnDisplayView(btnName){ // 출금가능금액 알아보기 화면에서 삭제 if(btnName == null && btnName == undefined) { btnName = btnRetrAmt; } $("#"+btnName).show(); reset_submit(); // 레이어 초기화 } /* * 에러페이지 이동 공통함수 - bottom에서 호출 */ function uf_submitErrorPage(frm, errCode){ var alertMsg = ""; //보정일경우 보정화면으로... if(errCode == "824602"){ alertMsg = "OTP 입력시간을 초과하였습니다.\n"; alertMsg += "만약 재거래 이후에도 동일한 오류메시지가 표시되는 경우 \n"; alertMsg += "OTP 시간재설정이 필요합니다.\n"; alertMsg += "확인을 누르시면 [OTP조회/재설정] 화면으로 이동합니다."; alert(alertMsg); /* if(parent.document.all['XGridObj'] != undefined || parent.document.all['XGridHiddenFrame'] != undefined ) uf_menuLink('/uib/jsp/online/imn/imn10/imn1045/CIMN104500_p.jsp', '_parent'); else uf_menuLink('/uib/jsp/online/imn/imn10/imn1045/CIMN104500_p.jsp', '_self'); */ }else if(errCode == "824351"){ alertMsg = "고객님께서 소지하고 계신 OTP는 타기관 자동등록대상 OTP 입니다.\n\n"; alertMsg += "확인을 누르시면 [OTP 자동타기관 등록] 화면으로 이동합니다."; alert(alertMsg); } //XecureSubmit(frm); uib_Submit(frm); frm.reset(); } //1DEPTH LINK function uf_topMenuLink(url) { var now_url = location.href+''; var loginState = 'N'; if(now_url.indexOf("guest") > -1) { // NOT LOGIN EndSession(); // Xecure 세션 타임아웃 시켜준다. if(loginState == 'Y'){ alert('처리중입니다. 잠시만 기다려주십시오.'); return; } loginState = 'Y'; var locate = location.href+''; if(locate.indexOf('p_main') > -1 || 'null' == 'pi') { // 개인메인, 개인공인인증센터일때 //if(!XecureNavigate('/uib/jsp/login/pi_login_proc.jsp?return_url=' + url,'_self','')) if(!XecureNavigate_id('/uib/jsp/guest/main/p_certi_one_login.jsp?return_url=' + url,'_self','')) loginState = 'N'; }else { // 기업 // USB키 꽂혀있으면 USB키 only. if(USBTokenSerial() == null || USBTokenSerial() == '') setCertLocation(3); else setCertLocation(1); //if(!XecureNavigate('/uib/jsp/login/ei_login_proc.jsp?return_url=' + url + '&serial_no='+USBTokenSerial(),'_self','')) if(!XecureNavigate('/uib/jsp/login/ei_login_proc.jsp?return_url=' + url + '&serial_no='+USBTokenSerial()+'&ipinsideData='+SetPluginData()+'&ipinsideNAT='+GetPluginNATData(),'_self','')) loginState = 'N'; } } else { /* if(top != undefined && top.ebppframe != undefined) top.ebppframe.location = "about.blank"; */ // 첫메뉴 여부값 설정. 넵소아 메뉴등록여부 체크위해. 운영시 삭제해야함. /* if(url.indexOf('?') > -1) url = url + '&chkMenuId=Y'; else url = url + '?chkMenuId=Y'; */ if(url != ''){ uf_menuLink(url, '_self', ''); } } } /* * 퇴직연금 새창 함수 */ function uf_topOpenBlank_ps(url) { window.open(url, "_blank" ,"toolbar=yes,menubar=yes,location=no,scrollbars=yes,resizable=yes,height=1000,width=1000" ,""); } /* * 탑메뉴 새창 함수 */ function uf_topOpenBlank(url){ // window.open(url, "_blank"); window.open(url, "_blank" ,"toolbar=no,menubar=no,scrollbars=yes,resizable=yes" ,""); } /* * 탑메뉴 새탭 함수 */ function uf_topOpenTab(url){ window.open(url, ""); } /* * 탑메뉴 새창 함수 */ function uf_linkEbpp(url){ if('null' == 'null'){ EndSession(); XecureNavigate(url, "_blank"); }else{ // EBPP AS-IS 연결시 세션유지를 위해 reload.jsp 를 호출한다. if(top != undefined && top.ebppframe != undefined) top.ebppframe.location = "/uib/jsp/common/reload.jsp"; XecureNavigate(url, "_blank"); } } /* * 스쿨뱅킹 탑메뉴 새창 함수 */ function uf_linkSch(url){ if('null' == 'null'){ }else{ // EBPP AS-IS 연결시 세션유지를 위해 reload.jsp 를 호출한다. if(top != undefined && top.ebppframe != undefined) top.ebppframe.location = "/uib/jsp/common/reload.jsp"; XecureNavigate(url, "_blank"); } } // 메인화면으로 이동 function uf_goMain(){ var mainLink; if('R' == 'T'){ if('' == 'ei' || '' == '2'){ if(calendarLocale == 'EN') { mainLink = "/uib/jsp/guest/main/EN/e_main.jsp?LOCALE_CODE=EN"; } else { mainLink = "/uib/jsp/guest/main/e_main.jsp?LOCALE_CODE=KO"; } }else{ if(calendarLocale == 'EN') { mainLink = "/uib/jsp/guest/main/EN/p_main.jsp?LOCALE_CODE=EN"; } else { mainLink = "/uib/jsp/guest/main/p_main.jsp?LOCALE_CODE=KO"; } } }else{ if(calendarLocale == 'EN') mainLink = "/uib/jsp/guest/main/EN/p_main.jsp?LOCALE_CODE=EN"; else mainLink = "/uib/jsp/guest/main/p_main.jsp?LOCALE_CODE=KO"; } if(opener){ opener.location.href = mainLink; self.close(); }else{ //top.location.href = mainLink; uf_menuLink(mainLink); } } // 홈페이지로 이동 function uf_goHomepage(url){ if(top.logoutframe != undefined){ top.logoutframe.isLogin = ''; } if(parent.logoutframe != undefined){ parent.logoutframe.isLogin = ''; } XecureNavigate('/uib/jsp/common/gate2homepage.jsp?return_url=' + url, '_self'); } /* 사용법 : uf_submit()함수의 'M'값일때, uf_snap_form_woh(frm) 을 호출. * uf_next()함수에서 uf_chk_form_woh(frm) 을 호출 * */ /* * 히든타입을 제외한 폼정보를 canonicalization처리. */ function uf_cano_form_woh(frm){ var result=''; var ec=frm.elements; for(var i=0;i