/************************************
* 공통 자바스크립트 함수정의
************************************/
// 링크 오버시 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 += "
";
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 += "
";
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 += '';
}
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 uf_confirm_btn(title, message, yesfunc, delfunc, yesBtn, noBtn){
if(typeof message == "undefined"){return false;}
if(message == ""){return false;}
layerAlert.layer_confirm(title, message, yesfunc, delfunc, yesBtn, noBtn);
}
// 알럿 메세지 창 닫기
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 = '