PageSourceSearch

https://www.credit.co.kr/cmn/js/include/zkm/rzm/common.js?v=2202608111858

js credit.co.kr collected 2026-09-26 04:27:16 UTC 92,560 bytes, 3,038 lines download raw bytes

1/*
2 * @¼³ ¸í : °øÅë ½ºÅ©¸³Æ®.
3 * @dependency : jQuery-1.8 ÀÌ»ó ¹öÀü.
4 * @===========================================================================
5 * @º¯°æÀÌ·Â:
6 * @DATE AUTHOR DESCRIPTION
7 * @---------------------------------------------------------------------------
8 * @º¯°æ ÀÌ·ÂÀº À̰÷¿¡ Ãß°¡ ÇÕ´Ï´Ù. (2014.09.22 Å×½ºÆ®)
9 */
10
11/** ÇöÀç ¸Þ¼¼Áö Ãâ·Â ¿©ºÎ.  */
12var isMessageShow = false;
13/** ÇöÀç AJAX Object. */
14var ajaxObj = null;
15/** ¼­ºê¹Ô °¡´É ¿©ºÎ(Áߺ¹°Å·¡¹æÁö). */
16var isSubmit = false;
17
18var ajaxStatus = null;
19var actionStatus = null;
20
21
22/** ºí·°Å· ¿©ºÎ. */
23var isShowBlocking = true;
24/** ·Îµù¹Ù ¿©ºÎ. */
25var isShowLoadingImg = true;
26
27/** À¯È¿¼º °Ë»ç ¿©ºÎ.. */
28var isValidation = true;
29/** ÇöÀç Æ÷Ä¿½º °´Ã¼. */
30var currFocusEle = null;
31
32/** ÇöÀç Æ÷Ä¿½º °´Ã¼. */
33var beforeFocusEle = null;
34/** ÆË¾÷ ¿ÀÇ Àü Æ÷Ä¿½º °´Ã¼. (2026-02-12 Ãß°¡) */
35var manualFocusEle = null;
36
37/** AJAX update lazy form */
38var lazyForm = null;
39/** AJAX update lazy callback */
40var lazyCallback = null;
41
42var gMoreId = "";
43
44/** °¡»ó ŰÆÐµå °´Ã¼. */
45var ExtKeyPad = null;
46
47/** E2E °´Ã¼. */
48var ExtE2E = null;
49
50/** À¯È¿¼º °Ë»ç °´Ã¼ */
51var ExtValidation = JSValidator = null;
52/** ¾Ë¸² ¸Þ¼¼Áö ÆÑÅ丮 °´Ã¼ */
53var Message = ext.MessageBoxFactory;
54
55/** ajax timeout [220ÃÊ]*/
56var CON_AJAX_TIMEOUT = 220000;
57
58var tmpform = null;
59var tmpaid = null;
60var tmpmid = null;
61var tmpcallbackSuc = null;
62var tmpcallbackErr = null;
63var tmpIsPass = true;
64
65var e2eInit = false;
66
67
68/**
69 * this page initialize.
70 *
71 * @return
72 */
73function initApp() {
74    // ÃʱâÈ­.
75    $(document).ready(function() {
76    	
77    	//¾ÛÀÌ ¾Æ´Ò°æ¿ì ÆäÀÌÁö ¶°³¯¶§ ·Îµù¹Ù È£Ãâ
78    	if (MEDIA_TYPE != 'A') {
79    		window.onbeforeunload = function() {
80    			loadingBlock(true);
81    		};
82    	}
83    	
84        // Áߺ¹ ¼­¹Ô ¹æÁö ÇØÁ¦.
85        isSubmit = false;
86
87        // ÆäÀÌÁö ºí·° ÇØÁ¦.
88        loadingBlock(false);
89
90        // Validation Create.
91        ExtValidation = JSValidator = new ext.validation();
92
93        // Calendar Create.
94        ExtCalendar = new ext.calendar();
95
96        // ¸ð¹ÙÀÏÀÌ ¾Æ´Ò °æ¿ì
97        if(MEDIA_TYPE == "P"){
98			
99        	 // E2E Ãß°¡(TouchEnKey)
100            if (SECURE_TYPE.indexOf("02") > -1){
101				//ÁöŰ¹Ì IE ÀÌ¿ëºÒ°¡
102				if(IS_IE || IS_IE11){
103					var loc = location.href;
104					if(loc.indexOf("credit.co.kr") > -1){
105						if (CURRENT_SITE_ID == "SIT00002") {
106							Message.alert("¾ÈÀüÇÑ ¼­ºñ½º ÀÌ¿ëÀ» À§ÇØ Internet Explorer(IE) Áö¿øÀÌ Á¾·áµÇ¾ú½À´Ï´Ù. Edge ¶Ç´Â Chrome ÃֽйöÀüÀ» ÀÌ¿ëÇØ ÁÖ¼¼¿ä.");
107							goMenu("BZWMAN00001");
108						}
109					}
110				}
111				
112            	// E2E ÀνºÅϽº »ý¼º
113            	ExtE2E = new ext.e2e(MEDIA_TYPE);
114                // °¡»óŰÆÐµå ÀνºÅϽº »ý¼º.
115                ExtKeyPad = new ext.keyPad(MEDIA_TYPE);
116                if (LOCAL_YN == 'N') {
117                	KOS.checkInstall(function (installInfo) {
118                		if (!installInfo.isInstalled) {
119                			if(CURRENT_SITE_ID == "SIT00002"){
120                				alert('º¸¾È ÇÁ·Î±×·¥ÀÇ ½Å±Ô ¶Ç´Â ¾÷µ¥ÀÌÆ® ¼³Ä¡°¡ ÇÊ¿äÇÕ´Ï´Ù.\n¼³Ä¡ ÆäÀÌÁö·Î À̵¿ÇÕ´Ï´Ù.');
121                				goInstallMenu("BZWCGMRPP10","KOS");
122                			}
123                		} else {
124                			if(true){ //if(SERVICE_MODE == 'PRODUCT'){
125                				var loc = location.href;
126                				if(loc.indexOf("credit.co.kr") > -1){
127                					if (CURRENT_SITE_ID == "SIT00002") {
128            							if ((BASE_MENU_ID == "BZWSGMMLO10" || BASE_MENU_ID == "BZWSGMMLO90" ||  LOGIN_YN == "Y" ||  SECURE_TYPE.indexOf("03") > -1)) {
129            								checkInstallASTX2();
130            							}
131                					}
132                				}
133                			}//SERVICE_MODE end
134                		}
135                	});
136                }
137            } else {
138            	if(LOCAL_YN == 'N'){ //if(SERVICE_MODE == 'PRODUCT'){
139					var loc = location.href;
140					if(loc.indexOf("credit.co.kr") > -1){
141						if((BASE_MENU_ID == "BZWSGMMLO10" || BASE_MENU_ID == "BZWSGMMLO90" || LOGIN_YN == "Y" ||  SECURE_TYPE.indexOf("03") > -1)){
142							checkInstallASTX2();
143						}
144					}
145				}//SERVICE_MODE end
146			}
147       } else {
148    	   if (SECURE_TYPE.indexOf("02") > -1){
149               // °¡»óŰÆÐµå ÀνºÅϽº »ý¼º.
150               ExtKeyPad = new ext.keyPad(MEDIA_TYPE);
151           }
152
153    	   // ¸ð¹ÙÀÏ »çÆÄ¸®¿¡¼­ ¹é¹öư ºñÁ¤»ó µ¿ÀÛ
154    	   $(window).bind("pageshow", function(event){
155       		if(event.originalEvent.persisted){
156       			window.location.reload();
157       		}
158       	});
159       }
160
161        if(CURRENT_SITE_ID == 'SIT00007' && SERVICE_MODE != 'DEV'){
162            // ¿À¸¥ÂÊ ¸¶¿ì½º Ŭ¸¯ ±ÝÁö.
163             if (!IS_INT_MOUSE) {
164	             document.oncontextmenu = function () {
165	            	 return false;
166	             };
167	             $('body').on('dragstart', function(event){
168	            	 return false;
169	             });
170	             $('body').on('selectstart', function(event){
171	            	 return false;
172	             });
173
174	             $(document).keydown(function(e){
175	               	 if(e.target.nodeName != 'INPUT' && e.target.nodeName != 'TEXTAREA'){
176	               		 if(e.keyCode == 8){
177	               			 return false;
178	               		 }
179	               	 }
180	                });
181	             window.history.forward(0);
182             }
183
184            // Ư¼öŰ »ç¿ë±ÝÁö.
185             if (!IS_INT_KEY) {
186            	 if (document.body)
187            		 document.body.onkeydown = processKey;
188             }
189
190        }
191        // ÇöÀç Æ÷Ä¿½º °´Ã¼ ÀúÀå.
192        try {
193            $('a,:input').focus(function(evt) {
194            	currFocusEle = $(this);
195            });
196        } catch (e) {
197			// ignore
198        }
199
200        if(MEDIA_TYPE != 'P'){
201        	setTimeout(function(){
202        		if(window.pageYOffset <=0){
203        			window.scrollTo(0,1);
204        		}
205        	},400);
206        }
207/*
208        if(opener != null){
209        	if(opener.location.href.indexOf("credit.co.kr") <= 0){
210        		if(LOGIN_YN == "Y" && CURRENT_SITE_ID != "SIT00007"){
211                	JutilObject.startTimer().start();
212                }
213        	}
214        }else{
215        	if(LOGIN_YN == "Y" && CURRENT_SITE_ID != "SIT00007"){
216            	JutilObject.startTimer().start();
217            }
218        }
219*/
220
221
222        if(IS_AUTO_TIMER){
223        	if(LOGIN_YN == "Y"){
224        		JutilObject.startTimer().start();
225        	}
226        }
227    });
228}
229
230function goInstallMenu(menuId, module){
231	if (LOCAL_YN == 'N') {
232		var _paramFrm = JUtilForm.createForm("_paramFrm");
233		
234		$(_paramFrm).attr("method", "post");
235		if(module != null && module != ''){
236			$(_paramFrm).attr("action", "/ib20/mnu/" + menuId + "?P_name="+module);
237		}
238		
239		loadingBlock(true);
240		$(_paramFrm).submit();
241	}
242}
243/**
244 * iFrame ¹Ýȯ.
245 *
246 * @param id
247 * @returns
248 */
249function getIFrame(id) {
250    return JutilObject.document().getElementById(id);
251}
252
253/**
254 * iframe ³»ÀÇ document °´Ã¼¸¦ ¹Ýȯ.
255 *
256 * @param id
257 * @returns
258 */
259function getIFrameDocument(id) {
260    var iFrame = getIFrame(id);
261
262    if (!iFrame)
263        return document;
264
265    var iFrameDocument = document;
266
267    if (iFrame.contentDocument) // FF
268        iFrameDocument = iFrame.contentDocument;
269    else if (iFrame.contentWindow) // IE
270        iFrameDocument = iFrame.contentWindow.document;
271
272    return iFrameDocument;
273}
274
275/**
276 * ·Îµù ºí·°Å·.
277 * @param isBlock {boolean} ·Îµùâ show/hide ¿©ºÎ. true:·Îµùâǥ½Ã, false:·Îµùâ¼û±è
278 * @param type {string} ·Îµù À̹ÌÁö Ç¥½Ã ŸÀÔ. default/search/loan(´ëÃâ)/profit(¸ðÀ¸´Ù)/mydata(¸¶À̵¥ÀÌÅÍ)
279 * @param name {string} Ç¥½ÃŸÀÔ¿¡ µû¸¥ ÆÄ¶ó¹ÌÅÍ1
280 * @param txt {string} Ç¥½ÃŸÀÔ¿¡ µû¸¥ ÆÄ¶ó¹ÌÅÍ2
281 */
282function loadingBlock(isBlock, type, name, txt) {
283	
284	if (isBlock) {
285		showLoadingBlock(type, name, txt);
286	} else {
287		hideLoadingBlock(false);
288	}
289}
290
291/**
292 * ·Îµù À̹ÌÁö Ç¥½Ã
293 * @param type {string} ·Îµù À̹ÌÁö Ç¥½Ã ŸÀÔ. default/search/loan(´ëÃâ)/profit(¸ðÀ¸´Ù)/mydata(¸¶À̵¥ÀÌÅÍ)
294 * @param name {string} Ç¥½ÃŸÀÔ¿¡ µû¸¥ ÆÄ¶ó¹ÌÅÍ1
295 * @param txt {string} Ç¥½ÃŸÀÔ¿¡ µû¸¥ ÆÄ¶ó¹ÌÅÍ2
296 */
297function showLoadingBlock(type, name, txt) {
298	
299	type = JUtilFormat.nvl(type, 'default');
300	
301	loading.depth = loading.depth + 1;
302	//·Îµùâ Áߺ¹»ý¼º ¹æÁö¸¦ À§ÇØ ÇöÀç ·ÎµùâÀÌ ÀÛµ¿ÁßÀÎÁö È®ÀÎ
303	if (!loading.isActive()) {
304		//ƯÁ¤ ·ÎµùâÀÎ °æ¿ì µÚ·Î°¡±â·Î ´ÝÀ» ¼ö ÀÖµµ·Ï ¼³Á¤
305		if (JUtilFormat.equalsOr(type, 'loan|credit|profit|mydata')) {
306			setGoBackAction(function() {
307				if (type == 'loan') {
308					goMain();
309				} else {
310					hideLoadingBlock(true, true);
311				}
312			}, null, 'loading');
313		}
314		
315		loading.start(type, name, txt);
316	}
317}
318
319/**
320 * ·Îµù À̹ÌÁö ¼û±è
321 * @param ignoreDepth {boolean} true·Î ÁöÁ¤ÇÒ°æ¿ì ·Îµù ó¸®Áß depth »ó°ü¾øÀÌ °­Á¦·Î ·Îµùâ ¼û±è
322 * @param forced {boolean} true·Î ÁöÁ¤ÇÒ °æ¿ì °­Á¦ ·ÎµùÁ¾·á ó¸®
323 */
324function hideLoadingBlock(ignoreDepth, forced) {
325	
326	if (ignoreDepth) {
327		loading.depth = 0;
328	}
329	//ajaxµî ÀÛ¾÷ÀÌ ¿©·¯°Ç ½ÇÇàÁßÀÎ °æ¿ì ¸¶Áö¸· ÀÛ¾÷ÀÌ Á¾·áµÈ ÈÄ ·ÎµùâÀ» ´Ý±â À§ÇØ depth °ü¸®
330	
331	if (loading.depth - 1 > 0) {
332		loading.depth--;
333	} else {
334		var state = history.state || {};
335		if (state.customBackHistory && state.customBackHistoryType == 'loading') {
336			clearCustomBackHistory(function() {
337				loading.depth = 0;
338				loading.end(forced);
339			}, "loading");
340		} else {
341			loading.depth = 0;
342			loading.end(forced);
343		}
344	}
345}
346
347function sleep(milliseconds) {
348	var startTime = new Date().getTime();
349	var curTime = startTime;
350	while (curTime - startTime < milliseconds) {
351		curTime = new Date().getTime();
352	}
353}
354
355/**
356 * Page Title º¯°æ.
357 *
358 * @param form
359 *            id or object
360 * @returns
361 */
362function setPageTitleChange(form, currentWidgetName) {
363    var titleName = "";
364    var baseMenuName = BASE_MENU_NAME;//(IB20_CFG.getCurrentMenu() != null) ? IB20_CFG.getCurrentMenu().getMenuName() : "";
365    var siteName = SITE_NAME;//IB20_CFG.getCurrentSite().getSiteName();
366
367    if ( currentWidgetName != '' ){
368    	titleName = baseMenuName + " " + currentWidgetName + " " + siteName +" | NICE";
369        document.title = titleName;
370
371    }
372}
373
374
375/**
376 * Form Object ¸¦ °¡Á®¿Â´Ù.
377 *
378 * @param form
379 *            id or object
380 * @returns
381 */
382function getFormObject(form) {
383    if (typeof form == 'object')
384        return form;
385
386    var rtForm = document.getElementById(form); // id ·Î °Ë»ö.
387    if (!rtForm)
388        rtForm = JutilObject.document().getElementById(form); // ÃÖ»óÀ§ document °Ë»ö.
389    if (!rtForm)
390        rtForm = getIFrameDocument().getElementById(form); // iframe document
391    // °Ë»ö.
392
393    if (!rtForm || typeof rtForm != 'object') {
394        return null;
395    }
396    return rtForm;
397}
398
399/**
400 * id or name À¸·Î Element Object ¸¦ °¡Á®¿Â´Ù.
401 *
402 * @param form
403 * @param id
404 *            or name
405 * @returns
406 */
407function getFormElement(form, name) {
408    form = getFormObject(form);
409    var ele = $(form).find('[id="' + name + '"]');
410    if (ele.size() == 0)
411        ele = $('[name="' + name + '"]');
412    return ele;
413}
414
415/**
416 * Element Class full name À» °¡Á®¿Â´Ù.
417 *
418 * @param element
419 *            object
420 * @param class
421 *            name
422 * @returns
423 */
424function getClassName(eleObject, classsName) {
425    var cls = $(eleObject).attr('class');
426    if (cls.indexOf(classsName) > -1)
427        cls = cls.substring(cls.indexOf(classsName));
428    if (cls.indexOf(' ') > -1)
429        cls = cls.substring(0, cls.indexOf(' '));
430    return cls;
431}
432
433/**
434 * Form ¿¡ Hidden Input Field ¸¦ Append ÇÑ´Ù.
435 *
436 * @param form
437 * @param name
438 * @param value
439 * @param isArray
440 *            default : false
441 */
442function appendHidden(form, name, value, isArray) {
443    JUtilForm.appendHidden(getFormObject(form), name, value, isArray);
444}
445
446/**
447 * Form ¿¡¼­ ÇØ´ç tag ¸¦ »èÁ¦ ÇÑ´Ù.
448 *
449 * @param form
450 * @param name
451 */
452function removeHidden(form, name) {
453    $(getFormObject(form)).find('[name="' + name + '"]').remove();
454}
455
456/**
457 * $(document).ready() wrap function. document ·ÎµùµÇ±â Àü¿¡ DOM À» ÄÁÆ®·Ñ ÇϱâÀ§ÇÑ ready
458 * function À¸·Î ¸ðµç È­¸é¿¡¼­ »ó¼Ó¹Þ¾Æ¼­ »ç¿ëÇÑ´Ù.
459 *
460 * @param form
461 * @param callback
462 */
463function documentReady(form, callback) {
464    $(document).ready(function() {
465    	/*
466    	var article = $("#"+form).find(".article");
467    	var targetSelect = article.find("select");
468    	targetSelect.wrap("<span class=\"select-box\"></span>");
469		*/
470        // Æû Á¶È¸.
471        var curForm = getFormObject(form);
472        // ajax update È£Ãâ½Ã update content °¡ html dom ¿¡ append ¿Ï·á µÇÁö ¾ÊÀº ½ÃÁ¡¿¡¼­
473        // documentReady °¡ ºÒ·ÁÁ®¼­ dom À» ãÁö¸øÇÑ´Ù.
474        // form À» Àӽà ÀúÀåÈÄ append ¿Ï·áÈÄ callback À¸·Î ´Ù½Ã È£ÃâÇÏ¿© ½ÇÇàÇÑ´Ù.
475        if (!curForm) {
476            if (!lazyForm) {
477                lazyForm = form;
478                lazyCallback = callback;
479            }
480            return;
481        }
482
483        lazyForm = null;
484        lazyCallback = null;
485
486        isSubmit = false;
487
488        loadingBlock(false);
489
490        // E2E ÃʱâÈ­
491        if(SECURE_TYPE.indexOf('02') > -1){
492        	// Æû E2E ¼³Á¤.
493        	if(ExtE2E){
494        		var checkE2E = false;
495        		if($(curForm).find(":input[type=password]").size() > 0){
496        			checkE2E = true;
497        		}
498        		if(checkE2E){
499        			loadingBlock(true);
500        			ExtE2E.init(curForm);
501        			e2eInit = true;
502        		}
503        	}
504        	if(ExtKeyPad){
505        		ExtKeyPad.init(curForm);
506        	}
507        }
508
509        // Æû ÀԷ°ª ÇÊÅÍ ¼³Á¤.
510        ExtValidation.inputFilter(curForm);
511
512        // Æû ÀÚµ¿ ¼­ºê¹Ô ¹æÁö.
513        $(curForm).bind('submit', function(evt) {
514            return false;
515        });
516
517//        // ÇöÀç Æ÷Ä¿½º °´Ã¼ ÀúÀå.
518        $(curForm).find('a,:input').bind('click focus', function(evt) {
519        	var cls =  $(this).attr("class");
520        	if(cls != null && cls.indexOf("typeModalClose") < 0){
521        		beforeFocusEle = $(this);
522        	}
523        	currFocusEle = $(this);
524        });
525        
526        // ÆË¾÷ ´Ý±â ÈÄ Æ÷Ä¿½º °´Á¦ °­Á¦ ÁöÁ¤(2026-02-12 Ãß°¡)
527        $(curForm).find('.manualFocus').bind('click focus', function(evt) {
528        	var cls =  $(this).attr("class");
529        	if(cls != null && cls.indexOf("typeModalClose") < 0){
530        		manualFocusEle = $(this);
531        	}
532        });
533
534        // form auto complete attribute off
535        $(curForm).attr('autocomplete', 'off');
536
537        /* Äݹé ÇÔ¼ö */
538        if (callback) {
539        	//·¹ÀÌ¾î ÆË¾÷¿¡¼­ È£ÃâµÇ´Â documentReady ÀÏ °æ¿ì ÆË¾÷ È£Ãâ½Ã Àü´ÞµÈ ÆÄ¶ó¸ÞÅ͸¦ ÇÔ¼öÈ£Ãâ½Ã ¼¼ÆÃÇÑ´Ù.
540        	//ÆÄ¶ó¸ÞÅÍ »ç¿ë½Ã ÆË¾÷¿¡¼­ ÁöÁ¤µÈ documentReady ÇÔ¼öÀÇ callback ÇÔ¼ö ³»¿¡¼­ this.params ·Î Á¢±ÙÇÑ´Ù.
541        	var curFormId = $(curForm).attr('id');
542        	if (!JUtilFormat.isNull(curFormId)) {
543        		var popObj = ExtLayerPop.getPopLayer(curFormId);
544        		if (popObj) {
545        			callback.isPopup = true;
546        			callback.params = popObj.options.params;
547        			callback.close = function(rtnVal) {
548        				ExtLayerPop.closeAt(curFormId, rtnVal);
549        			};
550        		}
551        	}
552        	JUtilWindow.execute(callback, [curForm], false, true);
553        }
554
555        /* Å×À̺í summary ¼Ó¼º ÀÚµ¿ »ý¼º */
556        //JBizUtilTable.addSummaryAttr();
557
558        /*ready only¿¡ event ÁßÁö*/
559        $(document).on("keydown", "input[readonly='readonly']", function(e){
560            //¹é½ºÆäÀ̽ºÀÏ °æ¿ì À̺¥Æ®¸¦ ¸·´Â´Ù.
561            if(e.keyCode == 8){
562                return false;
563            }
564            // 2014.07.12 ¼Ûº´»ó ¼öÁ¤ - Àüü event¸¦ ¸·°Ô µÇ¸é tab ۸¶Àú ¸·È÷°Ô µÇ¼­ Á¢±Ù¼º¿¡ À§¹èµÇ¹Ç·Î ¼öÁ¤ÇÔ.
565            //return false;
566        });
567
568    });
569};
570
571
572function changeWidget(form, twid, cwid, mid){
573    if ( $(form).find(':input[name='+CHANGE_WIDGET_ELEMENT_ID+']') ){
574        $(form).find(':input[name='+CHANGE_WIDGET_ELEMENT_ID+']').val(twid);
575    }
576    if ( cwid ){
577        $(form).find(':input[name='+CURRENT_WIDGET_ELEMENT_ID+']').val(cwid);
578    }
579    // ƯÁ¤ °Å·¡ È­¸éÀ¸·Î À̵¿
580    if ( mid ) {
581        var ib20_action = $(form).find(':input[name=ib20_cur_mnu]');
582        ib20_action.val(mid);
583    }
584}
585
586/**
587 * µÚ·Î°¡±â½Ã »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö ½ÇÇà
588 * @returns {Boolean}
589 */
590function runHistoryBackAction() {
591	var state = history.state || {};
592	var func = state["goBackActionId"] && GO_BACK_ACTION_MAP[state["goBackActionId"]];
593	if (typeof func === "function") {
594		func.proceed = function() {
595			goBack(true);
596		};
597		func.prevent = function() {
598			history.pushState({customBackHistory:true}, "", new URL(window.location));
599		};
600		JUtilWindow.execute(func, [], false, true);
601		return true;
602	}
603	return false;
604}
605
606var CLEAR_CUSTOM_BACK_HISTORY_TARGET = [];
607
608/**
609 * µÚ·Î°¡±â Á¶ÀÛÀ» À§ÇØ ÀÓÀÇ µî·ÏµÈ È÷½ºÅ丮¸¦ »èÁ¦ 
610 * @param callback
611 */
612function clearCustomBackHistory(callback, type) {
613	
614	//ÃÖÃÊ ½ÇÇàÀ϶§¸¸ ·ÎÁ÷¼öÇà. 1°Ç ÀÌ»óÀÏ °æ¿ì¿¡´Â __clearCustomBackHistory ³»ºÎ¿¡¼­ chainning ó¸®
615	if (CLEAR_CUSTOM_BACK_HISTORY_TARGET.length == 0) {
616		CLEAR_CUSTOM_BACK_HISTORY_TARGET.push({callback : callback, type : type});
617		var target = CLEAR_CUSTOM_BACK_HISTORY_TARGET[0];
618		__clearCustomBackHistory(target.callback, target.type);
619	} else {
620		CLEAR_CUSTOM_BACK_HISTORY_TARGET.push({callback : callback, type : type});
621	}
622}
623
624/**
625 * µÚ·Î°¡±â Á¶ÀÛÀ» À§ÇØ ÀÓÀÇ µî·ÏµÈ È÷½ºÅ丮¸¦ »èÁ¦(³»ºÎ ¼öÇà ÇÔ¼ö)
626 * @param callback
627 */
628function __clearCustomBackHistory(callback, type) {
629	
630	var state = history.state || {};
631	//typeÀÌ ÁöÁ¤µÇ¾úÀ» °æ¿ì ÇØ´ç typeÀÇ customBackHistory¸¸ Á¦°ÅÇÑ´Ù
632	if (state.customBackHistory && (!type || state.customBackHistoryType == type)) {
633		window.onpopstate = function(e) {
634			__clearCustomBackHistory(callback, type);
635		};
636		history.back();
637	} else {
638		//ƯÁ¤ typeÀÇ customBackHistory Á¦°ÅÀÏ °æ¿ì customBackHistory°¡ ³²¾ÆÀÖ´Ù¸é onpopstate À̺¥Æ® ¿øº¹
639		if (type && state.customBackHistory) {
640			window.onpopstate = function() {
641				runHistoryBackAction();
642			};
643		} else {
644			window.onpopstate = null;
645		}
646		
647		JUtilWindow.execute(callback);
648		
649		CLEAR_CUSTOM_BACK_HISTORY_TARGET.splice(0, 1);	//ó¸®°Ç »èÁ¦
650		// Ŭ¸®¾î Ÿ°ÙÀÌ ³²¾ÆÀÖÀ¸¸é È÷½ºÅ丮 »èÁ¦ Àç¼öÇà
651		if (CLEAR_CUSTOM_BACK_HISTORY_TARGET.length > 0) {
652			var target = CLEAR_CUSTOM_BACK_HISTORY_TARGET[0];
653			__clearCustomBackHistory(target.callback, target.type);
654		}
655	}
656}
657
658/**
659 * ¸ð¹ÙÀÏ µÚ·Î°¡±â ¹öư µ¿ÀÛ ÇÔ¼ö ¼¼ÆÃ<br>
660 * »ç¿ëÀÚ ÇÔ¼ö°¡ È£Ãâ µÉ °æ¿ì ±âº» µÚ·Î°¡±â ¹öư À̺¥Æ®´Â ´õÀÌ»ó 󸮵ÇÁö ¾ÊÀ¸¸ç 
661 * »ç¿ëÀÚ·ÎÁ÷ ó¸® ÈÄ ½ÇÁ¦·Î µÚ·Î°¡±â°¡ ÇÊ¿äÇÒ¶§ »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö¿¡¼­ this.proceed() ¸¦ È£ÃâÇÏ¸é µÚ·Î°¡±â°¡ ¼öÇàµÈ´Ù.
662 * »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö°¡ Çѹø ½ÇÇàµÇ°í ³­ ÀÌÈÄ¿¡´Â µÚ·Î°¡±â À̺¥Æ® ¹ß»ý½Ã »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®°¡ ½ÇÇàµÇÁö ¾ÊÀ¸¹Ç·Î ¹Ýº¹Çؼ­ ¼öÇàÇϰíÀÚ ÇÒ °æ¿ì »ç¿ëÀÚÁ¤ÀÇ ÇÔ¼ö¿¡¼­ this.prevent()¸¦ È£ÃâÇØ¾ßÇÑ´Ù.
663 * @param func {function|string} µÚ·Î°¡±â ¹öư À̺¥Æ® ´ëü ÇÔ¼ö³ª À̵¿ÇÒ ¸Þ´ºID 
664 * @param params »õ·Î°íħ ½Ã À¯ÁöÇÒ ÆÄ¶ó¸ÞÅÍ ¼¼ÆÃ
665 * @param type µÚ·Î°¡±â ŸÀÔ
666 */
667function setGoBackAction(func, params, type) {
668	if (!JUtilFormat.isEmpty(func)) {
669		if (typeof func === "function") {
670			GO_BACK_ACTION = func;
671		} else if (/^(BZW|RZM|RZA)[0-9A-Z]{8}$/.test(func)) {
672			//µ¿Àϸ޴º À̵¿ÀÎ °æ¿ì(À§Á¬Ã¼ÀÎÁö µµÁß Ã¹¹øÂ°·Î À̵¿ÇÏ´Â ÄÉÀ̽º) È­¸é ¸®·Îµå·Î ó¸®
673			if (location.href.indexOf("/ib20/mnu/" + func) >= 0) {
674				GO_BACK_ACTION = function() {
675					loadingBlock(true);
676					//ÇöÀç ¸Þ´º URL¿¡ À§Á¬ change ¿É¼ÇÀÌ ÀÖÀ»°æ¿ì Á¦°Å
677					var testExp = /(ib20_wc=[^&:]+):[^&]+/;
678					if (testExp.test(location.href)) {
679						var href = location.href.replace(testExp, '$1');
680						history.replaceState(null, "", new URL(href));
681					}
682					
683					location.reload();
684				};
685			} else {
686				GO_BACK_ACTION = function() {
687					goMenu(func);
688				};
689			}
690		}
691		if (typeof GO_BACK_ACTION === "function") {
692			var goBackActionId = "goBackAction_" + (new Date()).getTime();
693			GO_BACK_ACTION_MAP[goBackActionId] = GO_BACK_ACTION;
694			
695			var callback = function() {
696				var href = window.location.href;
697				//ÀÌ¹Ì Á¸ÀçÇÏ´Â ÆÄ¶ó¸ÞÅ͸¦ Áߺ¹ »ý¼ºÇϴ°ÍÀ» ¹æÁöÇϱâ À§ÇØ Ã¼Å©¿ë ±âÁ¸ ÆÄ¶ó¸ÞÅÍ ¸ñ·Ï »ý¼º
698				var pparam = href.split("?");
699				if (pparam.length > 1) {
700					pparam = pparam[pparam.length - 1];
701					pparam = pparam.split("&");
702				} else {
703					pparam = [];
704				}
705				
706				if (params && typeof params === "object") {
707					var plist = [];
708					for (var k in params) {
709						var v = params[k];
710						var token;
711						if (v instanceof Array) {
712							for (var i in v) {
713								token = k + "=" + v[i];
714								//±âÁ¸ ÆÄ¶ó¸ÞÅÍ¿¡ ¾ø´Â °ª¸¸ Ãß°¡
715								if (pparam.indexOf(token) < 0) {
716									plist.push(k + "=" + v[i]);
717								}
718							}
719						} else {
720							token = k + "=" + v;
721							//±âÁ¸ ÆÄ¶ó¸ÞÅÍ¿¡ ¾ø´Â °ª¸¸ Ãß°¡
722							if (pparam.indexOf(token) < 0) {
723								plist.push(k + "=" + v);
724							}
725						}
726					}
727					if (plist.length > 0) {
728						//ÆÄ¶ó¸ÞÅͰ¡ Á¸ÀçÇÏ´Â °æ¿ì µÚ·Î°¡±â ÈÄÅ·½Ã ÆÄ¶ó¸ÞÅÍ À¯Áö¸¦ À§ÇØ pushState Àü ±âÁ¸ URL¿¡µµ get¹æ½ÄÀ¸·Î ÆÄ¶ó¸ÞÅ͸¦ ºÙÀδÙ.
729						href += (href.indexOf("?") >= 0 ? "&" : "?") + plist.join("&");
730					}
731				}
732				var state = history.state || {};
733				state["goBackActionId"] = goBackActionId;
734				
735				history.replaceState(state, "", new URL(href));
736				history.pushState({customBackHistory:true, customBackHistoryType:type}, "", new URL(href));
737				
738				window.onpopstate = function(e) {
739					runHistoryBackAction();
740				};
741			};
742			
743			if (getNavigationType() == 1) {	//»õ·Î°íħÀÏ °æ¿ì¿¡´Â ÀÓÀÇ Ãß°¡ÇÑ history ¸ðµÎ »èÁ¦
744				clearCustomBackHistory(callback);
745			} else {
746				callback();
747			}
748		}
749	}
750}
751
752/**
753 * µÚ·Î°¡±â
754 * @param forced true·Î ÁöÁ¤½Ã »ç¿ëÀÚÁ¤ÀÇÇÔ¼ö È£Ãâ¾øÀÌ µÚ·Î°¡±â ¼öÇà
755 */
756function goBack(forced) {
757	if (!forced) {
758		var state = history.state || {};
759		if (state["customBackHistory"]) {
760			history.back();
761			return;
762		}
763	}
764	//¸ð¹ÙÀÏ È­¸é»ó´ÜÀÇ µÚ·Î°¡±â ¹öưÀ» ÅëÇÑ À̵¿ÀÏ °æ¿ì ÀÓÀÇ·Î Ãß°¡ÇÑ history ¹«½ÃÇϰí À̵¿
765	clearCustomBackHistory(function() {
766		history.back();
767	});
768}
769
770/**
771 * ¸Þ´º±ÇÇÑüũ
772 * @param menuId
773 * @param callback
774 */
775function checkMenuAuth(menuId, callback) {
776	
777	var _paramFrm = JUtilForm.createForm("_menuAuthParamFrm");
778	appendHidden(_paramFrm, "authMenuId", menuId);
779	if ($("#menu_form").length > 0) {
780		$("#menu_form").find("input").each(function() {
781			appendHidden(_paramFrm, this.name, this.value);
782		});
783	}
784	
785	var successCallback = function(data) {
786		if (data["isAuthorized"] == "false") {
787			if (data["authType"] == "AUTH03") {
788				openMyDataConnectPop(menuId, false, "Y");	//¸¶À̵¥ÀÌÅÍ¿¬°áÀ¯µµÆË¾÷È£Ãâ
789				return;
790			} else {
791				if (data["authMsgType"] == "alert") {
792					alert(data["authMsg"]);
793					return;
794				} else {
795					//ÄÁÆßâ Ãë¼Ò Ŭ¸¯½Ã ÇöÀçÈ­¸é À¯Áö
796					if (confirm(data["authMsg"])) {
797						var redirectURL = window.location.protocol ? window.location.protocol + "//" : "https://";
798						redirectURL += window.location.host;
799						redirectURL += data["redirect"];	//_ajaxUrlCall ÇÔ¼ö¿¡¼­ callback È£Ãâ½Ã ÀÌ¹Ì decodeµÈ °ªÀ» Áֱ⶧¹®¿¡ decodeURIComponent ó¸®ÇÏÁö ¾Ê°í ¹Ù·Î ¼¼ÆÃ
800						
801						window.location.href = redirectURL.replace(/&AUTH_MSG_CODE/, '&ORG_AUTH_MSG_CODE');	//ÆäÀÌÁö À̵¿ ÈÄ ¸Þ¼¼Áö Áߺ¹ È£Ãâ ¹æÁö¸¦ À§ÇØ ¸Þ¼¼Áö ÄÚµå º¯¼ö¸í º¯°æ
802						return;
803					}
804				}
805			}
806		} else {
807			JUtilWindow.execute(callback, [data]);
808		}
809	};
810	var errorCallback = function(comm) {
811		JUtilWindow.execute(callback);
812	};
813	
814	callAjax(_paramFrm, "RZMCMMCMM90001AM", successCallback, MAIN_MENU_ID, "C
814MNZKMTMP00001VM", errorCallback, true, false);
815}
816
817/**
818 * ¸Þ´º Á¢±Ù±ÇÇÑ »çÀüüũ ÈÄ ¸Þ´ºÀ̵¿(header ¸Þ´º, »çÀÌÆ®¸Ê¿¡¼­ »ç¿ë)
819 * @param menuId
820 */
821function goMenuWithAuth(menuId, target, language, isRedirect) {
822	var recentlyMenuUse = false;
823	if (event && event.path && event.path[0] && event.path[0].getAttribute('data-recentlymenu') == "Y") {
824		recentlyMenuUse = true;
825	}
826	checkMenuAuth(menuId, function(data) {
827		//ÃÖ±ÙÀ̵¿¸Þ´º µ¥ÀÌÅÍ ¼¼ÆÃ
828		if (recentlyMenuUse && !JUtilFormat.isEmpty(data["menuId"])) {
829			JUtilObject.recentlyMenu.add(data["menuId"], data["menuName"]);
830		}
831		// ¸®´º¾ó ÁöŰ¹Ì ¸Þ´ºÀ̵¿
832		_goMenu(menuId, target, language, isRedirect);
833	});
834}
835
836/**
837 * ÄíŰ ¼³Á¤µÈ _C_ °ª Á¸Àç¿©ºÎ¿¡ µû¶ó ºÐ±âó¸®
838 * @param menuId
839 */
840function goMenuWithAuthCParam(cookieExist, menuId, cParam) {
841	if (cookieExist == "Y") {
842		goMenuWithAuth(menuId);
843	} else {
844		goMenuWithAuth(menuId + "?_C_=" + cParam);
845	}
846}
847
848/**
849 * ¸Þ´º À̵¿.
850 * @param menuId
851 */
852function goMenu(menuId, target, language, isRedirect, isMobileLogin) {
853	_goMenu(menuId, target, language, isRedirect);
854}
855
856/**
857 * ¸Àº¸±â üÇè¿ë ¸Þ´º À̵¿.
858 *
859 * @param menuId
860 */
861function goMenuHidden(menuId) {
862	var _paramFrm = JUtilForm.createForm("_paramFrm");
863	var input = '<input type="hidden" name="' + "b_page_id" + '" value="' + BROWSER_REQ_ID + '"/>';
864	input += '<input type="hidden" name="REQUEST_TOKEN_KEY_YN" value="N"/>';
865	input += '<input type="hidden" name="flag" value="Y"/>';
866
867	$(_paramFrm).attr("method", "post");
868	$(_paramFrm).attr("action", "/ib20/mnu/" + menuId);
869    $(_paramFrm).append(input);
870
871    if (JutilObject.logoutTimer())
872    	JutilObject.logoutTimer().reset();
873
874    loadingBlock(true);
875    setTimeout(function() {
876    	$(_paramFrm).submit();
877    }, 100);
878}
879
880/*
881 * ¸Þ´ºÀ̵¿
882 * */
883function _goMenu(menuId, target, language, isRedirect) {
884	
885	clearCustomBackHistory(function() {
886		if (/^(BZW|RZM|RZA)SGMMLO/.test(menuId)) {
887			
888			if(!(menuId.indexOf("MLO70") > -1 || menuId.indexOf("MLO71") > -1)){
889				
890				if (!isEmpty(localStorage.nLastLoginType)) {
891					if (!isRedirect) {
892						var nLastLoginType = localStorage.nLastLoginType;
893						if(nLastLoginType != null && nLastLoginType == "MLO82"){
894							localStorage.nLastLoginType = "";
895							alert("ȫä ÀÎÁõ ¼­ºñ½º Á¾·á·Î\n´Ù¸¥ ·Î±×ÀÎ ¼ö´ÜÀ» ÀÌ¿ëÇØ ÁÖ¼¼¿ä.");
896							menuId = MENU_PREFIX_3 + "SGMMLO10";
897						}else{
898							menuId = MENU_PREFIX_3 + "SGM" + localStorage.nLastLoginType;	
899						}
900						
901					}
902				}
903			}
904			
905		}
906		
907		if($("#menu_form").size() > 0){
908			
909			if (!document.menu_form.selectmenuid) {
910				appendHidden(document.menu_form, "selectmenuid", menuId);
911			} else {
912				document.menu_form.selectmenuid.value = menuId;
913			}
914			document.menu_form.action = "/ib20/mnu/" + menuId;
915			document.menu_form.method = "post";
916			document.menu_form.target = '';
917			if (target != null && target != ''){
918				document.menu_form.target = target;
919			}else{
920				loadingBlock(true);
921			}
922			if (language != null && language != '' && $("input[name='ib20_persistent_lang_code']")){
923				$("input[name='ib20_persistent_lang_code']").val(language);
924			}
925			
926			if (JutilObject.logoutTimer())
927				JutilObject.logoutTimer().reset();
928			
929			// ºê¶ó¿ìÀú °íÀ¯ ¾ÆÀ̵𠼳Á¤.
930			appendHidden(document.menu_form, 'b_page_id', BROWSER_REQ_ID);
931			appendHidden(document.menu_form, 'REQUEST_TOKEN_KEY_YN', "N");
932			appendHidden(document.menu_form, 'org_mnu_id', BASE_MENU_ID);
933			
934			setTimeout(function() {
935				document.menu_form.submit();
936			}, 100);
937			
938		}else{
939			// get¹æ½Ä next parameter °è»ê
940			var nextParam = '';
941			if(menuId.indexOf('?') != -1){
942				nextParam = menuId.split('?')[1];
943			}
944			
945			var _paramFrm = JUtilForm.createForm("_paramFrm");
946			var input  = '<input type="hidden" name="' + "ib20.persistent.lang.code" + '" value="' + language + '"/>';
947			input += '<input type="hidden" name="' + "selectmenuid" + '" value="' + menuId + '"/>';
948			input += '<input type="hidden" name="' + "b_page_id" + '" value="' + BROWSER_REQ_ID + '"/>';
949			input += '<input type="hidden" name="REQUEST_TOKEN_KEY_YN" value="N"/>';
950			input += '<input type="hidden" name="org_mnu_id" value="'+BASE_MENU_ID+'"/>';
951			input += '<input type="hidden" name="NEXT_PARAMETER" value="'+nextParam+'"/>';
952			
953			$(_paramFrm).attr("method", "post");
954			if (target != null && target != ''){
955				$(_paramFrm).attr("action", "/ib20/mnu/" + menuId + '#' +target);
956			}
957			else{
958				$(_paramFrm).attr("action", "/ib20/mnu/" + menuId);
959			}
960			$(_paramFrm).append(input);
961			
962			if (JutilObject.logoutTimer())
963				JutilObject.logoutTimer().reset();
964			
965			loadingBlock(true);
966			setTimeout(function() {
967				$(_paramFrm).submit();
968			}, 100);
969		}
970	});
971}
972
973/**
974 * callbackErr Ãß°¡
975 * @param form
976 * @param _type
977 * @param callbackErr
978 */
979function callWidgetCallback(form, _type, callbackErr, targetFrmName){
980    callWidget(form, null, null, null, _type, targetFrmName, callbackErr);
981}
982
983
984
985function callWidgetScroll(form, isFlag){
986	callWidget(form, null, null, null, null, null, null, isFlag);
987}
988/**
989 * callbackErr Ãß°¡
990 * @param form
991 * @param mid
992 * @param wid
993 * @param cwid
994 * @param _type
995 * @param targetFrmName
996 * @param callbackErr
997 */
998function callWidget(form, mid, wid, cwid, _type, targetFrmName, callbackErr, isFlag) {
999	
1000	form = $(form)[0];
1001    // Áߺ¹ Ŭ¸¯ ¹æÁö.
1002    if (currFocusEle)
1003        $(currFocusEle).blur();
1004
1005    // Æû ÀԷ°ª °ËÁõ.
1006    if ( !mid ) {
1007       if (IS_VALID && isValidation) {
1008            isValidation = true;
1009            if (!ExtValidation.validate(form)){
1010                loadingBlock(false);
1011                return;
1012            }
1013        }
1014    }
1015
1016    // À§Á¬ È£Ãâ ¿©ºÎ ¼³Á¤
1017    WID_REQ = true;
1018
1019    // °¡»óŰÆÐµå ó¸®
1020    if(ExtKeyPad){
1021    	if(MEDIA_TYPE == 'P'){
1022    		if(tk != null){
1023    			tk.fillEncData();
1024    		}
1025    	} else {
1026    		
1027    		// ¸®´º¾óÁöŰ¹Ì ¼öÁ¤. º¸¾ÈŰÆÐµå ÆÄ¶ó¹ÌÅͰ¡ ¾øÀ»°æ¿ì ó¸®
1028    		if(SECURE_TYPE != ""){
1029	    		if(mtk != null){
1030	    			mtk.fillEncData();
1031	    		}
1032    		}
1033    	}
1034    }
1035
1036    var dataType = null;
1037
1038    removeHidden(form, 'action_type');
1039    appendHidden(form, 'action_type', 'wgt');
1040
1041    // ºê¶ó¿ìÀú °íÀ¯ ¾ÆÀ̵𠼳Á¤.
1042    appendHidden(form, 'b_page_id', BROWSER_REQ_ID);
1043    isPassWordTypeSet(form);
1044    var url = "";
1045	var params = $(form).find(':input').not('[name=ib20_wc]').not('.headFixed').serialize();
1046
1047    if ( wid && wid != '' ) {
1048        url = url || '/ib20/wgt/'+wid;
1049    } else {
1050        //url = url || $(form).find(':input[name=ib20_action]').val();
1051    	url = url || $(form).find(':input[name=ib20_action][value^="/ib20/wgt/"]').val();
1052    }
1053
1054    var ib20_wc = $(form).find(':input[name=ib20_wc]').val();
1055    var ib20_cur_wgt = $(form).find(':input[name=ib20_cur_wgt]').val();
1056    if ( cwid && cwid != '') ib20_cur_wgt = cwid;
1057    var ib20_cur_mnu = $(form).find(':input[name=ib20_cur_mnu]').val();
1058    if ( mid && mid != '') ib20_cur_mnu = mid;
1059
1060    /* À§Á¬ üÀÎÁö */
1061    var ib20_change_wc = $(form).find(':input[name=ib20_change_wgt]').val();
1062    if ( ib20_change_wc && ib20_change_wc != ""){
1063        url = '/ib20/wgt/'+ib20_change_wc;
1064        $(form).find(':input[name=ib20_change_wgt]').val('');
1065    }
1066
1067    var ib20_res_msg_type = $(form).find(':input[name=ib20_res_msg_type]').val();
1068
1069
1070
1071    if (ib20_wc)
1072        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_wc=' + ib20_wc;
1073    if (ib20_cur_mnu)
1074        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_cur_mnu=' + ib20_cur_mnu;
1075    if (ib20_res_msg_type)
1076        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_res_msg_type=' + ib20_res_msg_type;
1077
1078    if ( WAI_TEST ){
1079        var startWidgetId = $(form).find(':input[name=ib20_cur_wgt]').val();
1080        var targetWidgetId = url.substring(10);
1081        var currentMenuId = $(form).find(':input[name=ib20_cur_mnu]').val();
1082        if ($(form).find(':input[name=ib20_wc]').size() > 0 ){
1083            $(form).find(':input[name=ib20_wc]').val(startWidgetId + ':' + targetWidgetId);
1084        } else {
1085            if ( url.indexOf('?') > -1 ){
1086                targetWidgetId = url.substring(10, url.indexOf('?'));
1087            }
1088            appendHidden(form, 'ib20_wc', startWidgetId + ':' + targetWidgetId);
1089        }
1090        form.action = '/ib20/mnu/'+currentMenuId;
1091        form.submit();
1092        return;
1093    }
1094
1095    ajaxStatus = false;
1096    ajaxObj = $.ajax({
1097        type : 'post',
1098        url : url,
1099        data : params,
1100        async : true,
1101        timeout: CON_AJAX_TIMEOUT,
1102        contentType : "application/x-www-form-urlencoded;charset=utf-8",
1103        dataType : dataType ? dataType : 'html',
1104        beforeSend : function(xhr, settings) {
1105        	if (JutilObject.logoutTimer()){
1106                JutilObject.logoutTimer().reset();
1107            }
1108
1109        	loadingBlock(true);
1110            isSubmit = true;
1111        },
1112        success : function(data, status, xhr) {
1113            ajaxStatus = true;
1114            var contentType = xhr.getResponseHeader("content-type");
1115            if ( contentType.indexOf("text/html") > -1 ){
1116                isSubmit = false;
1117                $("#"+ib20_cur_wgt).html(data);
1118                if ( CURRENT_WIDGET_NAME != '' ){
1119                    document.title = CURRENT_WIDGET_NAME;
1120                }
1121                try{
1122                	var mccuidCookie = xhr.getResponseHeader("MCCUID");
1123                	if(mccuidCookie){
1124                		JUtilWindow.setCookie("MCCUID", mccuidCookie);
1125                	}
1126                	//JBizUtilNiceui.reload();
1127                	//ÆÛºí UI script Àû¿ë (/cmn/js/include/zkm/rzm/ui.common.js)
1128                	mbCommon.setHeader();
1129                	applyUiCommon();
1130                }catch (e) {
1131					// TODO: handle exception
1132					// ignore
1133				}
1134
1135                if(!isFlag){	// ƯÁ¤¾÷¹«  Á¶È¸ ½Ã È­¸é ±×´ë·Î À¯Áö
1136                	window.parent.scrollTo(0,0);
1137                }
1138
1139                loadingBlock(false);
1140            } else {
1141            	isSubmit = false;
1142            	loadingBlock(false);
1143
1144                var redirect = xhr.getResponseHeader("redirect");
1145                if ( redirect ){
1146                	JutilObject.location().href= redirect;
1147                }
1148                //¿À·ù ¸Þ½ÃÁö Ãâ·Â
1149                if (!data._msg_) {
1150                    data = $.parseJSON(data);
1151                    // ¿À·ù
1152                    if (callbackErr){
1153                        callbackErr(data._msg_._common_);
1154                    }
1155                    else{
1156                    	var msgCommon = data._msg_._common_;
1157                    	var errorNextPage = msgCommon['error.next.page'];
1158                    	var _paramFrm = JUtilForm.createForm("_paramFrm", form.name);
1159                    	appendHidden(_paramFrm, "errorType", "wgt");
1160                    	var errorCode= msgCommon['error.code'];
1161                        var errorMessage =$.url.decode(msgCommon['error.message']);
1162                        var errorParameter =$.url.decode(msgCommon['error.page.parameters']);
1163                        if(errorParameter != ''){
1164                        	var errorParams = errorParameter.split("&");
1165                        	if(errorParams.length > 0){
1166                        		for(var i=0;i<errorParams.length;i++){
1167                        			var key = errorParams[i].split("=")[0];
1168                        			var value = errorParams[i].split("=")[1];
1169                        			appendHidden(_paramFrm, key, value);
1170                        		}
1171                        	}
1172                        }
1173                    	_makeChangeMenu(_paramFrm, DEF_ERR_PGE);
1174                    	appendHidden(_paramFrm, "errorCode", errorCode);
1175                    	appendHidden(_paramFrm, "errorNextPage", errorNextPage);
1176                    	appendHidden(_paramFrm, "errorMessage", errorMessage);
1177                    	callMenu(_paramFrm);
1178                    }
1179                }
1180            }
1181        },
1182        error : function(xhr, status, err) {
1183            isSubmit = false;
1184            if(SECURE_TYPE.indexOf('02') == -1 && ExtE2E == null){
1185            	loadingBlock(false);
1186            }
1187
1188            if ( ajaxStatus != null && ajaxStatus == false ){
1189                if (callbackErr){
1190                    callbackErr(err);
1191                } else {
1192                    //comErrorMessage('COM999', 'ÆäÀÌÁö ó¸®Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.', err, function(){});
1193                	alert("[COM999] ÆäÀÌÁö ó¸®Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.");
1194                }
1195            }
1196        },
1197        complete : function(xhr, status) {
1198        }
1199    });
1200    // E2E ÃʱâÈ­ »óÅ º¯°æ
1201    e2eInit = false;
1202    return false;
1203}
1204
1205
1206/**
1207 * menu id°¡ Á¸ÀçÇÏ´Â °æ¿ì¸¸ ó¸®ÇÑ´Ù.
1208 * @param mid : À̵¿µÉ ¸Þ´º½Äº°ÀÚ
1209 * @param wid : À̵¿µÉ ¸Þ´ºÀÇ ½ÃÀÛ À§Á¬½Äº°ÀÚ
1210 * @param cwid : È­¸é¿¡ Ç¥½ÃµÉ À§Á¬½Äº°ÀÚ
1211 */
1212function _makeChangeMenu(_paramFrm, mid, wid, cwid){
1213    var _targetMenuId = mid;
1214    var _startWidgetId = wid;
1215    var _targetWidgetId = ( _startWidgetId && _startWidgetId != '' ? cwid : _startWidgetId);
1216    if ( _targetMenuId && _targetMenuId != ""){
1217        changeMenu(_paramFrm, _targetMenuId, _startWidgetId, _targetWidgetId);
1218    }
1219}
1220
1221function changeMenu(form, menuId, currentWc, targetWc){
1222    var ib20_action = $(form).find(':input[name=ib20_action]');
1223    var ib20_wc = $(form).find(':input[name=ib20_wc]');
1224    var action_type = $(form).find(':input[name='+ACTION_TYPE_ELEMENT_ID+']');
1225
1226    if(menuId && menuId.indexOf("/ib20") == -1){
1227        menuId = "/ib20/mnu/"+menuId;
1228    }
1229    appendHidden(form, 'ib20_action', menuId);
1230
1231    if ( ib20_wc ){
1232        ib20_wc.val(currentWc+":"+targetWc);
1233    } else {
1234        appendHidden(form, "ib20_wc", currentWc+":"+targetWc);
1235    }
1236
1237    if ( action_type ){
1238        action_type.val('mnu');
1239    } else {
1240        appendHidden(form, ACTION_TYPE_ELEMENT_ID, 'mnu');
1241    }
1242}
1243
1244function callMenu(form, _target, params, method) {
1245	clearCustomBackHistory(function() {
1246		form = $(form)[0];
1247		formSubmit(form, _target, params, method);
1248	});
1249}
1250
1251function callAjax(form, targetFileId, callbackSuc, currentMenuId, currentWidgetId, callbackErr, isDemon, isSkip) {
1252    appendHidden(form, 'b_page_id', BROWSER_REQ_ID);
1253    appendHidden(form, 'ib20_action', '/ib20/act/' + targetFileId);
1254    appendHidden(form, 'ib20_cur_mnu', (!currentMenuId ? BASE_MENU_ID : currentMenuId));
1255    //appendHidden(form, 'ib20_cur_wgt', (!currentWidgetId ? START_WIDGET_ID : currentWidgetId));
1256    appendHidden(form, 'ib20_cur_wgt', (!currentWidgetId ? BASE_WIDGET_ID : currentWidgetId));
1257    callAction(form, callbackSuc, callbackErr, null, isDemon, isSkip);
1258}
1259
1260function callBlockAjax(form, targetFileId, callbackSuc, block, currentMenuId, currentWidgetId, callbackErr) {
1261    appendHidden(form, 'b_page_id', BROWSER_REQ_ID);
1262    appendHidden(form, 'ib20_action', '/ib20/act/' + targetFileId);
1263    appendHidden(form, 'ib20_cur_mnu', (!currentMenuId ? BASE_MENU_ID : currentMenuId));
1264    //appendHidden(form, 'ib20_cur_wgt', (!currentWidgetId ? START_WIDGET_ID : currentWidgetId));
1265    appendHidden(form, 'ib20_cur_wgt', (!currentWidgetId ? BASE_WIDGET_ID : currentWidgetId));
1266    _ajaxUrlCall(form, callbackSuc, callbackErr, null, null, false, true, block);
1267}
1268
1269function callAction(form, callbackSuc, callbackErr, dataType, isDemon, isSkip) {
1270    ajaxCall(form, callbackSuc, callbackErr, dataType, isDemon, isSkip);
1271}
1272
1273
1274/**
1275 * Æû Action ¼­¹Ô.
1276 *
1277 * @param form
1278 * @param mid
1279 *            ¸Þ´º id
1280 * @param swgt
1281 *            ½ÃÀÛ À§Á¬ id
1282 * @param ewgt
1283 *            ¿äû À§Á¬ id
1284 * @param _target
1285 */
1286function formAction(form, mid, swgt, ewgt, _target) {
1287    appendHidden(form, 'ib20_action', '/ib20/mnu/' + mid);
1288    appendHidden(form, 'ib20_wc', swgt + ':' + ewgt);
1289    appendHidden(form, 'action_type', 'mnu');
1290    formSubmit(form, _target);
1291}
1292
1293
1294/**
1295 * Æû ¼­¹Ô.
1296 *
1297 * @param form
1298 * @param _target
1299 */
1300function formSubmit(form, _target, nextparams, method) {
1301
1302    if (isSubmit)
1303        return;
1304
1305    // Áߺ¹ Ŭ¸¯ ¹æÁö.
1306    if (currFocusEle)
1307        $(currFocusEle).blur();
1308
1309    // ¹®ÀÚ¿­·Î form name À» ³Ñ°åÀ» °æ¿ì µ¿ÀÛ ¾ÈÇÏ´Â ¹®Á¦ ¼öÁ¤
1310    // --------------------------------------------------------------------------------
1311    // form.action = form.ib20_action.value;
1312    // --------------------------------------------------------------------------------
1313    form = getFormObject(form);
1314    //form.action = form.ib20_action.value;
1315    form.action = $(form).find(':input[name=ib20_action]').val();
1316    // --------------------------------------------------------------------------------
1317
1318    var nextPageParameter = "";
1319
1320    var ib20_wc = $(form).find(':input[name=ib20_wc]').val();
1321    var ib20_cur_mnu = $(form).find(':input[name=ib20_cur_mnu]').val();
1322    var ib20_cur_wgt = $(form).find(':input[name=ib20_cur_wgt]').val();
1323    var ib20_res_msg_type = $(form).find(':input[name=ib20_res_msg_type]').val();
1324
1325    if (ib20_wc)
1326        appendHidden(form, 'ib20_wc', ib20_wc);
1327    if (ib20_cur_mnu)
1328        appendHidden(form, 'ib20_cur_mnu', ib20_cur_mnu);
1329    if (ib20_cur_wgt)
1330        appendHidden(form, 'ib20_cur_wgt', ib20_cur_wgt);
1331    if (ib20_res_msg_type)
1332        appendHidden(form, 'ib20_res_msg_type', ib20_res_msg_type);
1333
1334    var selectedValue = $('#cmnSubmit').val();
1335    if($('#cmnSubmit').size() > 0){
1336    	var goodsCd = selectedValue.substring(0, selectedValue.indexOf(":"));
1337    	appendHidden(form, 'reportCode', goodsCd);
1338    }
1339    
1340    var np = convertNextParameter($(form).find(':input[name=NEXT_PARAMETER]').val());
1341    
1342    var tempArr = [];
1343    nextparams && tempArr.push(nextparams);
1344    np && tempArr.push(np);
1345    
1346    nextparams = tempArr.join("&");
1347    
1348    if (nextparams) {
1349        nextparams = nextparams.split('%26').join("&");
1350        nextparams = nextparams.split('%3D').join("=");
1351        nextparams = nextparams.split('%3A').join(":");
1352
1353        var nextparamArray = nextparams.split("&");
1354        
1355        for(var i=0;i<nextparamArray.length;i++){
1356            if(nextparamArray[i].indexOf("ib20_wc") > -1){
1357                nextPageWidget = nextparamArray[i];
1358                appendHidden(form, 'ib20_wc', nextPageWidget);
1359            }
1360            else if(nextparamArray[i].indexOf("NEXT_PAGE") > -1){
1361                appendHidden(form, 'NEXT_PAGE', nextparamArray[i]);
1362            }else{
1363
1364                if(nextPageParameter != "")
1365                    nextPageParameter += "%26";
1366
1367                nextPageParameter += nextparamArray[i];
1368
1369                if(nextparamArray[i]){
1370                    var paramArray = nextparamArray[i].split("=");
1371                    appendHidden(form, paramArray[0], paramArray[1]);
1372                }
1373            }
1374        }
1375
1376        if(nextPageParameter != ""){
1377            appendHidden(form, 'NEXT_PARAMETER', nextPageParameter);
1378        }
1379    }
1380    
1381 // Æû ÀԷ°ª °ËÁõ.
1382    if (IS_VALID && isValidation) {
1383        isValidation = true;
1384        if (!ExtValidation.validate(form))
1385            return;
1386    }
1387
1388
1389    //µ¥ÀÌŸ°ËÁõÀ»À§ÇÑ PASSTYPEÁ¦¿Ü
1390	//  isPassWordTypeSet(form);
1391	 // °¡»óŰÆÐµå ó¸®
1392    if(ExtKeyPad){
1393    	if(MEDIA_TYPE == 'P'){
1394    		if(tk != null){
1395    			tk.fillEncData();
1396    		}
1397    	} else {
1398    		// ¸®´º¾óÁöŰ¹Ì ¼öÁ¤. º¸¾ÈŰÆÐµå ÆÄ¶ó¹ÌÅͰ¡ ¾øÀ»°æ¿ì ó¸®
1399    		if(SECURE_TYPE != ""){
1400	    		if(mtk != null){
1401	    			mtk.fillEncData();
1402	    		}
1403    		}
1404    	}
1405    }
1406
1407    if (_target != null && _target != ""){
1408    	form.target = _target;
1409    	isSubmit = false;
1410    }else{
1411    	isSubmit = true;
1412    }
1413
1414    if (form.action && form.action.indexOf('/download/') == -1) {
1415        try {
1416            loadingBlock(true); // ÆäÀÌÁö ¸¶½ºÅ·.
1417            $(currFocusEle).blur(); // focus blur.
1418        } catch (e) {
1419			// ignore
1420        }
1421    }
1422
1423    form.method = method || "post";
1424    setTimeout(function(){
1425        form.submit();
1426    }, 100);
1427
1428
1429    return false;
1430}
1431
1432
1433/**
1434 * callMenu ¿Í ÅëÇÕ. ÇØ´çÇÔ¼ö´Â »ç¿ëÇÏÁö ¸»°Í!!
1435 * 2020.05.18
1436 * @param form
1437 */
1438function callMenu2(form,_target, nextparams, method){
1439	formSubmit(form, _target, nextparams, method);
1440}
1441
1442
1443/**
1444 * Æû ¼­¹Ô.
1445 * formSubmit °ú ÅëÇÕ. ÇØ´çÇÔ¼ö´Â »ç¿ëÇÏÁö ¸»°Í!!
1446 * @param form
1447 * @param _target
1448 */
1449function formSubmit2(form, _target, nextparams, method) {
1450	return formSubmit(form, _target, nextparams, method);
1451}
1452
1453/**
1454 * AJAX call.
1455 *
1456 * @param form
1457 * @param callbackSuc
1458 * @param callbackErr
1459 * @param dataType
1460 */
1461function ajaxCall(form, callbackSuc, callbackErr, dataType, isDemon, isSkip) {
1462    _ajaxUrlCall(form, callbackSuc, callbackErr, null, dataType, isDemon, null, null,  isSkip);
1463}
1464
1465
1466/**
1467 * AJAX call by URL.
1468 *
1469 * @param form
1470 * @param callbackSuc
1471 * @param callbackErr
1472 * @param url
1473 * @param dataType
1474 * @param isDemon
1475 * @param isSkip  : ƯÁ¤ Çʵ忡¼­ focus out À» ÇÏ´Â °æ¿ì°¡ À־ blur skip
1476 */
1477function _ajaxUrlCall(form, callbackSuc, callbackErr, url, dataType, isDemon, isEncrypt, block, isSkip) {
1478
1479    // Áߺ¹ Ŭ¸¯ ¹æÁö.
1480    if (currFocusEle && !isSkip)
1481        $(currFocusEle).blur();
1482
1483
1484    if (IS_VALID && isValidation) {
1485        isValidation = true;
1486        if (!ExtValidation.validate(form))
1487            return;
1488    }
1489
1490//    isPassWordTypeSet(form);
1491    // °¡»óŰÆÐµå ó¸®
1492    if(ExtKeyPad){
1493    	if(MEDIA_TYPE == 'P'){
1494    		if(tk != null){
1495    			tk.fillEncData();
1496    		}
1497    	} else {
1498    		// ¸®´º¾óÁöŰ¹Ì ¼öÁ¤. º¸¾ÈŰÆÐµå ÆÄ¶ó¹ÌÅͰ¡ ¾øÀ»°æ¿ì ó¸®
1499    		if(SECURE_TYPE != ""){
1500	    		if(mtk != null){
1501	    			mtk.fillEncData();
1502	    		}
1503    		}
1504    	}
1505    }
1506
1507    if (JUtilFormat.isEmpty($(form).find(':input[name=action_type]').val())) {
1508    	removeHidden(form, 'action_type');
1509    	appendHidden(form, 'action_type', 'act');
1510    }
1511    
1512    // ºê¶ó¿ìÀú °íÀ¯ ¾ÆÀ̵𠼳Á¤.
1513    appendHidden(form, 'b_page_id', BROWSER_REQ_ID);
1514
1515    var isMultipart = false;
1516    var enctype = $(form).attr("enctype");
1517    if (enctype) {
1518    	enctype = enctype.toLowerCase().replace(/ /g, "");
1519    	if (enctype.indexOf("multipart/form-data") >= 0) {
1520    		isMultipart = true;
1521    	}
1522    }
1523    
1524    // ÀÏ¹Ý form Àü¼ÛÀÎÁö multipart/form-data Àü¼ÛÀÎÁö¿¡ µû¶ó ajax È£Ãâ ÆÄ¶ó¸ÞÅÍ ¼¼ÆÃ
1525    var data = null;
1526    var contentType = "application/x-www-form-urlencoded;charset=utf-8";
1527    var processData = true;
1528    if (isMultipart) {
1529    	contentType = false;
1530    	processData = false;
1531    	data = new FormData($(form)[0]);
1532    	data["delete"]("ib20_wc");
1533    } else {
1534    	// IE8¿¡¼­ ±×¸®µå Àüü µ¥ÀÌÅ͸¦ serializeÇÏ´Â ¹®Á¦ ó¸®
1535    	data = $(form).find(':input').not(":file").not('[name=ib20_wc]').serialize();
1536    }
1537
1538    url = url || $(form).find(':input[name=ib20_action]').val();
1539
1540    var ib20_wc = $(form).find(':input[name=ib20_wc]').val();
1541    var ib20_cur_mnu = $(form).find(':input[name=ib20_cur_mnu]').val();
1542    var ib20_cur_wgt = $(form).find(':input[name=ib20_cur_wgt]').val();
1543    var ib20_res_msg_type = $(form).find(':input[name=ib20_res_msg_type]').val();
1544
1545    if (ib20_wc)
1546        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_wc=' + ib20_wc;
1547    if (ib20_cur_mnu)
1548        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_cur_mnu=' + ib20_cur_mnu;
1549    if (ib20_cur_wgt)
1550        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_cur_wgt=' + ib20_cur_wgt;
1551    if (ib20_res_msg_type)
1552        url += (url.indexOf('?') == -1 ? '?' : '&') + 'ib20_res_msg_type=' + ib20_res_msg_type;
1553
1554    actionStatus = false;
1555    ajaxObj = $.ajax({
1556        type : 'post',
1557        url : url,
1558        data : data,
1559        async : (block ? !block : true),
1560        timeout: CON_AJAX_TIMEOUT,
1561        contentType : contentType,
1562        processData : processData,
1563        dataType : dataType ? dataType : 'json',
1564        beforeSend : function(xhr, settings) {
1565
1566        	if (JutilObject.logoutTimer()){
1567                JutilObject.logoutTimer().reset();
1568        	}
1569        	isSubmit = true;
1570        	if(!isDemon){
1571        		loadingBlock(true); //   ·¹ÀÌ¾î  div center() ÇÔ¼ö ¿À·ù CSS ÇÊ¿äÇÒµí ³ªÁß¿¡ ÁÖ¼® Ç®°Í
1572        	}
1573        },
1574        success : function(data, status, xhr) {
1575            isSubmit = false;
1576            actionStatus = true;
1577            if(!isDemon){
1578            	loadingBlock(false);
1579            }
1580
1581            var contentType = xhr.getResponseHeader("content-type");
1582            if (contentType && contentType.indexOf('json') > -1) {
1583
1584                // JSON ¹®ÀÚ¿­À» JavaScript object·Î º¯È¯.(¸ð¾ç¸¸ JSON ÀÌ°í ½ÇÁ¦ String Çü½ÄÀÇ
1585                // data ¸¦ Object ·Î º¯È¯ÇØÁØ´Ù.)
1586                if (!data._msg_)
1587                    data = $.parseJSON(data);
1588
1589                switch (data._msg_._common_["resCode"]) {
1590
1591                case "00":
1592                    // Á¤»ó
1593                	//action ±ÇÇÑüũ ½ÇÆÐÇßÀ» °æ¿ì ÆäÀÌÁö À̵¿
1594                	if (data._msg_._body_["_isAuthorized"] == "false") {
1595                		if (JUtilFormat.isEmpty(data._msg_._body_["_redirect"])) {
1596                			var menuForm = JUtilForm.createForm("menu_form");
1597                			appendHidden(menuForm, "AUTH_MSG_CODE", "ACCNAR0008");
1598                			goMain();
1599                		} else {
1600                			var redirectURL = window.location.protocol ? window.location.protocol + "//" : "https://";
1601                			redirectURL += window.location.host;
1602                			redirectURL += decodeURIComponent(data._msg_._body_["_redirect"]);
1603                			window.location.href = redirectURL;
1604                		}
1605                		return;
1606                	}
1607                	
1608                    callbackSuc($.parseJSON($.url.decode(JSON.stringify(data._msg_._body_))), $.parseJSON($.url.decode(JSON.stringify(data._msg_._common_))), status, xhr);
1609                    try{
1610                    	var mccuidCookie = xhr.getResponseHeader("MCCUID");
1611                    	if(mccuidCookie){
1612                    		JUtilWindow.setCookie("MCCUID", mccuidCookie);
1613                    	}
1614                    }catch(e){ 
1615						// ignore
1616					}
1617                    break;
1618                case "99":
1619                    // ¿À·ù
1620                    if (callbackErr) {
1621                    	callbackErr(data._msg_._common_);
1622                    } else {
1623                    	//alert("["+data._msg_._common_['error.code']+"] "+$.url.decode(data._msg_._common_['error.message']));
1624                    	comErrorMessage(data._msg_._common_['error.code'], $.url.decode(data._msg_._common_['error.message']), null, callbackErr);
1625                    }
1626                    break;
1627                }
1628            } else {
1629            	if (callbackSuc)
1630                    callbackSuc(data, null, status, xhr);
1631            }
1632        },
1633        error : function(xhr, status, err) {
1634            isSubmit = false;
1635            if(!isDemon){
1636            	loadingBlock(false);
1637            }
1638
1639            if ( actionStatus != null && actionStatus == false ){
1640                if (typeof err == 'object')
1641                    err = "¿äû ó¸®Áß ¿À·ù°¡ ¹ß»ý ÇÏ¿´½À´Ï´Ù.";
1642                if (callbackErr) {
1643                	callbackErr(err);
1644                } else {
1645                	//alert("Àá½Ã¸¸ ±â´Ù·Á ÁÖ¼¼¿ä. [COM99]");
1646                	comErrorMessage('COM999', err, null, callbackErr);
1647                }
1648            }
1649        },
1650        complete : function(xhr, status) {
1651        }
1652    });
1653};
1654
1655/**
1656 * content ¿µ¿ªÀ» URL Á¤º¸·Î ·Îµå ÇÑ´Ù.
1657 *
1658 * @param container
1659 * @param form
1660 * @param mid
1661 * @param wid
1662 * @param callbackSuc
1663 * @param callbackErr
1664 */
1665function loadContent(container, form, mid, wid, callbackSuc, callbackErr, isDemon) {
1666    if (isSubmit)
1667        return;
1668
1669    form = form || JUtilForm.createForm("layerSubmitForm");
1670    
1671    removeHidden(form, 'action_type');
1672    removeHidden(form, 'ib20_action');
1673    
1674    if (wid) {
1675        appendHidden(form, 'action_type', 'wgt');
1676        appendHidden(form, 'ib20_action', '/ib20/wgt/' + wid + '?ib20_cur_mnu=' + mid);
1677    } else {
1678        appendHidden(form, 'action_type', 'mnu');
1679        appendHidden(form, 'ib20_action', '/ib20/mnu/' + mid);
1680    }
1681    
1682    /** html contents update */
1683    ajaxCall(form, function(data) {
1684    	
1685    	var dom = $(data);
1686    	//À§Á¬ È£ÃâÀ϶§ ¸®ÅÏµÈ dom¿¡ ¿À·ùÀ§Á¬ÀÌ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì ¿À·ùÆäÀÌÁö ¸®´ÙÀÌ·ºÆ®À̹ǷΠÆäÀÌÁö Á¤»ó Ç¥½Ã¸¦ À§ÇØ ¿À·ùÀ§Á¬ºÎºÐ¸¸ domÀ¸·Î ÁöÁ¤ÇÑ´Ù.
1687    	if (wid) {
1688    		if (dom.find("#CMNERR00000050VM").length > 0) {
1689    			dom = dom.find("#CMNERR00000050VM").children();
1690    			$(container).addClass("error");
1691    		}
1692    	}
1693    	
1694        $(container).html(dom);
1695
1696        if (callbackSuc) callbackSuc(data);
1697    }, function(data) {
1698        if (callbackErr) {
1699            callbackErr(data);
1700        } else {
1701            showErrorMessage(data);
1702        }
1703    }, 'html', isDemon);
1704}
1705
1706/**
1707 * Ajax ÄÝ¹é µ¥ÀÌÅÍ ¿¡¼­ °ªÀ» ¹Ýȯ.
1708 *
1709 * @param data
1710 * @param key
1711 * @returns
1712 */
1713function getDataValue(data, key) {
1714    if (!data || !key)
1715        return '';
1716    var decodeKey = $.url.decode(key);
1717    return data[decodeKey] ? $.url.decode(data[decodeKey]) : '';
1718}
1719
1720/**
1721 * Json To String
1722 *
1723 * @param data
1724 * @returns
1725 */
1726function jsonToString(data) {
1727    var str = JSON.stringify(data);
1728    return str;
1729}
1730
1731
1732//PasswordTypeSet ¼¼ÆÃ
1733function isPassWordTypeSet(form){
1734    var Passworddata="";
1735    $($(form).find('input')).each(function(inx) {
1736        // password type À» hidden Data ¿¡ ÀúÀåÇÏ¿© ½ÇÁ¦Ã¼Å©ÇÒ¶§´Â »èÁ¦ÇÑ´Ù.
1737        if (this.type == 'password') {
1738            Passworddata=Passworddata+this.name+":";
1739        }
1740    });
1741
1742    if(Passworddata!=""){
1743        appendHidden(form,"_PasswordCheckPass",Passworddata);
1744    }
1745}
1746
1747
1748/**
1749 * ¿À·ù ÄÚµå ¹Ýȯ.
1750 *
1751 * @param data
1752 * @returns
1753 */
1754function getErrorCode(data) {
1755    return getDataValue(data, 'resCode') == '00' ? getDataValue(data, 'errorCode') : getDataValue(data, 'error.code');
1756}
1757
1758/**
1759 * ¿À·ù ¸Þ¼¼Áö ¹Ýȯ.
1760 *
1761 * @param data
1762 * @returns
1763 */
1764function getErrorMessage(data) {
1765    return getDataValue(data, 'resCode') == '00' ? getDataValue(data, 'errorMsg') : getDataValue(data, 'error.message');
1766}
1767
1768/**
1769 * ¿À·ù ¿øÀÎ Á¤º¸ ¹Ýȯ.
1770 *
1771 * @param data
1772 * @returns
1773 */
1774function getErrorCauseDesc(data) {
1775    var message = getDataValue(data, 'resCode') == '00' ? getDataValue(data, 'errorCauseDesc') : getDataValue(data,'error.customer.message');
1776    return message;
1777}
1778
1779/**
1780 * ¿¡·¯ ¸Þ¼¼Áö display.
1781 *
1782 * @param errorCode
1783 * @param errorMsg
1784 * @param errorDtl
1785 * @param callback
1786 */
1787function comErrorMessage(errorCode, errorMsg, errorDtl, callback) {
1788    if ( errorMsg == 'timeout' || errorDtl == 'timeout'){
1789        Message.error("FEX014", "Åë½ÅÀå¾Ö°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. [¼ö½ÅÁß¿¡·¯]", errorDtl, callback);
1790    } else {
1791        Message.error(errorCode, errorMsg, errorDtl, callback);
1792    }
1793
1794}
1795
1796
1797function getErrorGuideMessage(data) {
1798    var message = getDataValue(data, 'error.customer.guide.message') ? getDataValue(data, 'error.customer.guide.message') : "";
1799    return message;
1800}
1801/**
1802 * ¿¡·¯ ¸Þ¼¼Áö.
1803 *
1804 * @param data
1805 * @param callback
1806 */
1807function showErrorMessage(data, callback) {
1808    var customerMessage = getErrorCauseDesc(data);
1809    if ( getErrorGuideMessage(data) != '' ){
1810        customerMessage += "<br/>" + getErrorGuideMessage(data);
1811    };
1812
1813    var instanceId = getDataValue(data, 'error.instance.id');
1814    if(instanceId != ''){
1815        comErrorMessage(getErrorCode(data) + "-"+instanceId, getErrorMessage(data), customerMessage, callback);
1816    } else {
1817        comErrorMessage(getErrorCode(data), getErrorMessage(data), customerMessage, callback);
1818    }
1819}
1820
1821function logoutTimeExtend() {
1822	JutilObject.startTimer().loginTimeSubmit();
1823}
1824
1825/**
1826 * ¸ÞÀÎÆäÀÌÁö À̵¿
1827 */
1828function goMain() {
1829	hideLoadingBlock(true);
1830	goMenu(MENU_PREFIX_3 + "MAN00001");
1831}
1832
1833/**
1834 * ·Î±×ÀÎ ÆäÀÌÁö À̵¿
1835 */
1836function goLogin() {
1837	goMenu(MENU_PREFIX_3 + "SGMMLO10"); 
1838}
1839
1840/**
1841 * Å×½ºÆ® ·Î±×ÀÎ ÆäÀÌÁö À̵¿
1842 */
1843function goTestLogin() {
1844	goMenu(MENU_PREFIX_3 + "POCMLO20");
1845}
1846
1847/**
1848 * ±âº» ·Î±×¾Æ¿ô ó¸®
1849 *
1850 * @param isAutoLogout
1851 * @param callback
1852 */
1853function doLogout(isAutoLogout, targetMenuId) {
1854
1855	// popup window close.
1856	// sandbox ¿¡¼­ ¿À·ù¹ß»ý
1857	try {
1858		if (Utils.winObj) {
1859			Utils.winObj.close();
1860		}
1861	} catch(e) { 
1862		// ignore
1863	}
1864	
1865	var form = JUtilForm.createForm("logout");
1866
1867	appendHidden(form, 'action_type' , 'act');
1868	appendHidden(form, 'ib20_action' , '/ib20/act/RZMCMMCMM02001AM?ib20_cur_mnu=' + BASE_MENU_ID + '&ib20_cur_wgt=' + BASE_WIDGET_ID + "&ib20.persistent.lang.code=");
1869	
1870	var logoutCallback = function() {
1871		sendToApp("logout");
1872		if (isAutoLogout) {
1873			goMenu(LOGOUT_MENU_ID);
1874		} else {
1875			sendToApp("cancel_auto_login");	//¸í½ÃÀû·Î±×¾Æ¿ôÀÏ °æ¿ì ÀÚµ¿·Î±×¾Æ¿ô ÇØÁ¦
1876			Message.alert("·Î±×¾Æ¿ô µÇ¾ú½À´Ï´Ù.");
1877			if (JUtilFormat.isEmpty(targetMenuId)) {
1878				goMain();
1879			} else {
1880				goMenu(targetMenuId);
1881			}
1882		}
1883	};
1884	
1885	callAction(form, logoutCallback, logoutCallback);
1886}
1887
1888function doSign(form, plain, callbackVid, errorcallback){
1889	var option = {
1890			encoding: 'Hex'
1891	};
1892
1893	var config = {
1894			btnId : 'certDocLoginBtn',
1895			baseUrl: '/resource/product/yettie/vestsign',
1896			type:'iframe',
1897	        //OID: ['yessignCA Class 1:1.2.410.200005.1.1.1','yessignCA Class 1:1.2.410.200005.1.1.5','yessignCA Class 2:1.2.410.200005.1.1.1','yessignCA Class 2:1.2.410.200005.1.1.5','signGATE CA4:1.2.410.200004.5.2.1.2','signGATE CA4:1.2.410.200004.5.2.1.1','SignKorea CA2:1.2.410.200004.5.1.1.5','SignKorea CA2:1.2.410.200004.5.1.1.7','CrossCertCA2:1.2.410.200004.5.4.1.1','CrossCertCA2:1.2.410.200004.5.4.1.2','TradeSignCA2:1.2.410.200012.1.1.1','TradeSignCA2:1.2.410.200012.1.1.3','signGATE FTCA04:1.2.410.200004.10.1.1','signGATE CA5:1.2.410.200004.5.2.1.2','signGATE CA5:1.2.410.200004.5.2.1.1','SignKorea CA3:1.2.410.200004.5.1.1.5','SignKorea CA3:1.2.410.200004.5.1.1.7','CrossCertCA3:1.2.410.200004.5.4.1.1','CrossCertCA3:1.2.410.200004.5.4.1.2','TradeSignCA3:1.2.410.200012.1.1.1','TradeSignCA3:1.2.410.200012.1.1.3','signGATE FTCA04:1.2.410.200004.10.1.1']
1898			OID: "all"
1899	};
1900
1901	var vid =  {
1902			idn: '',
1903          	recipientCertificate: s
1904	};
1905	option.vid = vid;
1906	yettie.init(config);
1907	yettie.sign(plain, option, callbackVid, errorcallback);
1908}
1909
1910
1911function doFileUpload(form, aid, mid, callbackSuc, callbackErr){
1912    try{
1913        doFileUploadAjaxSubmit(form, aid, mid, callbackSuc, callbackErr);
1914        return;
1915    }catch(err){
1916        loadingBlock(false);
1917        Message.alert('ÆÄÀÏó¸®Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.');
1918    }
1919}
1920
1921
1922function doFileUploadAjaxSubmit(form, aid, mid, callbackSuc, callbackErr){
1923
1924  //  var action = '/ib20/act/'+aid;
1925
1926	var action = '/ib20/act/'+aid;
1927    $(form).attr("action", action);
1928
1929    if ( mid ) {
1930        appendHidden(form, "ib20_cur_mnu_file", mid, false);
1931    }
1932
1933    //Á¢±ÙÁ¦¾î form name »èÁ¦
1934    removeHidden(form,"ib20_cur_mnu");
1935
1936    $(form).ajaxSubmit({
1937        url: '/ib20/act/'+aid,
1938        type: "POST",
1939        dataType:'json',
1940
1941        success : function(data, status, xhr) {
1942            isSubmit = false;
1943            loadingBlock(false);
1944
1945          try {
1946              // data ¸¦ Object ·Î º¯È¯ÇØÁØ´Ù.)
1947              if (!data._msg_)
1948                  data = $.parseJSON(data);
1949
1950              switch (data._msg_._common_["resCode"]) {
1951                  case "00":
1952                      // Á¤»ó
1953                      if(callbackSuc) {
1954                          callbackSuc($.parseJSON($.url.decode(JSON.stringify(data._msg_._body_))), $.parseJSON($.url.decode(JSON.stringify(data._msg_._common_))));
1955                      } else {
1956                          Message.alert("ÆÄÀÏ ¾÷·Îµå ¼º°ø");
1957                      }
1958                      break;
1959                  case "99":
1960                      // ¿À·ù
1961                      if (callbackErr){
1962                    	  callbackErr(data._msg_._common_);
1963                      }
1964
1965                      else{
1966                    		var msgCommon = data._msg_._common_;
1967                      		var errorCode= msgCommon['error.code'];
1968                      		var errorMessage =$.url.decode(msgCommon['error.message']);
1969                      		Message.alert(errorMessage);
1970                      }
1971                          /*showErrorMessage(data._msg_._common_, function(form){
1972
1973                          });*/
1974
1975                      break;
1976              }
1977          } catch(e) {
1978              alert(e.message);
1979              if(callbackSuc) callbackSuc(data);
1980          }//end try-catch
1981      },
1982      error : function(xhr, status, err) {
1983          isSubmit = false;
1984          loadingBlock(false);
1985
1986          if (typeof err == 'object')
1987              err = LOCALE == 'ko' ? '¿äû ó¸®Áß ¿À·ù°¡ ¹ß»ý ÇÏ¿´½À´Ï´Ù.' : 'An error has occurred in processing the request.';
1988          if (callbackErr)
1989              callbackErr(err);
1990          else
1991              //comErrorMessage('COM999', err, null, callbackErr);
1992        	  Message.alert("[COM999] " + err, null, callbackErr);
1993      },
1994      complete : function(xhr, status) {
1995      }
1996    });
1997
1998}
1999
2000
2001/**
2002 * ByteFile Download ½ÇÇà
2003 *
2004 * @param form -
2005 *            document form object
2006 * @param fileNo -
2007 *            ½ÇÇàµÇ¾î¾ßÇÒ JSP ÆÄÀÏ ½Äº°ÀÚ.
2008 * @param filename -
2009 *            file ¸í
2010 */
2011function doDownload(form, fileNo, fileName, mid) {
2012
2013    form = form || JUtilForm.createForm('downLoadForm');
2014    appendHidden(form, "fileName", fileName, false);
2015    if ( mid ) {
2016        appendHidden(form, "ib20_cur_mnu", mid, false);
2017    }
2018
2019    //===================================
2020    // ÆÄÀÏ °Ë»ç
2021    //===================================
2022    var actionForm = JUtilForm.createForm('fileInspectForm', $(form).attr("name"));
2023    appendHidden(actionForm, "ib20_action", '/ib20/act/', false);
2024    appendHidden(actionForm, "ib20_cur_wgt", BASE_WIDGET_ID , false);
2025    appendHidden(actionForm, "ib20_cur_mnu_file", BASE_MENU_ID , false);
2026
2027    callAjax(actionForm, "CMNCMNFIL00201AM", function(data) {
2028        //===================================
2029        // ÆÄÀÏ °Ë»ç ¿Ï·á ÈÄ ÆÄÀÏ ´Ù¿î·Îµå ÁøÇà (1 : Á¸Àç, 0 : ÆÄÀÏ ¾øÀ½)
2030        //===================================
2031        if(data.FIL_RSP_CD == '1') {
2032            form.action = "/ib20/fil/" + fileNo;
2033            form.submit();
2034        }//end if
2035
2036    }, false, null, null, function(data) {
2037        Message.alert(getErrorMessage(data));
2038    });
2039    return false;
2040}
2041
2042function goCmnSubmit(){
2043	var selectedValue = $('#cmnSubmit').val();
2044	if(selectedValue == '') return;
2045	var goodsCd = selectedValue.substring(0, selectedValue.indexOf(":"));
2046	var menuId = selectedValue.substring(selectedValue.indexOf(":")+1);
2047	goReport(goodsCd, menuId);
2048}
2049
2050
2051/**
2052 * °Ô½ÃÆÇ »ó¼¼È­¸é À̵¿
2053 * @param form		form name
2054 * @param seq		°Ô½Ã±Û ½ÃÄö½º
2055 * @param target	target widget
2056 * @param flag		true : menu, false : widget
2057 * @param type	    ´ÙÁß°Ô½ÃÆÇÀÏ °æ¿ì °¢ °Ô½ÃÆÇ ±¸ºÐ
2058 */
2059function goView(form, seq, mid ,target, flag, type){
2060	var _paramFrm = JUtilForm.createForm("_paramFrm", form);
2061
2062	if(type){
2063		removeHidden(_paramFrm,"TYPE");
2064		appendHidden(_paramFrm, "TYPE", type);
2065	}
2066	if(seq){
2067		removeHidden(_paramFrm,"ARTICLE_SEQ");
2068		appendHidden(_paramFrm, "ARTICLE_SEQ", seq);
2069	}
2070
2071
2072	if(flag){
2073		appendHidden(_paramFrm, "action_type", "mnu");
2074		appendHidden(_paramFrm, "ib20_action", "/ib20/mnu/" + mid);
2075		appendHidden(_paramFrm, "ib20_wc", target + ":" + target);
2076		callMenu(_paramFrm);
2077	}else{
2078		appendHidden(_paramFrm, "action_type", "wgt");
2079		appendHidden(_paramFrm, "ib20_action", "/ib20/wgt/" + target);
2080		appendHidden(_paramFrm, "ib20_cur_mnu", BASE_MENU_ID);
2081		appendHidden(_paramFrm, "ib20_cur_wgt", BASE_WIDGET_ID);
2082		callWidget(_paramFrm);
2083	}
2084
2085}
2086
2087/**
2088 * °Ô½ÃÆÇ µî·ÏÈ­¸é À̵¿
2089 * @param form
2090 * @param mid		menu id
2091 * @param target	target widget
2092 * @param flag		true : menu, false : widget
2093 * @param ins		N : Y
2094 * @param type     ´ÙÁß°Ô½ÃÆÇ ÀÏ °æ¿ì
2095 */
2096function goWriteView(form, mid ,target, flag, ins, type){
2097	var _paramFrm = JUtilForm.createForm("_paramFrm", form);
2098	if(type){
2099		appendHidden(_paramFrm, "TYPE", type);
2100	}
2101
2102	if(ins == "N")
2103		appendHidden(_paramFrm, "writeFlag", "N");
2104
2105	if(flag){
2106		appendHidden(_paramFrm, "action_type", "mnu");
2107		appendHidden(_paramFrm, "ib20_action", "/ib20/mnu/" + mid);
2108		appendHidden(_paramFrm, "ib20_wc", target + ":" + target);
2109		callMenu(_paramFrm);
2110	}else{
2111		appendHidden(_paramFrm, "action_type", "wgt");
2112		appendHidden(_paramFrm, "ib20_action", "/ib20/wgt/" + target);
2113		appendHidden(_paramFrm, "ib20_cur_mnu", BASE_MENU_ID);
2114		appendHidden(_paramFrm, "ib20_cur_wgt", BASE_WIDGET_ID);
2115		callWidget(_paramFrm);
2116	}
2117
2118}
2119
2120/**
2121 * °Ô½ÃÆÇ ÆÄÀÏ ´Ù¿î·Îµå ¹× Ä«¿îÆ® Áõ°¡
2122 * @param form		form name
2123 * @param fileSeq   file sequence
2124 * @param fileNm    file name
2125 * @param aid        action id
2126 * @param type      ´ÙÁß°Ô½ÃÆÇÀÏ °æ¿ì °Ô½ÃÆÇ ±¸ºÐ
2127 * @param seq       ´ÙÁß°Ô½ÃÆÇÀÏ °æ¿ì °Ô½Ã±Û seq
2128 */
2129
2130function downLoadBoardFile(form, fileSeq, fileNm, aid, type, seq){
2131	var _paramFrm = JUtilForm.createForm("_paramFrm", form);
2132    appendHidden(_paramFrm, "fileName", fileNm, false);
2133    appendHidden(_paramFrm, "ib20_cur_mnu", BASE_MENU_ID, false);
2134    appendHidden(actionForm, "ib20_cur_mnu_file", BASE_MENU_ID , false);
2135    appendHidden(_paramFrm, "FILE_SEQ", fileSeq, false);
2136
2137    if(seq){
2138    	removeHidden(_paramFrm,"ARTICLE_SEQ");
2139    	appendHidden(_paramFrm, "ARTICLE_SEQ", seq, false);
2140    }
2141    if(type){
2142    	removeHidden(_paramFrm,"TYPE");
2143    	appendHidden(_paramFrm, "TYPE", type, false);
2144    }
2145    //===================================
2146    // ÆÄÀÏ °Ë»ç
2147    //===================================
2148    var actionForm = JUtilForm.createForm('fileInspectForm', $(_paramFrm).attr("name"));
2149    appendHidden(actionForm, "ib20_action", '/ib20/act/', false);
2150    appendHidden(actionForm, "ib20_cur_wgt", BASE_WIDGET_ID , false);
2151
2152    callAjax(actionForm, "CMNCMNFIL00201AM", function(data) {
2153        //===================================
2154        // ÆÄÀÏ °Ë»ç ¿Ï·á ÈÄ ÆÄÀÏ ´Ù¿î·Îµå ÁøÇà (1 : Á¸Àç, 0 : ÆÄÀÏ ¾øÀ½)
2155        //===================================
2156        if(data.FIL_RSP_CD == '1') {
2157        	_paramFrm.action = "/ib20/fil/" + aid;
2158        	_paramFrm.submit();
2159        }//end if
2160
2161    }, false, null, null, function(data) {
2162        Message.alert(getErrorMessage(data));
2163    });
2164}
2165
2166
2167/**
2168 * °Ô½ÃÆÇ ¸ñ·Ï »èÁ¦
2169 * @param form
2170 * @param aid
2171 * @param callbackSuc
2172 * @param callbackErr
2173 * @param type
2174 * @param seq
2175 */
2176function removeArticle(form, aid, callbackSuc, callbackErr, type, seq){
2177	var _deleteForm = JUtilForm.createForm("_deleteForm", form);
2178	if(type){
2179		removeHidden(_deleteForm,"TYPE");
2180		appendHidden(_deleteForm, "TYPE", type, false);
2181	}
2182	if(seq){
2183		removeHidden(_deleteForm,"ARTICLE_SEQ");
2184		appendHidden(_deleteForm, "ARTICLE_SEQ", seq, false);
2185	}
2186	callAjax(_deleteForm, aid, callbackSuc, null, null,  callbackErr, null);
2187}
2188
2189
2190/**
2191 * °Ô½Ã±Û µî·Ï
2192 * @param form				form id
2193 * @param aid				action id
2194 * @param callbackSuc	callbackSuc
2195 * @param callbackErr		callbackErr
2196 * @param type				´ÙÁß°Ô½ÃÆÇÀÏ °æ¿ì °¢ °Ô½ÃÆÇ ±¸ºÐ
2197 */
2198function insertArticle(form, aid, callbackSuc, callbackErr, type){
2199
2200	var action = '/ib20/act/' + aid;
2201    $(form).attr("action", action);
2202
2203    appendHidden(form, "ib20_cur_mnu_file", BASE_MENU_ID, false);
2204    //Á¢±ÙÁ¦¾î form name »èÁ¦
2205    removeHidden(form,"ib20_cur_mnu");
2206
2207    if(type){
2208    	removeHidden(form,"TYPE");
2209    	 appendHidden(form, "TYPE", type, false);
2210    }
2211
2212    $(form).ajaxSubmit({
2213        url: '/ib20/act/' + aid,
2214        type: "POST",
2215        dataType:'json',
2216
2217        success : function(data, status, xhr) {
2218            isSubmit = false;
2219            loadingBlock(false);
2220
2221          try {
2222              // data ¸¦ Object ·Î º¯È¯ÇØÁØ´Ù.)
2223              if (!data._msg_)
2224                  data = $.parseJSON(data);
2225
2226              switch (data._msg_._common_["resCode"]) {
2227                  case "00":
2228                      // Á¤»ó
2229                      if(callbackSuc) {
2230                          callbackSuc($.parseJSON($.url.decode(JSON.stringify(data._msg_._body_))), $.parseJSON($.url.decode(JSON.stringify(data._msg_._common_))));
2231                      } else {
2232                          Message.alert("°Ô½Ã±Û µî·Ï ¼º°ø");
2233                      }
2234                      break;
2235                  case "99":
2236                      // ¿À·ù
2237                      if (callbackErr)
2238                          callbackErr(data._msg_._common_);
2239                      else{
2240                    		var msgCommon = data._msg_._common_;
2241                      		var errorCode= msgCommon['error.code'];
2242                      		var errorMessage =$.url.decode(msgCommon['error.message']);
2243                      		Message.alert(errorMessage);
2244                      }
2245                          /*showErrorMessage(data._msg_._common_, function(form){
2246
2247                          });*/
2248
2249                      break;
2250              }
2251          } catch(e) {
2252              alert(e.message);
2253              if(callbackSuc) callbackSuc(data);
2254          }//end try-catch
2255      },
2256      error : function(xhr, status, err) {
2257          isSubmit = false;
2258          loadingBlock(false);
2259
2260          if (typeof err == 'object')
2261              err = LOCALE == 'ko' ? '¿äû ó¸®Áß ¿À·ù°¡ ¹ß»ý ÇÏ¿´½À´Ï´Ù.' : 'An error has occurred in processing the request.';
2262          if (callbackErr)
2263              callbackErr(err);
2264          else
2265              //comErrorMessage('COM999', err, null, callbackErr);
2266        	  Message.alert("[COM999] " + err, null, callbackErr);
2267      },
2268      complete : function(xhr, status) {
2269      }
2270    });
2271
2272}
2273
2274
2275
2276
2277/**
2278 *
2279 * @param form
2280 * @param aid				action id
2281 * @param seq				°Ô½Ã±Û ½ÃÄö½º
2282 * @param callbackSuc   ¼º°øÄݹéÇÔ¼ö
2283 * @param callbackErr     ½ÇÆÐÄݹéÇÔ¼ö
2284 * @param type             ´ÙÁß°Ô½ÃÆÇÀÏ °æ¿ì °¢ °Ô½ÃÆÇ ±¸ºÐ
2285 */
2286function updtArticle(form, aid, seq, callbackSuc, callbackErr, type){
2287
2288	var action = '/ib20/act/'+ aid;
2289    $(form).attr("action", action);
2290
2291    appendHidden(form, "ib20_cur_mnu_file", BASE_MENU_ID, false);
2292    //Á¢±ÙÁ¦¾î form name »èÁ¦
2293    removeHidden(form,"ib20_cur_mnu");
2294
2295    if(type){
2296    	removeHidden(form,"TYPE");
2297    	appendHidden(form, "TYPE", type, false);
2298    }
2299    if(seq){
2300    	removeHidden(form,"ARTICLE_SEQ");
2301    	appendHidden(form, "ARTICLE_SEQ", seq, false);
2302    }
2303
2304
2305    $(form).ajaxSubmit({
2306        url: '/ib20/act/'+ aid,
2307        type: "POST",
2308        dataType:'json',
2309
2310        success : function(data, status, xhr) {
2311            isSubmit = false;
2312            loadingBlock(false);
2313
2314          try {
2315              // data ¸¦ Object ·Î º¯È¯ÇØÁØ´Ù.)
2316              if (!data._msg_)
2317                  data = $.parseJSON(data);
2318
2319              switch (data._msg_._common_["resCode"]) {
2320                  case "00":
2321                      // Á¤»ó
2322                      if(callbackSuc) {
2323                          callbackSuc($.parseJSON($.url.decode(JSON.stringify(data._msg_._body_))), $.parseJSON($.url.decode(JSON.stringify(data._msg_._common_))));
2324                      } else {
2325                          Message.alert("°Ô½Ã±Û µî·Ï ¼º°ø");
2326                      }
2327                      break;
2328                  case "99":
2329                      // ¿À·ù
2330                      if (callbackErr)
2331                          callbackErr(data._msg_._common_);
2332                      else{
2333                    		var msgCommon = data._msg_._common_;
2334                      		var errorCode= msgCommon['error.code'];
2335                      		var errorMessage =$.url.decode(msgCommon['error.message']);
2336                      		Message.alert(errorMessage);
2337                      }
2338                          /*showErrorMessage(data._msg_._common_, function(form){
2339
2340                          });*/
2341
2342                      break;
2343              }
2344          } catch(e) {
2345              alert(e.message);
2346              if(callbackSuc) callbackSuc(data);
2347          }//end try-catch
2348      },
2349      error : function(xhr, status, err) {
2350          isSubmit = false;
2351          loadingBlock(false);
2352
2353          if (typeof err == 'object')
2354              err = LOCALE == 'ko' ? '¿äû ó¸®Áß ¿À·ù°¡ ¹ß»ý ÇÏ¿´½À´Ï´Ù.' : 'An error has occurred in processing the request.';
2355          if (callbackErr)
2356              callbackErr(err);
2357          else
2358              //comErrorMessage('COM999', err, null, callbackErr);
2359        	  Message.alert("[COM999] " + err, null, callbackErr);
2360      },
2361      complete : function(xhr, status) {
2362      }
2363    });
2364
2365}
2366
2367
2368/**
2369 * ´õº¸±â ¹öư Ȱ¼ºÈ­ ó¸® (°øÅëºÎ ¼³Á¤°ªÀ¸·Î ó¸®)
2370 * @param common
2371 * @param pMoreId
2372 * @param form
2373 */
2374function appendPaging(pObjData, pMoreId, form){
2375
2376    var currentIndex 	= "";
2377    var lastIndex 		= "";
2378    var totalCount		= "";
2379    var rowsNumber 	= "";
2380
2381
2382
2383    //============================================
2384    // ¿¬¼ÓÁ¤º¸°ª ÇÊµå ¼³Á¤
2385    //============================================
2386
2387    currentIndex = (pObjData) ? pObjData.ibs_current_page  : "1";
2388    totalCount = (pObjData) ? pObjData.ibs_total_article_count  : "0";
2389    rowsNumber = (pObjData) ? pObjData.ibs_rows_per_page  : "10";
2390
2391
2392    if (parseInt(totalCount) % parseInt(rowsNumber) == 0){
2393    	lastIndex = parseInt(parseInt(totalCount) / parseInt(rowsNumber));
2394    }
2395    else{
2396    	lastIndex = parseInt((parseInt(totalCount) / parseInt(rowsNumber))) + 1;
2397    }
2398
2399    if ( form ) {
2400        $(form).find("#index").val(parseInt(currentIndex) + 1);
2401        $(form).find("#crtidx").text(parseInt(currentIndex));
2402    } else {
2403        $("#index").val(parseInt(currentIndex) + 1);
2404        $("#crtidx").text(parseInt(currentIndex));
2405    }
2406
2407    //============================================
2408    // ´ÙÀ½ÆäÀÌÁö¿ä±¸Äڵ忩ºÎ¿¡ µû¶ó ´õº¸±â ¹öư Ȱ¼ºÈ­ ¿©ºÎÁöÁ¤
2409    //============================================
2410
2411    if(lastIndex <= currentIndex){
2412    	 if(form)
2413             $(form).find("#" + pMoreId).remove();
2414         else
2415             $("#" + pMoreId).remove();
2416    }
2417
2418}
2419
2420
2421/**
2422 * ÁÖ¼Ò°ËÁõ(³ªÀ̽º Ȧµù½º)
2423 * @param gbn				ÁÖ¼Ò±¸ºÐ(±¸ÁÖ¼Ò : 0 , µµ·Î¸í : 1)
2424 * @param post				¿ìÆí¹øÈ£
2425 * @param post_seq_no	¿ìÆíÀϷùøÈ£3ÀÚ¸®
2426 * @param addr1			ÁÖ¼Ò1
2427 * @param addr2			ÁÖ¼Ò2
2428 * @param addr_desc		»ó¼¼ÁÖ¼Ò
2429 */
2430function certAddress(gbn, post, post_seq_no, addr1, addr2, addr_desc, callbackSuc, callbackErr){
2431	var _paramFrm = JUtilForm.createForm("_paramFrm");
2432
2433    if(gbn == "0"){	 // ±¸ÁÖ¼Ò
2434    	appendHidden(_paramFrm, 'gbn', gbn);
2435    	appendHidden(_paramFrm, 'post', post);
2436    	appendHidden(_paramFrm, 'post_seq_no', post_seq_no);
2437    	appendHidden(_paramFrm, 'addr1', addr1);
2438    	appendHidden(_paramFrm, 'addr2', addr2);
2439    	appendHidden(_paramFrm, 'addr_desc', addr_desc);
2440    }else if(gbn == "1"){ // µµ·Î¸í
2441    	appendHidden(_paramFrm, 'gbn', gbn);
2442    	appendHidden(_paramFrm, 'post', "");
2443    	appendHidden(_paramFrm, 'post_seq_no', "");
2444    	appendHidden(_paramFrm, 'addr1', addr1);
2445    	appendHidden(_paramFrm, 'addr2', addr2);
2446    	appendHidden(_paramFrm, 'addr_desc', addr_desc);
2447    }
2448
2449    $(_paramFrm).ajaxSubmit({
2450        url: '/ib20/act/CMNCMNZIP02001AP',
2451        type: "POST",
2452        dataType:'json',
2453
2454        success : function(data, status, xhr) {
2455            isSubmit = false;
2456            loadingBlock(false);
2457
2458          try {
2459              // data ¸¦ Object ·Î º¯È¯ÇØÁØ´Ù.)
2460              if (!data._msg_)
2461                  data = $.parseJSON(data);
2462
2463              switch (data._msg_._common_["resCode"]) {
2464                  case "00":
2465                      // Á¤»ó
2466                      if(callbackSuc) {
2467                          callbackSuc($.parseJSON($.url.decode(JSON.stringify(data._msg_._body_))), $.parseJSON($.url.decode(JSON.stringify(data._msg_._common_))));
2468                      } else {
2469                          Message.alert("ÁÖ¼Ò °ËÁõ ¼º°ø");
2470                      }
2471                      break;
2472                  case "99":
2473                      // ¿À·ù
2474                      if (callbackErr)
2475                          callbackErr(data._msg_._common_);
2476                      else{
2477                    		var msgCommon = data._msg_._common_;
2478                      		var errorCode= msgCommon['error.code'];
2479                      		var errorMessage =$.url.decode(msgCommon['error.message']);
2480                      		Message.alert(errorMessage);
2481                      }
2482                          /*showErrorMessage(data._msg_._common_, function(form){
2483
2484                          });*/
2485
2486                      break;
2487              }
2488          } catch(e) {
2489              alert(e.message);
2490              if(callbackSuc) callbackSuc(data);
2491          }//end try-catch
2492      },
2493      error : function(xhr, status, err) {
2494          isSubmit = false;
2495          loadingBlock(false);
2496
2497          if (typeof err == 'object')
2498              err = LOCALE == 'ko' ? '¿äû ó¸®Áß ¿À·ù°¡ ¹ß»ý ÇÏ¿´½À´Ï´Ù.' : 'An error has occurred in processing the request.';
2499          if (callbackErr)
2500              callbackErr(err);
2501          else
2502              //comErrorMessage('COM999', err, null, callbackErr);
2503        	  Message.alert("[COM999] " + err, null, callbackErr);
2504      },
2505      complete : function(xhr, status) {
2506      }
2507    });
2508}
2509
2510function goReport(reportId, reportMenuId){
2511	if (reportId == "GDS0001017" && /^(BZW|RZM|RZA)MFPNSC$/.test(JUtilFormat.nvl(reportMenuId).substring(0, 9))) {
2512		Message.alert("Àü±¹¹Î ¹«·á½Å¿ëÁ¶È¸ ¸Þ´º¿¡¼­´Â Á¦°øµÇÁö ¾Ê½À´Ï´Ù.");
2513	} else {
2514		var _paramFrm = JUtilForm.createForm("_paramFrm");
2515		appendHidden(_paramFrm, 'reportCode', reportId);
2516		$(_paramFrm).attr("action", "/ib20/mnu/" + reportMenuId);
2517		loadingBlock(true); // ÆäÀÌÁö ¸¶½ºÅ·.
2518		$(_paramFrm).submit();
2519	}
2520}
2521
2522function goReportMenu(reportMenuId, reportId){
2523	goReport(reportId, reportMenuId);
2524}
2525
2526/**
2527 * Ư¼öŰ ±â´ÉÀ» Á¦ÇÑÇÏ´Â ÇÔ¼ö.
2528 *
2529 * <pre>
2530 * (Ctrl + R, Ctrl + N, F5, Ctrl + V)
2531 *  Ctrl + V Çã¿ë || event.keyCode == 86
2532 * </pre>
2533 */
2534function processKey() {
2535    if ((event.ctrlKey == true && (event.keyCode == 78 || event.keyCode == 82))
2536        || (event.keyCode >= 112 && event.keyCode <= 123)) {
2537        if (event.keyCode == 116) {
2538            if (USER_ID == '')
2539                return;
2540            alert(LOCALE == 'ko' ? 'ÀÌ ÆäÀÌÁö´Â »õ·Î °íħ ÇÒ ¼ö ¾ø½À´Ï´Ù.' : 'This page can not be reload.');
2541        }
2542        event.keyCode = 0;
2543        event.cancelBubble = true;
2544        event.returnValue = false;
2545    }
2546}
2547
2548
2549function initSecureModule(form){
2550	ExtE2E = new ext.e2e(MEDIA_TYPE);
2551    // °¡»óŰÆÐµå ÀνºÅϽº »ý¼º.
2552    ExtKeyPad = new ext.keyPad(MEDIA_TYPE);
2553    ExtE2E.init(form);
2554    ExtKeyPad.init(form);
2555
2556}
2557
2558function datePeriodChk(strDt, endDt, dayG, dayY){
2559
2560	var today = JUtilDate.getToday();
2561
2562	if (endDt > today) {
2563		alert("³¯Â¥°¡ ¿À´Ãº¸´Ù Ŭ ¼ö ¾ø½À´Ï´Ù.");
2564		return false;
2565	}
2566
2567	if (strDt > endDt) {
2568		alert("Á¶È¸ ½ÃÀÛ ³¯Â¥°¡ Á¾·á ³¯Â¥º¸´Ù Ŭ¼ö ¾ø½À´Ï´Ù.");
2569		return false;
2570	}
2571
2572	// ÁöŰ¹Ì ±â°£ üũ ·ÎÁ÷
2573	if (dayG != "") {
2574
2575		var dayS  = new Date(strDt.substring(0,4), Number(strDt.substring(4, 6)) - 1, strDt.substring(6,8));
2576		var dayE  = new Date(endDt.substring(0,4), Number(endDt.substring(4, 6)) - 1, endDt.substring(6,8));
2577		var dayM  = (dayE.getTime() - dayS.getTime()) / 1000 / 60 / 60 / 24;
2578		var dayGG = new Date(dayG.substring(0,4),Number(dayG.substring(4,6))-1,dayG.substring(6,8));
2579		var dayYY = new Date(dayY.substring(0,4),Number(dayY.substring(4,6))-1,dayY.substring(6,8));
2580
2581		if (dayYY > dayS) {
2582			alert("Á¶È¸ ±â°£Àº ÇöÀç·ÎºÎÅÍ 5³â ÀÌÇÏ·Î ¼³Á¤ÇØ ÁÖ¼¼¿ä.");
2583			return false;
2584		}
2585
2586		if (dayS < dayGG) {
2587			if (dayM > 30) {
2588				alert("1³â ÀÌÀü ³»¿ªÀº ÃÖ´ë 1°³¿ù¾¿ Á¶È¸°¡ °¡´ÉÇÕ´Ï´Ù.");
2589				return false;
2590			}
2591		}
2592
2593	// ¾îµå¹Î ±â°£ üũ ·ÎÁ÷
2594	} else {
2595		var dayS = new Date(strDt.substring(0, 4), Number(strDt.substring(5, 7)) - 1, strDt.substring(8, 10));
2596		var dayE = new Date(endDt.substring(0, 4), Number(endDt.substring(5, 7)) - 1, endDt.substring(8, 10));
2597		var dayM = (dayE.getTime() - dayS.getTime()) / 1000 / 60 / 60 / 24;
2598
2599		if (dayM > 30) {
2600			alert("Á¶È¸ ±â°£Àº 31ÀÏ ÀÌÇÏ·Î ¼³Á¤ÇØ ÁÖ¼¼¿ä.");
2601			return false;
2602		}
2603	}
2604
2605	return true;
2606}
2607
2608function checkInstallASTX2(fnSuccess, fnFailure) {
2609	if (BASE_MENU_ID != "BZWCGMRPP10") {	//º¸¾ÈÇÁ·Î±×·¥ ¼³Ä¡ ÆäÀÌÁö¿¡¼­´Â üũ Á¦
2609¿Ü
2610		$_astxj.showOverlay();
2611		
2612		$ASTX2.init(
2613				function onSuccess() {
2614					$_astxj.hideOverlay();
2615					$_astxu.log('ASTX.init() success [astx2.1]');
2616					
2617					if(fnSuccess) {	fnSuccess(); }
2618				},
2619				function onFailure() {
2620					$_astxj.hideOverlay();
2621					var errno = $ASTX2.getLastError();
2622					$_astxu.log('ASTX.init() failure: errno='+errno);
2623					if(errno == $ASTX2_CONST.ERROR_NOTINST) {
2624						Message.alert("°³ÀÎ PC ¹æÈ­º®(ASTx)ÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.");
2625						goInstallMenu("BZWCGMRPP10","ASTx");
2626					}else {
2627						if(fnFailure) { fnFailure(); }
2628					} // end of if
2629				}
2630		);
2631	}
2632}
2633
2634 /**
2635  * ¸®ÅÏŸÀÔÀÌ htmlÀÎ ajax function
2636 * @param form
2637 * @param currentWidgetId
2638 * @param callbackSuc
2639 * @param callbackErr
2640 * @param isDemon
2641 * @param isSkip
2642 */
2643function callHtmlAjax(form, changeWidgetId, callbackSuc, callbackErr, isDemon, isSkip) {
2644	if (typeof changeWidgetId === 'undefined') {
2645		return;
2646	}
2647
2648    var url = '/ib20/wgt/'+ changeWidgetId;
2649    _ajaxUrlCall(form, callbackSuc, callbackErr, url, 'html', isDemon, null, null,  isSkip);
2650 }
2651 
2652
2653
2654/*
2655 *  Banner Click Action (MOBILE)
2656 */
2657function linkBnnrUrl(bnnrSeq, link){
2658	linkBnnrUrl(bnnrSeq, link, null);
2659}
2660
2661function linkBnnrUrl(bnnrSeq, link, joinsiteId){
2662	var encCorpUrl = link.indexOf("%") > 0 ? link : encodeURI(link);
2663	
2664	var chk = link.startsWith("https://tag.adgather.net");
2665	
2666	if (chk) {
2667		var linktmp = link.split("?");
2668		var pos = linktmp[1].indexOf("=");
2669		
2670		if (pos > 0) {
2671			var key = linktmp[1].substr(0, pos);
2672			var value = linktmp[1].substr(pos+1);
2673			
2674			encCorpUrl = linktmp[0] + '?' + key + '=' + encodeURIComponent(value);
2675		}
2676	} 
2677	
2678	var bnnrForm = JUtilForm.createForm("paramForm");
2679	
2680	appendHidden(bnnrForm, "adCls", "2");
2681	appendHidden(bnnrForm, "bnnrSeq", bnnrSeq);
2682	
2683	if(MEDIA_TYPE == "A"){
2684		appendHidden(bnnrForm, "channType", "3");
2685		callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2686			sendToApp("open_inappbrowser", {"url" : "" + encCorpUrl + ""}, "");
2687	    });
2688	} else if (MEDIA_TYPE == "M") {
2689		appendHidden(bnnrForm, "channType", "2");
2690		callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2691	    });	
2692	    if(joinsiteId == "JOIN123812"){
2693			location.href = encCorpUrl;
2694		}
2695		else{
2696			window.open(encCorpUrl);
2697		}
2698	} else {
2699		appendHidden(bnnrForm, "channType", "1");
2700		callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2701			if(encCorpUrl.indexOf('m.kbsavings.com') > -1){
2702				window.open(encCorpUrl, "PopupWin", "width=600,height=800");
2703			}else if(joinsiteId == "JOIN123812"){
2704				location.href = encCorpUrl;
2705			}else{
2706				window.open(encCorpUrl);	
2707			}
2708	    });
2709	}
2710}
2711
2712
2713/*
2714 *  Banner Click Action
2715 */
2716function linkBnnrAlda(bnnrSeq, link){
2717	var encCorpUrl = link.indexOf("%") > 0 ? link : encodeURI(link);
2718	
2719	var bnnrForm = JUtilForm.createForm("paramForm");
2720	appendHidden(bnnrForm, "adCls", "2");
2721	appendHidden(bnnrForm, "bnnrSeq", bnnrSeq);
2722	
2723	if (MEDIA_TYPE == "A") {
2724		//sendToApp("open_inappbrowser", {"url" : "" + encCorpUrl + ""}, "");
2725		appendHidden(bnnrForm, "channType", "3");
2726		
2727	} else if (MEDIA_TYPE == "M") {
2728		appendHidden(bnnrForm, "channType", "2");
2729	}
2730	callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2731    });
2732	
2733	window.open(encCorpUrl, "_blank");
2734}
2735
2736
2737/*
2738 *  Banner Click Action (MOBILE) - ¿ÜºÎ ºê¶ó¿ìÀú¿ë
2739 */
2740function outLinkBnnrUrl(bnnrSeq, link){
2741	outLinkBnnrUrl(bnnrSeq, link, null);
2742}
2743
2744function outLinkBnnrUrl(bnnrSeq, link, joinsiteId){
2745	var encCorpUrl = link.indexOf("%") > 0 ? link : encodeURI(link);
2746	
2747	var bnnrForm = JUtilForm.createForm("paramForm");
2748	appendHidden(bnnrForm, "adCls", "2");
2749	appendHidden(bnnrForm, "bnnrSeq", bnnrSeq);
2750	
2751	if(MEDIA_TYPE == "A"){
2752		appendHidden(bnnrForm, "channType", "3");
2753		callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2754			sendToApp("open_browser", {"url" : "" + encCorpUrl + ""}, "");
2755	    });
2756	} else if (MEDIA_TYPE == "M") {
2757		appendHidden(bnnrForm, "channType", "2");
2758		callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2759	    });	
2760	    
2761		window.open(encCorpUrl);
2762	} else {
2763		appendHidden(bnnrForm, "channType", "1");
2764		callAjax(bnnrForm,"BZWDOLAOC00002AM", function(data){
2765			window.open(encCorpUrl);	
2766	    });
2767	}
2768}
2769
2770
2771/**
2772 * ¿ÜºÎÆäÀÌÁö ¸µÅ©
2773 * @param linkUrl
2774 */
2775function goLink(linkUrl) {
2776    var encCorpUrl = linkUrl.indexOf("%") > 0 ? linkUrl : encodeURI(linkUrl);
2777    if (MEDIA_TYPE == "A") {
2778    	sendToApp("open_inappbrowser", {"url" : "" + encCorpUrl + ""}, "");             
2779    } else {
2780        window.open(linkUrl);
2781    }
2782}
2783
2784/**
2785 * NEXT_PARAMETER·Î Àü´ÞµÈ ÆÄ¶ó¸ÞÅÍ ¸ñ·ÏÀ» ¹ÝȯÇÑ´Ù.
2786 * @param nextParameter
2787 * @returns {Array}
2788 */
2789function convertNextParameter(nextParameter) {
2790	var paramStr = "";
2791	if (nextParameter) {
2792		try {
2793			var json = null;
2794			if (typeof nextParameter == "string") {
2795				nextParameter = decodeURIComponent(nextParameter).replace(/`/g, "\"");
2796				if (/^\{/.test(nextParameter)) {
2797					json = JSON.parse(nextParameter);
2798				}
2799			} else if (nextParameter instanceof HTMLFormElement) {
2800				json = {};
2801				$(form).find("input").each(function() {
2802					if (this.name) {
2803						json[this.name] = this.value;
2804					}
2805				});
2806			} else if (typeof nextParameter == "object") {
2807				json = nextParameter;
2808			}
2809			
2810			if (json) {
2811				var list = [];
2812				for (var k in json) {
2813					var v = json[k];
2814					if (v instanceof Array) {
2815						for (var i in v) {
2816							list.push(k + "=" + v[i]);
2817						}
2818					} else {
2819						list.push(k + "=" + v);
2820					}
2821				}
2822				paramStr = list.join("&");
2823			} else {
2824				paramStr = nextParameter;
2825			}
2826			
2827		} catch(e) { 
2828			// ignore
2829		}
2830	}
2831	return paramStr;
2832}
2833
2834/**
2835 * È­¸é »õ·Î°íħ
2836 * @param isClearCustomBackHistory setGoBackActionÀ¸·Î ÀÓÀÇ ¼¼ÆÃµÈ history »èÁ¦¿©ºÎ
2837 */
2838function reload(isClearCustomBackHistory) {
2839	if (isClearCustomBackHistory) {
2840		clearCustomBackHistory(function() {
2841			window.location.reload();
2842		});
2843	} else {
2844		window.location.reload();
2845	}
2846}
2847
2848/** ÃʱâÈ­ */
2849initApp();
2850
2851/*
2852 * ¹è³Ê ½½¶óÀ̵å ÃʱâÈ­
2853 */
2854function initSwiperBanner(){
2855	$(function(){
2856		var eventSwiper = new Swiper(".eventSwiper", {
2857			loop: true,
2858			autoplay: {
2859				delay: 5000,
2860				disableOnInteraction: false,
2861				hasBtn: true
2862			},
2863			pagination: {
2864				el: ".swiper-pagination",
2865				clickable: true,
2866			},
2867			a11y: {
2868				enabled: true,
2869				paginationBulletMessage: "{{index}}¹øÂ° ¹è³Ê",
2870				notificationClass: 'swiper-notification'
2871			},
2872			on: {
2873				sliderMove: function () {
2874					for (var i = 0, len = this.slides.length; i < len; i++) {
2875						this.slides[i].style.visibility = 'visible';
2876					}
2877				},
2878				slideChangeTransitionStart: function () {
2879					for (var i = 0, len = this.slides.length; i < len; i++) {
2880						if (this.slides[i].classList.contains('swiper-slide-active')) {
2881							this.slides[i].style.visibility = 'visible';
2882							this.slides[i].setAttribute('aria-hidden', 'false');
2883						} else {
2884							this.slides[i].style.visibility = 'hidden';
2885							this.slides[i].setAttribute('aria-hidden', 'true');
2886						}
2887					}
2888					},
2889				init: function () {
2890					for (var i = 0, len = this.slides.length; i < len; i++) {
2891						if (this.slides[i].classList.contains('swiper-slide-active')) {
2892							this.slides[i].style.visibility = 'visible';
2893							this.slides[i].setAttribute('aria-hidden', 'false');
2894						} else {
2895							this.slides[i].style.visibility = 'hidden';
2896							this.slides[i].setAttribute('aria-hidden', 'true');
2897						}
2898					}
2899				}
2900			}
2901		});
2902		swiperPlayStop(eventSwiper);
2903		swiperA11y(eventSwiper);
2904	});
2905}
2906
2907/*
2908 * À̺¥Æ® ¹è³Ê ¼ÅÇÃ
2909 */
2910function suffleSwiperBanner() {
2911	var slides = [];
2912	$(".eventSwiper .swiper-slide").each(function(idx, elem) {
2913		slides.push(elem);
2914	});
2915	
2916	var tgtIdx = -1;
2917	var temp   = null;
2918	for (var idx = slides.length - 1; idx >= 0; idx--) {
2919		tgtIdx         = randomInt(idx);
2920		temp           = slides[idx];
2921		slides[idx]    = slides[tgtIdx];
2922		slides[tgtIdx] = temp;
2923	}
2924	
2925	$(slides).each(function(idx, elem) {
2926		$(".eventSwiper .swiper-wrapper").append(elem);
2927	});
2928	$(".eventSwiper").show();
2929}
2930
2931/*
2932 * Array Random Á¤·Ä ÇÔ¼ö (Fisher-Yates6)
2933 */
2934function shuffle(array){
2935	for(let i = array.length-1 ; i > 0 ; i--){
2936		 //¹«ÀÛÀ§·Î index °ª »ý¼º(0ÀÌ»ó i¹Ì¸¸)
2937		let j = randomInt(i);
2938		[array[i], array[j]] = [array[j], array[i]];
2939	}
2940}
2941
2942
2943/*
2944* 0ºÎÅÍ max-1±îÁöÀÇ °ª Áß ·£´ý °ª ÃßÃâ ÇÔ¼ö
2945* ±âÁ¸ Math.Random ÇÔ¼öÀÇ °æ¿ì Ãë¾àÁ¡ °ËÃâ
2946*/
2947function randomInt(max){
2948	 return Math.floor(window.crypto.getRandomValues(new Uint32Array(1))/4294967296 * max);
2949}
2950
2951
2952/*
2953 *   ƯÁ¤ ¿µ¿ª À̹ÌÁö Ãâ·Â ÇÔ¼ö
2954 */
2955function printImg(id, h, w) {
2956	var printContent = document.getElementById(id);
2957	var printWindow = window.open('', 'Print Image', 'heigth=400, width=600');
2958	printWindow.document.write('<html><head><title>Ãâ·ÂÀ̹ÌÁö ¹Ì¸®º¸±â</title>');
2959	printWindow.document.write('</head><body><img src=\'');
2960	printWindow.document.write(printContent.src);
2961	printWindow.document.write('\' height=\'');
2962	printWindow.document.write(h);
2963	printWindow.document.write('\' width=\'');
2964	printWindow.document.write(w);
2965	printWindow.document.write('\'/></body></html>');
2966	
2967	printWindow.document.close();
2968	printWindow.print();
2969}
2970
2971
2972/*
2973 *   ¾Û ¿¬°á ÇÔ¼ö
2974 */
2975var AgentType = navigator.userAgent;
2976var _checker = {
2977    iphone:       AgentType.match(/(iPhone|iPod)/),
2978    ipad:         AgentType.match(/iPad/),
2979    android:      AgentType.match(/Android/)
2980};
2981
2982function goDefaultMenu(runType) {
2983	 var transParamValue ="";
2984	  if(runType == "app"){
2985		  transParamValue = "P_CODE=RZAMAN00001" ; 
2986	  }
2987	  return  transParamValue;
2988}
2989
2990function runApp() {
2991	var transParamValue = goDefaultMenu("app");
2992    var appCallInfo  = {};
2993    appCallInfo["and_scheme"] = "nicejikimi";
2994    appCallInfo["and_pkg"] = "com.mobilestudio.mycreditmanager";
2995    appCallInfo["ios_scheme"] = "nicejikimi://";
2996    appCallInfo["sQuery"] = "?" + transParamValue;
2997    appCallInfo["and_store_url"] = "market://details?id=com.mobilestudio.mycreditmanager";
2998    appCallInfo["ios_store_url"] = "https://itunes.apple.com/kr/app/niceÁöŰ¹Ì/id457816753?mt=8";
2999	
3000	var openAt = new Date();
3001    var uagentLow = navigator.userAgent.toLocaleLowerCase();
3002    var chrome25;
3003    var kitkatWebview;
3004    
3005    try {
3006        var sQuery = appCallInfo["sQuery"];
3007        if (_checker.android) {
3008        	//¾Èµå·ÎÀÌµå ¾Û¼³Ä¡ ¿©ºÎ¸¦ üũÇϱâ À§ÇØ intent ¹æ½ÄÀ¸·Î url scheme È£Ãâ 
3009        	var runUrlScheme = "intent://" + sQuery + "#Intent;scheme=" + appCallInfo["and_scheme"] + ";package=" + appCallInfo["and_pkg"] + ";end";
3010        	chrome25 = uagentLow.search("chrome") > -1 && navigator.appVersion.match(/Chrome\/\d+.\d+/)[0].split("/")[1] > 25;
3011            kitkatWebview = uagentLow.indexOf("naver") != -1 || uagentLow.indexOf("daum") != -1;
3012            if (chrome25 && !kitkatWebview) {
3013            	var tempWin =  window.open(runUrlScheme);
3014                sleep(1000);
3015                if(tempWin != null) {
3016                    tempWin.close();
3017                }
3018            } else {
3019            	 document.location.href= runUrlScheme;
3020            }
3021        } else if (_checker.iphone || _checker.ipad) {
3022        	//ios´Â ¾Û¼³Ä¡ ¿©ºÎ¸¦ ½Ã°£À¸·Î üũ(2.5ÃÊ ÀÌ»ó ¹ÌÀÀ´ä ½Ã, ½ºÅä¾î À̵¿)
3023            var runUrl = appCallInfo["ios_scheme"] + sQuery;
3024            setTimeout(
3025           	      function() {
3026         	        var downUrl = appCallInfo["ios_store_url"]; 
3027                   	location.href = downUrl;
3028     	       }, 2500);
3029     	        location.href = runUrl;
3030        }
3031    } catch(ex) {
3032    	//¾Èµå·ÎÀ̵å intent È£Ãâ ¿¹¿Ü ¹ß»ý½Ã ½ºÅä¾î À̵¿
3033    	 if (new Date() - openAt < 4000) {
3034             		var downUrl = appCallInfo["and_store_url"]; 
3035	            	document.location.href = downUrl;
3036    	 }
3037    }
3038}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.