PageSourceSearch

https://www.yebyeol.co.kr/webdocs/com/common/js/bizUtil.js?time=1791585179140

js yebyeol.co.kr collected 2026-10-09 22:35:10 UTC 70,382 bytes, 2,010 lines download raw bytes

1/* cubeUtil을 상속 받는다.*/ 
2var bizUtil = cubeUtil;
3/* libUtil 를 import 한다.*/
4bizUtil.lib=libUtil;
5/* codeUtil 를 import 한다.*/
6bizUtil.code=codeUtil;
7/* cuUtil 를 import 한다.고객정보.*/
8bizUtil.cu=cuUtil;
9/* coUtil 를 import 한다.고객정보.*/
10/**************************************************************** 
11 * channel ajax 통신을 관리한다.
12 ****************************************************************/
13bizUtil.channel =  
14	{
15		   
16			 getBizAjax:function()
17			{
18				  
19				var cubeAjax = bizUtil.getCubeAjax();
20				/*
21				 * cubeAjax 를 확장한다.
22				 * */ 
23				cubeAjax._cubeActionHandlerId=null;
24				cubeAjax.setCubeActionHandlerId=function(cubeActionHandlerId)
25				{
26//					tranProp.url += (tranProp.ajaxFlag ? ".ajax" : ".form");
27					cubeAjax._cubeActionHandlerId = cubeActionHandlerId;
28				};
29				cubeAjax._cubeActionHandlerIdGbn=null;
30				cubeAjax.setCubeActionHandlerIdGbn=function(cubeActionHandlerIdGbn)
31				{
32					cubeAjax._cubeActionHandlerIdGbn = cubeActionHandlerIdGbn;
33				};
34				cubeAjax.getCubeActionHandlerIdGbn=function()
35				{
36					return cubeAjax._cubeActionHandlerIdGbn;
37				};
38				cubeAjax._param=null;
39				cubeAjax.setParam=function(param)
40				{
41//					//헤더 정보 임시 추가
42//					var inputParam={
43//							PFM_REQUEST_HEADER : {
44//								pfmEmpNo            :"1008037"
45//									,pfmEmpNm           :""
46//									,pfmHdqrtCd         :""
47//									,pfmHdqrtNm         :""
48//									,pfmBrchofCd        :""
49//									,pfmBrchofNm        :""
50//									,pfmPlcbizCd        :""
51//									,pfmPlcbizNm        :""
52//									,pfmRspofCd         :""
53//									,pfmRspofNm         :""
54//									,pfmOfcposCd        :""
55//									,pfmOfcposNm        :""
56//									,pfmRlCd            :""
57//									,pfmRlNm            :""
58//									,pfmEmpClasCd       :""
59//									,pfmDpcd            :""
60//									,ssotoken           :""
61//									,ssoGuid            :""
62//									,ssoGuid2           :""
63//									,uiControl          :""
64//									,xpUiControl        :""
65//									,pfmTrRunTime       :""
66//									,chnGatewayFlag     :""
67//									,chnGatewayTarget   :""
68//									,actlSvcId          :""
69//									,callerPgmId        :""
70//									,entrySvc           :""
71//									,rollbackOnly       :""
72//									,inputBytesLen      :""
73//									,outputBytesLen     :""
74//									,sysMsgId           :""
75//									,sysFiller          :""
76//							}
77//							
78//					};
79//					
80//					$.extend(inputParam,param);
81//
82//					cubeAjax._param = inputParam;
83					cubeAjax._param = param;
84				};
85				cubeAjax.getParam=function()
86				{
87					return cubeAjax._param;
88				};
89				
90				cubeAjax.setBizSuccessCallBack=function(callBack,originalObj)
91				{
92					cubeAjax.setUserSuccessOriginalObj(originalObj);
93					cubeAjax.setUserSuccessCallBack(callBack);
94				};
95				cubeAjax.setBizErrorCallBack=function(callBack,originalObj)
96				{
97					cubeAjax.setUserErrorOriginalObj(originalObj);
98					cubeAjax.setUserErrorCallBack(callBack);
99				};
100				cubeAjax.send=function($sendForm)
101				{
102					if(cubeAjax._param == null)
103					{
104						cubeAjax._param = {};
105					}
106					if(cubeAjax._cubeActionHandlerId == null || cubeAjax._cubeActionHandlerId=="")
107					{
108//						bizUtil.log.alert("cubeActionHandlerId 를 입력하세요.");
109						return false;
110					}
111					
112					var cubeActionHandlerId = "";
113					var cubeActionHandlerIdGbn = "";
114					
115					
116					cubeActionHandlerIdGbn  = cubeAjax._cubeActionHandlerId;
117					if(cubeAjax._cubeActionHandlerId.indexOf("_")>=0)
118					{
119						cubeActionHandlerId = cubeAjax._cubeActionHandlerId.substring(0,cubeAjax._cubeActionHandlerId.indexOf("_"));
120//						cubeAjax.setCubeActionHandlerId(cubeAjax._cubeActionHandlerId.substring(0,cubeAjax._cubeActionHandlerId.indexOf("_")));
121//						cubeAjax.setCubeActionHandlerIdGbn(cubeAjax._cubeActionHandlerId);
122					}
123					else
124					{
125						cubeActionHandlerId = cubeAjax._cubeActionHandlerId;
126					}	
127					cubeAjax.setCubeActionHandlerIdGbn(cubeActionHandlerIdGbn);
128					cubeAjax._headerParam["cubeActionHandlerId"] = cubeActionHandlerId+ ".ajax";
129					cubeAjax._headerParam["cubeActionHandlerIdGbn"] = cubeActionHandlerIdGbn;
130					//cubeAjax._param.cubeActionHandlerId = cubeAjax._cubeActionHandlerId;
131//					cubeAjax._param.cubeActionHandlerIdGbn = cubeAjax._cubeActionHandlerIdGbn;
132					cubeAjax.setUrl(sui.env.getWebRootDir(cubeActionHandlerId+ ".ajax"));
133					cubeAjax.setData(cubeAjax._param);
134					 
135					//console.log("///////////////////////// reqData start /////////////////////////");
136					//console.log(cubeAjax.getUrl(),cubeAjax._param);
137					//console.log("///////////////////////// reqData end /////////////////////////");
138	            	
139					cubeAjax.doSend($sendForm);
140				};
141				  
142				cubeAjax.addHeaderParam("cubeSystemFlag", cubeSystemInfo.cubeSystemFlag);
143				
144				
145				//cubeAjax.setTimeout(30000);
146				//cubeAjax.setContextPath("/"+cubeSystemInfo.contextRootName);  /*context 위치.*/
147				cubeAjax.setBeforeSendCallBack(this.beforeSendCallBack);
148				cubeAjax.setCompleteCallBack(this.completeCallBack);
149				cubeAjax.setSuccessCallBack(this.successCallBack);
150				cubeAjax.setErrorCallBack(this.errorCallBack);
151				cubeAjax.setMessageFlag(true);/* message 정보용으로 출력 여부에 사용.*/
152				cubeAjax.setMessage(null);/* message 내용으로 사용자 들이 셋팅하여 사용한다.*/
153				return cubeAjax;
154			}
155			
156			
157			//Ajax채널
158			,getChannelAjax:function()
159			{
160				var cubeAjax = this.getBizAjax();
161				cubeAjax.setCubeAjaxDataId("_ESB_REQ_DATA_");
162				return cubeAjax;
163			}
164			,getChannelAjaxData:function()
165			{
166				var cubeAjax = this.getBizAjax();
167				 
168				cubeAjax.setCubeAjaxDataId("_ESB_REQ_DATA_");
169				cubeAjax.setCubeAjaxData(true);
170				return cubeAjax;
171			}	
172			,getChannelDownload:function()
173			{
174				var cubeAjax = this.getBizAjax();
175				cubeAjax.setContextPath("/"+cubeSystemInfo.contextRootName);  /*context 위치.*/
176				cubeAjax.setUrl("/BizServletChannelDownFile");
177				cubeAjax.setCubeAjaxData(false);
178				cubeAjax.setBeforeSendCallBack(this.downloadBeforeSendCallBack);
179				cubeAjax.setCompleteCallBack(this.downloadCompleteCallBack);
180				cubeAjax.setSuccessCallBack(this.downloadSuccessCallBack);
181				cubeAjax.setErrorCallBack(this.downloadErrorCallBack);
182				cubeAjax.setMessageFlag(true);/* message 정보용으로 출력 여부에 사용.*/
183				cubeAjax.send=function($sendForm)
184				{
185					if(cubeAjax._cubeActionHandlerId == null || cubeAjax._cubeActionHandlerId=="")
186					{
187//						bizUtil.log.alert("cubeActionHandlerId 를 입력하세요.");
188						return false;
189					}
190					if(cubeAjax._cubeActionHandlerIdGbn == null || cubeAjax._cubeActionHandlerIdGbn=="")
191					{
192//						bizUtil.log.alert("cubeActionHandlerIdGbn 를 입력하세요.");
193						return false;
194					}
195					
196					if(cubeAjax._param == null)
197					{
198						cubeAjax._param = {};
199					}
200					var param = "";
201					for(var key in cubeAjax._param )
202					{
203						  param = param+"&"+key+"="+cubeAjax._param[key];
204					}
205					 location.href="/"+cubeSystemInfo.contextRootName+"/BizServletChannelDownFile?cubeActionHandlerId="+cubeAjax._cubeActionHandlerId+"&cubeActionHandlerIdGbn="+cubeAjax._cubeActionHandlerIdGbn+param;
206				};
207				return cubeAjax; 
208			}	
209			 ,downloadBeforeSendCallBack:function(reqData,XMLHttpRequest,settings)
210            {
211            	return true;
212            }
213            /* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
214            ,downloadSuccessCallBack:function(data,reqData,textStatus,XMLHttpRequest,userParam)
215            {
216            	 return true;
217            }
218            /* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
219            ,downloadCompleteCallBack:function(reqData,textStatus,XMLHttpRequest)
220            {
221            	if(this.messageFlag)
222            	{
223            		bizUtil.loading.end();
224            	}
225            }
226            /* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
227            ,downloadErrorCallBack:function(cubeException,reqData,
227XMLHttpRequest,textStatus,errorThrown,userParam)
228            {
229            	 
230            	return true;
231            }
232			/* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
233            ,beforeSendCallBack:function(reqData,XMLHttpRequest,settings)
234            {
235            	if(this.messageFlag)
236            	{
237            		bizUtil.loading.start(this.message);
238            	}
239            	return true;
240            }
241            /* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
242            ,successCallBack:function(data,reqData,textStatus,XMLHttpRequest,userParam)
243            {
244            	
245            	var _ESB_REQ_DATA_ = {};
246				var _ESB_RES_DATA_ = {};
247				try
248				{
249					_ESB_REQ_DATA_ = JSON.parse(reqData._ESB_REQ_DATA_);
250				}
251				catch(e)
252				{
253					alert(e);
254				}
255				
256				try
257				{
258					_ESB_RES_DATA_ = JSON.parse(data._ESB_RES_DATA_);
259				}
260				catch(e)
261				{
262					alert(e);
263				}
264				
265				//console.log("///////////////////////// success start /////////////////////////");
266				//console.log(this.headerParam["cubeActionHandlerIdGbn"]);  //서비스명 추가
267				//console.log("data.resCode ",data.resCode);
268//				console.log("data ",data);
269				//console.log("data._ESB_RES_DATA_ ",_ESB_RES_DATA_);
270				//console.log("///////////////////////// success end /////////////////////////");
271				
272            	if(data.currentDate != null )
273            	{
274            		bizUtil.setCurrentDate(data.currentDate);
275            	}	
276            	var cubeActionHandlerIdGbn = this.headerParam["cubeActionHandlerIdGbn"];
277            	 
278            	var cubeCommonInfo = {resCode:data.resCode,resMsg:data.resMsg};
279            	var userExtendCallBack = this.userExtendCallBack;
280            	if(this.dataType=="json")
281            	{
282            		
283            		this.userSuccessCallBack.call(this.userSuccessOriginalObj,cubeActionHandlerIdGbn,cubeCommonInfo,_ESB_RES_DATA_.PFM_RESPONSE_HEADER,_ESB_RES_DATA_,_ESB_REQ_DATA_,userParam,{userExtendCallBack:userExtendCallBack});
284            	}
285            	else if(this.dataType=="xml")
286            	{
287            		this.userSuccessCallBack.call(this.userSuccessOriginalObj,cubeActionHandlerIdGbn,$(data).find("cubeXmlRoot>cubeCommonInfo"),$(data).find("cubeXmlRoot>cubeException"),$(data).find("cubeXmlRoot>responseCubeBox"),reqData,userParam);
288            	}
289            	else
290            	{
291            		this.userSuccessCallBack.call(this.userSuccessOriginalObj,data,reqData,userParam);
292            	}	
293            	return true;
294            }
295            /* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
296            ,completeCallBack:function(reqData,textStatus,XMLHttpRequest)
297            {
298            	if(this.messageFlag)
299            	{
300            		bizUtil.loading.end();
301            	}
302            	bizUtil.loginRefresh();
303            	return true;
304            }
305            /* 이 함수 들은 this 객체가 cubeAjax가 내려온다.*/
306            ,errorCallBack:function(cubeException,reqData,XMLHttpRequest,textStatus,errorThrown,userParam)
307            {
308            	//bizUtil.log.alert("시스템 에러 발생.");
309            	bizUtil.loading.end();
310            	
311            	if(cubeException.errorType=="E" && (cubeException.errorCode=="1000" || cubeException.errorCode=="1001" || cubeException.errorCode=="1002"))
312            	{
313//            		bizUtil.log.alert(cubeException.errorMessage);
314            		bizUtil.pageLoad.biz("/index.html");
315            		return;
316            	}
317            	
318            	if(this.userErrorCallBack != null)
319            	{
320            		this.userErrorCallBack.call(this.userErrorOriginalObj,cubeException,XMLHttpRequest,textStatus,errorThrown,reqData,userParam);
321            	}
322            	return true;
323            }
324	};
325
326
327/**************************************************************** 
328 * 파일 다운로드 서블릿
329 ****************************************************************/ 
330bizUtil.getMasterServletStudioMedia=function(fileName)
331{
332	return "/"+cubeSystemInfo.contextRootName+"/MasterServletStudioMedia?cubeStudioMediaFileName="+fileName;
333};
334/**************************************************************** 
335 * 파일 다운로드 서블릿
336 ****************************************************************/
337bizUtil.getMasterServletStudioMediaAcs=function(fileName)
338{
339	return "/"+cubeSystemInfo.contextRootName+"/MasterServletStudioMediaAcs?cubeStudioMediaFileName="+fileName;
340};
341/***************************************************************** 
342 * @description	: 서버의 현재시간 
343 * @param		: N/A
344 * @return		: N/A
345 *****************************************************************/
346bizUtil.currentDate="";
347
348
349/***************************************************************** 
350 * @description  : 서버의 현재시간을 가져온다.
351 * @param  		 : N/A
352 * @return		 : 현재시간(YYYYMMDDHHMMSS)
353 *****************************************************************/
354bizUtil.getCurrentDate=function()
355	{
356		return bizUtil.currentDate;
357	} ;
358/***************************************************************** 
359 * @description	: 서버의 현재시간을 셋팅한다. 
360 * @param       : currentDate  => YYYYMMDDHHMMSS 
361 * @return		: N/A
362****************************************************************/
363bizUtil.setCurrentDate=function(currentDate)
364	{
365		bizUtil.currentDate = currentDate;
366	};
367/***************************************************************** 
368 * @description	: 서버의 현재일자를 가져온다.  
369 * @param       : N/A
370 * @return		: 현재시간(YYYYMMDD)
371****************************************************************/
372bizUtil.getCurrentDay=function()
373	{
374	   if(bizUtil.currentDate.length>=8)
375		{   
376		   return bizUtil.currentDate.substring(0,8);
377		}
378	   else 
379		{
380		   	 if(parent)
381			 { 
382			   return parent.bizUtil.getCurrentDay();
383			 }
384		   	return "";
385		}
386	} ;
387/***************************************************************** 
388 * @description	: 처리중 이미지 표시. 
389****************************************************************/
390bizUtil.loading=
391	{
392		/***************************************************************** 
393		 * @description	: 처리중 시작
394		 * @param       : message => 처리중 메세지.
395		 * @return		: N/A
396		****************************************************************/
397		start:function(message)
398		{
399			var hostUrl = location.protocol+"//"+location.host;
400			if(location.host == "localhost:8080"){
401				hostUrl += "/HWP";
402			}
403			if(message == null)
404			{
405				message = "잠시만 기다려 주세요.";
406			}
407			if($("#bizLoadingMessage").length>0)
408			{
409				$("#bizLoadingMessage").html(message);
410				return;
411			}	
412			var loadingLayer = "";
413			loadingLayer = "<div id='bizLoader_layer' style='width:100%;height:100%;background-color:rgba(0,0,0,0.6);position:absolute; z-index:1005; left:0px;top:0px;'>";
414			loadingLayer += "<div id='bizLoadingArea'  style='width:60%;height:30%;'>";
415			loadingLayer += "<div id='bizLoadingMessage' style='text-align:center;font-size:14px;color:aliceblue;font-weight:bold;'></div>";
416			loadingLayer += "<div style='text-align:center'><img src=\'' + sui.env.getImageDir('loading.gif') alt='로딩바' /></div>";
417			loadingLayer += "</div>";
418			loadingLayer += "</div>";
419			cubeUtil.object.loader.start(loadingLayer,"bizLoadingArea","bizLoadingMessage",message);
420		}
421		/***************************************************************** 
422		 * @description	: Loading 를 종료한다..
423		 * @param       : message => 처리중 메세지.
424		 * @return		: N/A
425		****************************************************************/
426		,end:function()
427		{
428			cubeUtil.object.loader.end();
429		}
430	};
431/***************************************************************** 
432 * @description	: 일반 공통 메서드 처리
433****************************************************************/
434bizUtil.common = {
435		
436		/**************************************************************** 
437		 * @description	: 전문의 에러 여부를 체크한다.
438		 * @param 		: cubeException => 전문의 cubeException json
439		 * @return		: true : Error,false:정상
440		 ****************************************************************/ 
441		
442		isError:function(cubeException)
443		{
444			 
445			var rtnValue = false;
446			if((typeof cubeException == "undefined") || (cubeException != null && cubeException.pfmResponseType != null  && cubeException.pfmResponseType.toUpperCase() !="I"))
447			{
448				 	rtnValue =true;
449			}
450			return rtnValue;
451		}
452		/**************************************************************** 
453		 * @description	: 전문의 메세지를 처리한다.
454		 * @param       : cubeException => 전문의 cubeException json
455		 * @return		: N/A
456		 ****************************************************************/ 
457		,printMessage:function(cubeException)
458		{
459			if(cubeException != null && cubeException.pfmResponseBasc != null)
460			{
461//				 	bizUtil.log.alert(cubeException.pfmResponseBasc );
462			}
463		}
464		/**************************************************************** 
465		 * @description	: xml type의 에러여부
466		 * @param       : cubeException => 전문의 cubeException json
467		 * @return		: true : Error,false:정상
468		 ****************************************************************/ 
469		,isErrorXml:function(cubeException)
470		{
471			 
472			var rtnValue = false;
473			if(cubeException != null && cubeException.find("errorType") != null  && cubeException.find("errorType").text().toUpperCase() !="I")
474			{
475				 	rtnValue =true;
476			}
477			return rtnValue;
478		}
479		/**************************************************************** 
480		 * @description	: xml type의 메세지를 처리한다.
481		 * @param       : cubeException => 전문의 cubeException json
482		 * @return		: N/A
483		 ****************************************************************/
484		,printMessageXml:function(cubeException)
485		{
486			if(cubeException != null && cubeException.find("errorMessage") != null  && cubeException.find("errorMessage").text() != "")
487			{
488//				 	bizUtil.log.alert(cubeException.find("errorMessage").text() );
489			}
490		}
491		
492		/**************************************************************** 
493		 * @description	: message 에서 총 카운트를 돌려준다.
494		 * @param       : message json object
495		 * @return		: 0
496		 ****************************************************************/
497		,getTotalCount:function(message)
498		{
499			if(message != null && message.dbio_total_count  != null )
500			{
501				 	return message.dbio_total_count;
502			}
503			return 0;
504		}
505		
506};
507/**************************************************************** 
508 * @description	: cubeQueue 를 생성한다.
509 * @param       : N/A
510 * @return		: cubeQueue object
511 ****************************************************************/ 
512bizUtil.getQueue = function(){
513	var queue = bizUtil.getCubeQueue(); 
514	
515	return queue;
516};
517
518/**************************************************************** 
519 * @description	: page 호출 
520 ****************************************************************/ 
521bizUtil.pageLoad={
522		/**************************************************************** 
523		 * @description	: 기본 page 호출 함수. 
524		 * @param       : url => 호출 페이지 주소 
525		 *                param => 호출된 페이지에 전달할 값
526		 *                target ==> Iframe 이름.
527		 * @return		: N/A
528		 ****************************************************************/
529		basicLoad:function(url, param,target)
530		{
531			var realUrl =  "/"+cubeSystemInfo.contextRootName+"/"+url;
532			if(typeof param != "undefiend" && param != null)
533			{
534				bizUtil.page.setMovePageInfo(realUrl, param);
535			}
536			if(target != null)
537			{
538				target.attr("src", realUrl);
539			}
540			else
541			{
542				location.href = realUrl;
543			}
544			bizUtil.loginRefresh();
545		}
546	/**************************************************************** 
547	 * @description	: 업무영역 기본 page 호출 함수. 
548	 * @param       : url => 호출 페이지 주소 
549	 *                param => 호출된 페이지에 전달할 값
550	 *                target ==> Iframe 이름.
551	 * @return		: N/A
552	 ****************************************************************/
553		,biz:function(url, param,target)
554		{
555			bizUtil.pageLoad.basicLoad(url,param,target);
556		}
557		/**************************************************************** 
558		 * @description	: 업무영역 cubeIfraA page 호출 함수. 
559		 * @param       : url => 호출 페이지 주소 
560		 *                param => 호출된 페이지에 전달할 값
561		 * @return		: N/A
562		 ****************************************************************/
563		,topA:function(url, param)
564		{
565			
566			if(bizUtil.object.isIframe())
567			{
568				parent.bizUtil.pageLoad.topA(url,param,$("#cubeIfraA",top.document));
569			}
570			else
571			{
572				if($('#cubeIfraA').is(':hidden'))
573				{	
574					//$("#cubeIfraA").show().css({left:$(window).width()}).animate({left:0},1500);
575					$("#cubeIfraA").show();
576				}
577				$("#cubeIfraB").hide({});
578				$("#cubeIfraC").hide({});
579				bizUtil.pageLoad.basicLoad(url,param,$("#cubeIfraA"));
580			}
581			
582		}
583		/**************************************************************** 
584		 * @description	: 업무영역 cubeIfraB page 호출 함수. 
585		 * @param       : url => 호출 페이지 주소 
586		 *                param => 호출된 페이지에 전달할 값
587		 * @return		: N/A
588		 ****************************************************************/
589		,topB:function(url, param)
590		{
591			
592			if(bizUtil.object.isIframe())
593			{
594				parent.bizUtil.pageLoad.topB(url,param,$("#cubeIfraB",top.document));
595			}
596			else
597			{
598				$("#cubeIfraA").hide({});
599				if($('#cubeIfraB').is(':hidden'))
600				{	
601					//$("#cubeIfraB").show().css({left:$(window).width()}).animate({left:0},1500);
602					$("#cubeIfraB").show();
603				}
604				
605				$("#cubeIfraC").hide({});
606				bizUtil.pageLoad.basicLoad(url,param,$("#cubeIfraB"));
607			}
608		}
609		/**************************************************************** 
610		 * @description	: 업무영역 cubeIfraC page 호출 함수. 
611		 * @param       : url => 호출 페이지 주소 
612		 *                param => 호출된 페이지에 전달할 값
613		 * @return		: N/A
614		 ****************************************************************/
615		,topC:function(url, param)
616		{
617			
618			if(bizUtil.object.isIframe())
619			{
620				parent.bizUtil.pageLoad.topC(url,param,$("#cubeIfraC",top.document));
621			}
622			else
623			{
624				$("#cubeIfraA").hide({});
625				$("#cubeIfraB").hide({});
626				if($('#cubeIfraC').is(':hidden'))
627				{	
628					//$("#cubeIfraC").show().css({left:$(window).width()}).animate({left:0},1500);
629					$("#cubeIfraA").show();
630					
631					
632					$("#cubeIfraC").load(function()
633						{
634						//console.log($(this));
635						//console.log($(this).contents().find("#container"));
636							var container = $(this).contents().find("#container");
637							if(container.find("#cubeBackBtn").length<=0)
638							{	
639								container.append("<div  style='position: absolute;left:2220px;top:20px;'>"
640									+"<a href='#' class='normalBtn blueColor'  id='cubeBackBtn'><span>뒤로</span></a>"
641									+"</div>");
642							
643								container.find("#cubeBackBtn").bind("click",
644										function(){
645											bizUtil.pageLoad.goBack();
646								}
647								);
648							}
649						}
650					);
651				}
652				bizUtil.pageLoad.basicLoad(url,param,$("#cubeIfraC"));
653			}
654			
655		}
656		/**************************************************************** 
657		 * @description	: 업무영역 cubeIfraA 페이지 보이기. 
658		 * @param       : N/A 
659		 * @return		: N/A
660		 ****************************************************************/
661		,goTopA:function()
662		{
663			if(bizUtil.object.isIframe())
664			{
665				parent.bizUtil.pageLoad.goTopA();
666			}
667			else
668			{
669				$("#cubeIfraA").show({});
670				$("#cubeIfraB").hide({});
671				$("#cubeIfraC").hide({});
672			}
673		}
674		/**************************************************************** 
675		 * @description	: 업무영역 cubeIfraC에서 cubeIfraB 페이지 보이기. 
676		 * @param       : N/A 
677		 * @return		: N/A
678		 ****************************************************************/
679		,goBack:function()
680		{
681			if(bizUtil.object.isIframe())
682			{
683				parent.bizUtil.pageLoad.goBack();
684			}
685			else
686			{
687				$("#cubeIfraA").hide({});
688				$("#cubeIfraB").show({});
689				$("#cubeIfraC").hide({});
690			}
691			
692		}
693};
694/*******************************************************************************
695 *@description : 업무영역 기본 pop 함수.
696 *@param       : popupGbn => 팝업구분자 callback에서 사용
697 *				 url => 호출 페이지.
698 *				 dataParam => 전달할 데이터 값.
699 *				 callBackFunc => callback 함수
700 *               optParam  => 옵션 Param
701 *@return		: N/A                   
702 ******************************************************************************/
703//bizUtil.popup.bizShow =function(popupGbn,url,dataParam,callBackFunc,optParam,userCallBackFunc) 
704//{
705//	var popParam = {};
706//	var tempUrl = url;
707//	if(url.indexOf(".scp")<0)
708//	{
709//		tempUrl = tempUrl+".scp";
710//	}	
711//	popParam.popupGbn =  popupGbn;
712//	popParam.url =  "/"+cubeSystemInfo.contextRootName+"/"+tempUrl;
713//	popParam.dataParam =  dataParam;
714//	popParam.optParam =  optParam;
715//	popParam.callBackFunc =  callBackFunc;
716//	popParam.userCallBackFunc =  userCallBackFunc;
717//	
718//	if (url == null) {
719//		bizUtil.log.alert("URL을 지정하세요");
720//		return;
721//	}
722//	return bizUtil.popup.show(popParam);
723//};
724
725
726/*******************************************************************************
727 *@description : 주민번호 또는 고객번호를 이용하여 조회하여 준다.
728 *@param       : infoData : 넘길 데이터 주민번호 또는 고객번호.
729 *               opt = {
730						 gbn :"1"   //1: 주민번호, 2:고객번호 
731						,nmObj : null  //이름이 들어갈 jquery obj
732						,idnoObj : null  //주민번호가 들어갈 jquery obj
733						,custNoObj : null  //고객번호가  들어갈 jquery obj
734				};
735 *               userCallBackFunc : callback 함수.
736 *@return	   : 
737 ******************************************************************************/
738bizUtil.searchCustInfoOptions = {
739		
740};
741bizUtil.searchCustInfoUserCallBackFunc = null;
742bizUtil.searchCustInfo=function(infoData,opt,userCallBackFunc){
743	var inputParam = {};
744	var options = {
745			 gbn :"1"   //1: 주민번호, 2:고객번호 
746			,nmObj : null  //이름이 들어갈 jquery obj
747			,idnoObj : null  //주민번호가 들어갈 jquery obj
748			,custNoObj : null  //고객번호가  들어갈 jquery obj
749	};
750	$.extend(options,opt);
751	$.extend(bizUtil.searchCustInfoOptions,options);
752	if(bizUtil.searchCustInfoOptions.gbn == null || bizUtil.searchCustInfoOptions.gbn == "")
753	{
754		bizUtil.searchCustInfoOptions.gbn = "1";
755	}	
756	if(bizUtil.searchCustInfoOptions.gbn=="1")
757	{
758		inputParam.idno   = infoData;
759	}
760	else if(bizUtil.searchCustInfoOptions.gbn=="2")
761	{	
762		inputParam.custNo   = infoData;
763	}
764	bizUtil.searchCustInfoUserCallBackFunc = userCallBackFunc;
765	bizUtil.cu.searchInfo(inputParam,bizUtil.searchCustInfoCallback);
766};
767bizUtil.searchCustInfoCallback=function(resData,reqData){
768	 
769	var nmObj = bizUtil.searchCustInfoOptions["nmObj"];
770	if(!bizUtil.string.isEmpty(nmObj))
771	{
772		
773		if(nmObj[0].nodeName=="INPUT")
774		{	
775			nmObj.val(resData.nm);
776		}
777		else
778		{
779			nmObj.text(resData.nm);
780		}
781	}	
782	var idnoObj = bizUtil.searchCustInfoOptions["idnoObj"];
783	if(!bizUtil.string.isEmpty(idnoObj))
784	{
785		if(idnoObj[0].nodeName=="INPUT")
786		{	
787			idnoObj.val(resData.idno);
788		}
789		else
790		{
791			idnoObj.text(resData.idno);
792		}
793	}
794	
795	var custNoObj = bizUtil.searchCustInfoOptions["custNoObj"];
796	if(!bizUtil.string.isEmpty(custNoObj))
797	{
798		if(custNoObj[0].nodeName=="INPUT")
799		{	
800			custNoObj.val(resData.custNo);
801		}
802		else
803		{
804			custNoObj.text(resData.custNo);
805		}
806	}
807	if(bizUtil.searchCustInfoUserCallBackFunc != null)
808	{
809		bizUtil.searchCustInfoUserCallBackFunc(resData,reqData);
810	}	
811};
812/*******************************************************************************
813 *@description : 고객 조회 팝업을 호출한다.
814 *@param       : popupGbn : 사용자 구분자
815 *               dataParam : 넘길 데이터
816 *               userCallBackFunc : callback 함수.
817 *@return	   : 
818 ******************************************************************************/
819//bizUtil.popup.searchCust=function(popupGbn,dataParam,userCallBackFunc){
820//	
821//	bizUtil.popup.bizShow(popupGbn,"CU030040P",dataParam,bizUtil.popup.searchCustCallback,{},userCallBackFunc);
822//};
823/*******************************************************************************
824 *@description : 고객 조회 팝업 callback 함수.
825 *@param       : 
826 *@return	   : 
827 ******************************************************************************/
828//bizUtil.popup.searchCustCallback=function(popupGbn,returnParam,inputParam,userCallBackFunc){
829//	console.log(userCallBackFunc);
830//	if(typeof(userCallBackFunc) !="undefined" && userCallBackFunc != null)
831//	{	
832//		userCallBackFunc(popupGbn,returnParam,inputParam);
833//	}
834//};
835/*******************************************************************************
836 *@description : 우편번호 조회 팝업을 호출한다.
837 *@param       : popupGbn : 사용자 구분자
838 *               dataParam : 넘길 데이터
839 *               userCallBackFunc : callback 함수.
840 *@return	   : 
841 ******************************************************************************/
842//bizUtil.popup.searchPost=function(popupGbn,dataParam,userCallBackFunc){
843//	
844//	bizUtil.popup.bizShow(popupGbn,"CU010040P",dataParam,bizUtil.popup.searchCustCallback,{},userCallBackFunc);
845//};
846/*******************************************************************************
847 *@description : 우편번호 조회 팝업 callback 함수.
848 *@param       : 
849 *@return	   : 
850 ******************************************************************************/
851//bizUtil.popup.searchPostCallback=function(popupGbn,returnParam,inputParam,userCallBackFunc){
852//	console.log(userCallBackFunc);
853//	if(typeof(userCallBackFunc) !="undefined" && userCallBackFunc != null)
854//	{	
855//		userCallBackFunc(popupGbn,returnParam,inputParam);
856//	}
857//};
858/*******************************************************************************
859 *@description : 값 체크 기본
860 ******************************************************************************/
861bizUtil.validate = {};
862/*******************************************************************************
863 *@description : 이미지 파일여부 확인.(GIF,JPG,JPEG,PNG)
864 *@param       : imgName => 파일 명.
865 *@return		: true : 정상 파일  
866 ******************************************************************************/
867bizUtil.validate.isImg =function(imgName) 
868{
869	
870	if(imgName.lastIndexOf(".")<0)
871	{
872		return false;
873	}
874	
875	var temp_imgName = imgName.substring(imgName.lastIndexOf("."));
876	temp_imgName = temp_imgName.toUpperCase();
877	 
878	if(temp_imgName ==".GIF" || temp_imgName ==".JPG" || temp_imgName ==".JPEG" || temp_imgName ==".PNG")
879	{
880		return true;
881	}
882	return false;
883};
884
885/*******************************************************************************
886 *@description : 실행 파일여부 확인.(.ASP.ASPX.PHP.JSP.JS.PHP3.CGI.INC.PL.HTML.HTM )
887 *@param       : imgName => 파일 명.
888 *@return		: true : 정상 파일  
889 ******************************************************************************/
890bizUtil.validate.isExeFile =function(imgName) 
891{
892	
893	if(imgName.lastIndexOf(".")<0)
894	{
895		return false;
896	}
897	
898	var temp_imgName = imgName.substring(imgName.lastIndexOf("."));
899	temp_imgName = temp_imgName.toUpperCase();
900	 
901	if(bizUtil.validate.getExeFile().indexOf(temp_imgName)>=0)
902	{
903		return true;
904	}
905	return false;
906};
907/*******************************************************************************
908 *@description : 실행 파일 확장자 리터.
909 *@param       : N/A
910 *@return	   : 실행파일 확장자 리스트  
911 ******************************************************************************/
912bizUtil.validate.getExeFile =function() 
913{
914	 return ".ASP.ASPX.PHP.JSP.JS.PHP3.CGI.INC.PL.HTML.HTM";
915};
916/*******************************************************************************
917 *@description : 파일 선택이 여러개 인경우의 파일 확장자 체크.
918 *@param       : $fileInput => file object
919 *               chkType    => check할 type (예 : IMG : 이미지, 이외 실행파일.
920 *@return	   : true : 정상 파일  
921 ******************************************************************************/
922bizUtil.validate.isMultiFileTypeCheck =function($fileInput,chkType) 
923{
924	var fileInput = $fileInput[0];
925	var temp_fileName  = "";
926	var file = null;
927    var fileName = "";
928    chkType = chkType.toUpperCase();
929	if ('files' in fileInput) 
930	{
931	    if (fileInput.files.length == 0) 
932	    {
933	        return false;
934	    } 
935	    else 
936	    {
937	        for (var i = 0; i < fileInput.files.length; i++) 
938	        {
939	            file = fileInput.files[i];
940	            fileName = file.name;
941	            if(chkType=="IMG")
942	            {	
943	            	if(bizUtil.validate.isImg(fileName)==false)
944	            	{
945	            		return false;
946	            	}	
947	            }
948	            else
949	            {
950	            	temp_fileName = fileName.substring(fileName.lastIndexOf("."));
951	            	temp_fileName = temp_fileName.toUpperCase();
952	            	if(temp_fileName !="."+chkType)
953	            	{
954	            		return false;
955	            	}
956	            }
957	        }
958	    }
959	} 
960	return true;
961};
962
963/*******************************************************************************
964 *@description : pdf 파일여부 확인.
965 *@param       : pdfName => file name
966 *@return	   : true : 정상 파일  
967 ******************************************************************************/
968bizUtil.validate.isPdf =function(pdfName) 
969{
970	
971	if(pdfName.lastIndexOf(".")<0)
972	{
973		return false;
974	}
975	
976	var temp_pdfName = pdfName.substring(pdfName.lastIndexOf("."));
977	temp_pdfName = temp_pdfName.toUpperCase();
978	 
979	if(temp_pdfName ==".PDF")
980	{
981		return true;
982	}
983	return false;
984};
985
986/*******************************************************************************
987 *@description : 현재 시간을 리턴 long으로 리터.
988 *@param       : N/A
989 *@return	   : long type의 숫자.  
990 ******************************************************************************/
991bizUtil.refreshDateLong = function( ){
992	return "?"+new Date().getTime();
993};
994
995/**************************************************************** 
996 *@description :  로그인 시간을 초기화 한다.
997 *@param       : N/A
998 *@return	   : N/A  
999 ****************************************************************/ 
1000bizUtil.loginRefresh=function()
1001{
1002	if(bizUtil.object.isIframe())
1003	{
1004		parent.bizUtil.loginRefresh();
1005	}
1006	else
1007	{
1008		$("#btnCubeRefresh").trigger("click");
1009	}
1010};
1011
1012/*******************************************************************************
1013 *@description : loging user Info 가져오기.
1014 *@param       : N/A
1015 *@return	   : loging user Info Object  
1016 ******************************************************************************/
1017bizUtil.getLoginUserInfo = function(){
1018	storage = bizUtil.getSessionStorage();
1019	
1020	return JSON.parse( storage.getItem("loginUserInfo") );	
1021};
1022
1023/*******************************************************************************
1024 *@description : loging user Info 셋팅하기.
1025 *@param       : loginUserInfo => info
1026 *@return	   : N/A  
1027 ******************************************************************************/
1028bizUtil.setLoginUserInfo = function( loginUserInfo ){
1029	storage = bizUtil.getSessionStorage();
1030	storage.setItem("loginUserInfo", JSON.stringify(loginUserInfo) );
1031};
1032
1033
1034/*******************************************************************************
1035 *@description : 로그인 사용자 ID를 전달한다.
1036 *@param       : N/A
1037 *@return	   : LoginUserInfo에서 ID를 찾아서 전달한다.
1038 ******************************************************************************/
1039bizUtil.getLoginId= function(){
1040	var userInfo = bizUtil.getLoginUserInfo();
1041	return userInfo.id;
1042};
1043/*******************************************************************************
1044 *@description : 로그인 사용자 이름를 전달한다.
1045 *@param       : N/A
1046 *@return	   : LoginUserInfo에서 nm를 찾아서 전달한다.
1047 ******************************************************************************/
1048bizUtil.getLoginNm= function(){
1049	var userInfo = bizUtil.getLoginUserInfo();
1050	return userInfo.nm;
1051};
1052
1053/*******************************************************************************
1054 *@description : 사용자 ID를 전달한다.
1055 *@param       : N/A
1056 *@return	   : LoginUserInfo에서 ID를 찾아서 전달한다.
1057 ******************************************************************************/
1058bizUtil.getUserId= function(){
1059	var userInfo = bizUtil.getLoginUserInfo();
1060	return userInfo.id;
1061};
1062/*******************************************************************************
1063 *@description : 사용자 이름를 전달한다.
1064 *@param       : N/A
1065 *@return	   : LoginUserInfo에서 nm를 찾아서 전달한다.
1066 ******************************************************************************/
1067bizUtil.getUserNm= function(){
1068	var userInfo = bizUtil.getLoginUserInfo();
1069	return userInfo.nm;
1070};
1071/*******************************************************************************
1072 *@description : 조직코드를 전달한다.
1073 *@param       : N/A
1074 *@return	   : LoginUserInfo에서 orgCd를 찾아서 전달한다.
1075 ******************************************************************************/
1076bizUtil.getOrgCd= function(){
1077	var userInfo = bizUtil.getLoginUserInfo();
1078	return userInfo.orgCd;
1079};
1080
1081/*******************************************************************************
1082 *@description : logout 처리.
1083 *@param       : N/A
1084 *@return	   : N/A
1085 ******************************************************************************/
1086bizUtil.logout = function(){
1087	
1088	var storage = bizUtil.getSessionStorage();
1089	storage.clear();
1090	$.ajaxSetup({ cache: false });
1091	$("#cubeIfraDummy").attr("src","./webdocs/com/system/logoutPage.jsp");
1092};
1093
1094/*******************************************************************************
1095 *@description : 현재 기기 종류를 셋팅한다.
1096 *@param       : deviceType  => 기기 종류(PC,TP,SM)
1097 *@return	   : N/A
1098 ******************************************************************************/
1099bizUtil.setDeviceType=function(deviceType)
1100{
1101	bizUtil.deviceType = deviceType;
1102};
1103
1104/*******************************************************************************
1105 *@description : 현재 기기 종류를 가져온다.
1106 *@param       : N/A
1107 *@return	   : 기기 종류(PC,TB,SM)
1108 ******************************************************************************/
1109bizUtil.getDeviceType=function()
1110{
1111	return bizUtil.deviceType;
1112};
1113/*******************************************************************************
1114 *@description : 현재 모바일 기기 여부를 판단한다.
1115 *@param       : N/A
1116 *@return	   : true : 모바일 ,false:pc
1117 ******************************************************************************/
1118bizUtil.isMobile=function()
1119{
1120	if(bizUtil.deviceType=="PC")
1121	{
1122		return false;
1123	}	
1124	return true;
1125};
1126
1127/*******************************************************************************
1128 *@description : 체크box의 값을 배열 형태로 리턴한다.
1129 *@param       : selObj  => checkbox Jquery object
1130 *@return	   : 체크된 항목의 값 Array
1131 ******************************************************************************/
1132bizUtil.getCheckArr=function(selObj)
1133{
1134	var rtnValue= new Array();
1135	selObj.each(function(){
1136		var targetObj = $(this);
1137		var checked = targetObj.is(":checked");
1138		if(checked){
1139			rtnValue[rtnValue.length] = targetObj.val();
1140		}
1141	});		
1142    return rtnValue;
1143};
1144
1145/*******************************************************************************
1146 *@description : 체크 박스에 선택된 값을 전달한다.
1147 *@param       : selObj  => checkbox Jquery object($("[name=custSttCd]"))
1148 *               deli    =>  구분 값 ex) '/'
1149 *@return	   : 체크 박스 선택된 값을 string 형태로 전달한다.
1150 ******************************************************************************/
1151bizUtil.getCheckVal=function(selObj,deli)
1152{
1153	if(deli == "undefined" || deli == null)
1154	{
1155		deli = " ";
1156	}	
1157	var rtnValue= bizUtil.getCheckArr(selObj);
1158	return rtnValue.join(deli);
1159};
1160
1161
1162/*******************************************************************************
1163 *@description : date,time,keypad를 초기화 한다.
1164 *@param       : selObj  => checkbox Jquery object  없으면 전체 초기화  
1165 *@return	   : N/A
1166 ******************************************************************************/
1167//bizUtil.initCompanent=function(selObj)
1168//{
1169//	bizUtil.dateTimeCmp.initComponent(selObj);
1170//	bizUtil.keypad.initKeypadComponent(selObj);
1171//};
1172
1173/*******************************************************************************
1174 *@description : 더보기에 대한 처리.
1175 *@param       : nextBtn  => 더보기 버튼 jquery object
1176 *				 excuteFunc => 더보기 버튼 선택시 실행할 함수
1177 *               serviceId  => 구분값
1178 *               inputParam => 입력값.
1179 *               nextParam  => 다음값.
1180 *@return	   : N/A
1181 ******************************************************************************/
1182bizUtil.paging = {};
1183bizUtil.paging.next=function(nextBtn,excuteFunc,serviceId,inputParam,nextParam)
1184{
1185	if(nextParam != null)
1186	{	
1187		
1188		nextBtn.css({visibility:"hidden"});
1189		nextBtn.removeClass("none");
1190		if(nextBtn.hasClass("cube_nextArea_ani2"))
1191		{
1192			nextBtn.removeClass("cube_nextArea_ani2");
1193		}	
1194		nextBtn[0].removeEventListener("webkitAnimationStart", bizUtil.paging.nextEffect, false);
1195		nextBtn[0].addEventListener("webkitAnimationStart", bizUtil.paging.nextEffect, false);
1196		setTimeout(function(){
1197			nextBtn.addClass("cube_nextArea_ani2");}
1198		,10);
1199	}
1200	else
1201	{
1202		nextBtn.css({visibility:"hidden"});
1203		nextBtn.addClass("visibility_hidden");
1204	}
1205	nextBtn.unbind("click.nextSearch").bind("click.nextSearch",function(event){excuteFunc(serviceId,inputParam,nextParam);});
1206};
1207bizUtil.paging.nextEffect=function(e){
1208	var selectObj = $(e.target);
1209	selectObj.css({visibility:"visible"});
1210};
1211/*******************************************************************************
1212 *@description : 조회결과 없음 메세지.
1213 *@param       : selGbn     => 1: 기본 리스트 
1214 *@return	   : N/A
1215 ******************************************************************************/
1216bizUtil.paging.noResult=function(selGbn)
1217{
1218	if(selGbn=="1")
1219	{
1220		return "<tr ><td class='no_result' style='text-align: center;'>조회 결과가 없습니다.</td></tr>";
1221	}	
1222};
1223
1224/*******************************************************************************
1225 *@description : 기본 리스트의 조회 영엽에 대한 초기화.
1226 *@param       : selObj     => 조회영역 jquery object
1227 *               btnOpenClose     => 동작할 jquery object
1228 *@return	   : N/A
1229 ******************************************************************************/
1230bizUtil.initSearchArea=function(selObj,btnOpenClose)
1231{
1232	
1233	selObj.find(">tbody>tr.none").attr("cubeSearchAreaFlag","on");
1234	btnOpenClose.unbind("click.searchArea").bind("click.searchArea",selObj,
1235				function(event)
1236				{
1237					var currrentObj = $(event.currentTarget);
1238					var temp_selObj = event.data;
1239					if(currrentObj.hasClass("on"))
1240					{
1241						currrentObj.removeClass("on");
1242						temp_selObj.find("[cubeSearchAreaFlag=on]").show({});
1243						var temp_height = $("body").height();
1244						temp_height = temp_height-temp_selObj.height();
1245						temp_height = temp_height-temp_selObj.offset().top;
1246						temp_selObj.after("<div id='cubeSearchAreaGrayArea' style='margin-left: -10px;width:100%;height: "+temp_height+"px;display: inline-block;position: absolute;z-index:1000;background-color:rgba(0,0,0,0.6);'></div>");
1247					}
1248					else
1249					{
1250						currrentObj.addClass("on");
1251						temp_selObj.find("[cubeSearchAreaFlag=on]").addClass("none");
1252						temp_selObj.find("[cubeSearchAreaFlag=on]").hide({});
1253						$("[id=cubeSearchAreaGrayArea]").remove();
1254					}	
1255				}
1256	);
1257	
1258};
1259/*******************************************************************************
1260 *@description : 기본 리스트의 조회 영엽에 대한 숨기기
1261 *@param       : selObj     => 조회영역 jquery object
1262 *               btnOpenClose     => 동작할 jquery object
1263 *@return	   : N/A
1264 ******************************************************************************/
1265bizUtil.closeSearchArea=function(selObj,btnOpenClose)
1266{
1267	btnOpenClose.addClass("on");
1268	$("[id=cubeSearchAreaGrayArea]").remove();
1269	selObj.find("[cubeSearchAreaFlag=on]").hide({});
1270	selObj.find("[cubeSearchAreaFlag=on]").addClass("none");
1271};
1272/*******************************************************************************
1273 *@description : 기본 리스트의 조회 영엽에 대한 숨기기
1274 *@param       : selObj     => 조회영역 jquery object
1275 *               btnOpenClose     => 동작할 jquery object
1276 *@return	   : N/A
1277 ******************************************************************************/
1278bizUtil.openSearchArea=function(selObj,btnOpenClose)
1279{
1280	btnOpenClose.removeClass("on");
1281	selObj.find("[cubeSearchAreaFlag=on]").show({});
1282	var temp_height = $("body").height();
1283	temp_height = temp_height-selObj.height();
1284	temp_height = temp_height-selObj.offset().top;
1285	selObj.after("<div id='cubeSearchAreaGrayArea' style='margin-left: -10px;width:100%;height: "+temp_height+"px;display: inline-block;position: absolute;z-index:1000;background-color:rgba(0,0,0,0.6);'></div>");
1286};
1287/*******************************************************************************
1288 *@description : 기본 drawing에대한 처리.
1289 *@param       : N/A
1290 *@return	   : N/A
1291 ******************************************************************************/
1292bizUtil.initDrawArea=function(){
1293	var drawiframe= $("<iframe  id='cubeDrawIframeArea'></iframe>");
1294	drawiframe.css("background-color","transparent");
1295	drawiframe.css("position","absolute");
1296	drawiframe.css("top","-10px");
1297	drawiframe.css("left","-10px");
1298	drawiframe.css("border","0px solid #ff0000");
1299	drawiframe.css("z-index","9000");
1300	drawiframe.css("width",$(window).width());
1301	drawiframe.css("height",$(window).height());
1302	
1303	drawiframe.load(function()
1304			{	
1305		    });
1306	drawiframe.attr("src",cubeSystemInfo.homeDir+"/com/system/aDrawArea/drawArea.jsp?time"+new Date());
1307	$("body").append(drawiframe);
1308};
1309
1310
1311/*******************************************************************************
1312 *@description : selecbox의 value의 text를 가져온다. 
1313 *@param       : selObj		=> 코드 셀렉트 박스 오브젝트  ex)$("#codeList_710139")
1314 * 				  selCd		=> 찾고 싶은 코드명의 값
1315 *@return	   : selCd의 text 값.
1316 ******************************************************************************/
1317
1318bizUtil.getSelectText=function(selObj,selCd){
1319	 return selObj.find("option[value='"+selCd+"']").text();
1320};
1321
1322/*******************************************************************************
1323 *@description : selecbox의 text의 value를 가져온다.
1324 *@param       : selObj		=> 코드 셀렉트 박스 오브젝트  ex)$("#codeList_710139")
1325 * 				 selTxt		=> 찾고 싶은 코드값의 명
1326 *@return	   : selTxt의  value 값.
1327 ******************************************************************************/
1328bizUtil.getSelectVal=function(selObj,selTxt){
1329	
1330	var rtnValue = "";
1331	selObj.find("option").each(
1332			   function(){
1333				   if(this.text==selTxt)
1334				   {
1335					   rtnValue = $(this).attr('value');
1336					   return false; 
1337				   }	   
1338			   }
1339    );	
1340	return rtnValue;
1341};
1342
1343/*******************************************************************************
1344 *@description : JSON Object 를 복제한다.
1345 *@param       : JSONObj	=> JSON Object
1346 *@return	   : 복제된 JSON Object
1347 ******************************************************************************/
1348bizUtil.JSONClone=function(JSONObj){
1349	return JSON.parse(JSON.stringify(JSONObj));
1350};
1351
1352
1353/**
1354 * 입력값 유효성 검사하는 함수
1355 * @public
1356 * @param {Object} objComp(컴포넌트ID) 또는 문자열.
1357 * @param {String} sOp(유효성 체크 Option)
1358 *                 "required"
1359 *                 "minlength"
1360 *                 "maxlength"
1361 *                 "maxbyte"
1362 *                 "minbyte"
1363 *                 "fixedlength"
1364 *                 "fixedlbyte"
1365 *                 "maxvalue"
1366 *                 "minvalue"
1367 *                 "alphabetic"
1368 *                 "numeric"
1369 *                 "alpha_numeric"     
1370 *                 "integer"     
1371 *                 "float"     
1372 *                 "date"     
1373 *                 "psn"     
1374 *                 "psn_fn"     
1375 *                 "psn_fn_only"     
1376 *                 "csn"     
1377 *                 "email"     
1378 *                 "domain"     
1379 *                 "credit_card"     
1380 *                 "ddd"     
1381 *                 "hpd"     
1382 * @param {String} sMsg(메시지 문자열)
1383 * @return {Boolean}
1384 * @example
1385 * validateInput(Edit00, "required", gf_getMsg("UMIFR00066"));
1386 * validateInput(Edit01, "minlength=13", "주민번호는 13자리를 입력해야 합니다.");
1387 */
1388bizUtil.validateInput=function(objComp, sOp, sMsg){
1389	var rtnValue = bizUtil.lib.validateInput(objComp, sOp, sMsg);
1390    if(!rtnValue)
1391    {
1392    	bizUtil.highLight(objComp);
1393    }	
1394    return rtnValue;
1395};
1396
1397/*******************************************************************************
1398 *@description : input에 highlight를 준다.
1399 *@param       : selObj		=> 오브젝트
1400 *@return	   : N/A
1401 ******************************************************************************/
1402bizUtil.highLight=function(selObj){
1403		if(typeof selObj =="object")
1404	    {
1405			selObj.highLight();
1406	    }	
1407};
1408
1409/*******************************************************************************
1410 *@description : 리스트에 색상을 표시 한다.
1411 *@param       : selObj		=> 오브젝트
1412 *@param       : flag		=> true : className add,false: className remove
1413 *@param       : rowCnt		=> 기본 줄 수 default :2
1414 *@param       : className	=> class name default :on
1415 *
1416 *@return	   : N/A
1417 ******************************************************************************/
1418bizUtil.selectTableTr=function(tr,flag,rowCnt,className){
1419	var tbody = tr.parent();
1420	var tbodyTr = tbody.find(">tr");
1421	var trIdx = tbodyTr.index(tr);
1422	var namugi = trIdx % rowCnt;
1423	 
1424	if(flag)
1425	{	
1426		for(var i=0;i<rowCnt;i++)
1427		{
1428			tbodyTr.eq(trIdx+i-namugi).addClass(className);
1429		}	
1430	}
1431	else
1432	{
1433		for(var i=0;i<rowCnt;i++)
1434		{
1435			tbodyTr.eq(trIdx+i-namugi).removeClass(className);
1436		}
1437	}	
1438};
1439 
1440/*******************************************************************************
1441 *@description : 리스트에 색상을 표시 한다.
1442 *@param       : selObj		=>table  obj.
1443 *@param       : multiFlag 기본값 false:1개선택,true:여러개 선택. 
1444 *@param       : rowCnt		=> 기본 줄 수 default :2
1445 *@return	   : N/A
1446 ******************************************************************************/
1447bizUtil.listAreaTrOnOff=function(table,multiFlag,rowCnt,onOnly){
1448	
1449	
1450	if(multiFlag == null)
1451	{
1452		multiFlag = false;
1453	}
1454	
1455	if(rowCnt == null)
1456	{
1457		rowCnt = 2;
1458	}
1459	
1460	if(onOnly == null)
1461	{
1462		onOnly = false;
1463	}
1464	
1465	table.data("cube_multi_tr_rowCnt",rowCnt);
1466	table.find(">tbody>tr").unbind("click.tr2").bind("click.tr2",{multiFlag:multiFlag,rowCnt:rowCnt},
1467				function(event){
1468					var currentObj = $(event.currentTarget);
1469					var parentObj =currentObj.parent();                     	  /* 1건만 선택 할때. 사용*/
1470					var orgOptData = event.data;
1471					var optData = {multiFlag:false,rowCnt:2};
1472					$.extend(optData,orgOptData);
1473					if(!optData.multiFlag)
1474					{
1475						parentObj.find(">tr").not(currentObj).removeClass("on");  /* 1건만 선택 할때. 사용*/
1476					}
1477					if(onOnly)
1478					{
1479						bizUtil.selectTableTr(currentObj,true,optData.rowCnt,"on");
1480					}	
1481					else
1482					{	
1483						if(currentObj.hasClass("on"))  /* 선택이 해제 되었을 경우.*/
1484						{
1485							bizUtil.selectTableTr(currentObj,false,optData.rowCnt,"on");
1486						} 
1487						else                           /* 선택일 경우 .*/
1488						{
1489							bizUtil.selectTableTr(currentObj,true,optData.rowCnt,"on");
1490						}	
1491					}
1492					
1493			}
1494			);
1495};
1496
1497/*******************************************************************************
1498 *@description : 리스트 효과와 scroll을 위치 시킨다.
1499 *@param       : selObj		=> 오브젝트
1500 *@return	   : N/A
1501 ******************************************************************************/
1502bizUtil.listAreaAni=function(listArea){
1503	var tr = listArea.find(">tbody>tr").not(".cube_listArea_flag");
1504	var cube_multi_tr_rowCnt = listArea.data("cube_multi_tr_rowCnt");
1505	if(typeof(cube_multi_tr_rowCnt)=="undefined" ||cube_multi_tr_rowCnt == null )
1506	{
1507		cube_multi_tr_rowCnt = 1;
1508	}	
1509	var tempCnt = 0;
1510	tr.unbind("touchstart").bind("touchstart",listArea,function(event){
1511			var temp_listArea = event.data;
1512			temp_listArea.find(".cube_listAreaSelect_ani").removeClass("cube_listAreaSelect_ani");
1513			var currentObj = $(event.currentTarget);
1514			if(currentObj.hasClass("cube_listAreaSelect_ani"))
1515			{
1516				bizUtil.selectTableTr(currentObj,false,cube_multi_tr_rowCnt,"cube_listAreaSelect_ani");
1517			}	
1518			else 
1519			{
1520				bizUtil.selectTableTr(currentObj,true,cube_multi_tr_rowCnt,"cube_listAreaSelect_ani");
1521			}
1522	});
1523	tr.each(
1524			function(){
1525				var that = $(this);
1526				if(tempCnt==0)
1527				{
1528					listArea.parent().animate({scrollTop:that.offset().top-listArea.offset().top},500);
1529				}	
1530				tempCnt++;
1531				var aaa= setTimeout(function()
1532								{
1533										that.addClass("cube_listArea_ani");
1534										that.addClass("cube_listArea_flag");
1535										
1536								},tempCnt*50+200);
1537				that.data("cube_start_setTimeout",aaa);
1538				var bbb = setTimeout(function()
1539								{
1540									that.removeClass("cube_listArea_ani");
1541									clearTimeout(that.data("cube_start_setTimeout"));
1542									clearTimeout(that.data("cube_end_setTimeout"));
1543								},tempCnt*50+700);
1544				that.data("cube_end_setTimeout",bbb);
1545				
1546			}
1547	);
1548};
1549
1550/*******************************************************************************
1551 *@description : makeCodeList elementType에 따라서 그려준다.
1552 *@param       : 		
1553 *@return	   : N/A
1554 ******************************************************************************/
1555bizUtil.makeCodeList = function(codeArea, codeData, codeOpt){
1556	//console.log("bizUtil.makeCodeList");
1557		
1558	if(bizUtil.string.isEmpty(codeOpt)){
1559		codeOpt = bizUtil.codeOptChk(codeArea);
1560	}
1561	
1562	
1563	if(!bizUtil.string.isEmpty(codeOpt.elementType)){
1564		if(codeOpt.elementType.toUpperCase() == "RADIO"){
1565			//elementType이 RADIO면  codeRadio 호출한다.
1566			bizUtil.codeRadio(codeArea,codeData,codeOpt);
1567			return;
1568		}
1569		else if(codeOpt.elementType.toUpperCase() == "SELECT"){
1570			//elementType이 SELECT면 codeSelect 호출한다.
1571			bizUtil.codeSelect(codeArea,codeData,codeOpt);
1572			return;
1573		}
1574	}
1575	
1576};
1577
1578/*******************************************************************************
1579 *@description : optParam에 태그에 적혀있는 옵션 값을 세팅한다.
1580 *@param       : 		
1581 *@return	   : N/A
1582 ******************************************************************************/
1583bizUtil.codeOptChk = function(codeArea){
1584
1585	optParam = {};
1586	
1587//	if(codeArea[0].nodeName=="SELECT")
1588//	{
1589//		//element가 SELECT면 codeSelect 호출한다.
1590//		bizUtil.codeSelect(codeArea,codeData,codeOpt);
1591//	}
1592//	else if(codeArea.attr("elementType")=="SELECT"){
1593//		
1594//		//elementType이 SELECT면 codeSelect 호출한다.
1595//		bizUtil.codeSelect(codeArea,codeData,codeOpt);
1596//	}
1597//	else if(codeArea.attr("elementType")=="RADIO"){
1598//			
1599//			//elementType이 RADIO면 codeSelect 호출한다.
1600//			bizUtil.codeRadio(codeArea,codeData,codeOpt);
1601//	}
1602	
1603//	else{
1604//	if(!bizUtil.string.isEmpty(selectArea.attr("elementId"))){
1605//		selectBox.attr("id",selectArea.attr("elementId"));
1606//	}
1607//	if(!bizUtil.string.isEmpty(selectArea.attr("elementName"))){
1608//		selectBox.attr("name",selectArea.attr("elementName"));
1609//	}
1610//	if(!bizUtil.string.isEmpty(selectArea.attr("elementTitle"))){
1611//		selectBox.attr("title",selectArea.attr("elementTitle"));
1612//	}
1613//	if(!bizUtil.string.isEmpty(selectArea.attr("elementClass"))){
1614//		selectBox.addClass(selectArea.attr("elementClass"));
1615//	}
1616//	if(!bizUtil.string.isEmpty(selectArea.attr("elementStyle"))){
1617//		selectBox.attr("style",selectArea.attr("elementStyle"));
1618//	}
1619//	
1620//}
1621	// optParam에 태그에 적혀있는 옵션 값을 세팅한다.
1622	if(!bizUtil.string.isEmpty(codeArea.attr("elementType"))){
1623		optParam.elementType = codeArea.attr("elementType");
1624	}
1625	if(codeArea[0].nodeName=="SELECT"){
1626		//SELECT인 경우 SELECT로 세팅한다.
1627		optParam.elementType = "SELECT";
1628//		optParam.elementId = codeArea.attr("id");
1629	}
1630	
1631	if(!bizUtil.string.isEmpty(codeArea.attr("elementId"))){
1632		optParam.elementId = codeArea.attr("elementId");
1633	}
1634	if(!bizUtil.string.isEmpty(codeArea.attr("elementName"))){
1635		optParam.elementName = codeArea.attr("elementName");
1636	}
1637	if(!bizUtil.string.isEmpty(codeArea.attr("elementTitle"))){
1638		optParam.elementTitle = codeArea.attr("elementTitle");
1639	}
1640	if(!bizUtil.string.isEmpty(codeArea.attr("elementClass"))){
1641		optParam.elementClass = codeArea.attr("elementClass");
1642	}
1643	if(!bizUtil.string.isEmpty(codeArea.attr("elementStyle"))){
1644		optParam.elementstyle = codeArea.attr("elementStyle");
1645	}
1646	if(!bizUtil.string.isEmpty(codeArea.attr("displayText"))){
1647		optParam.displayText = codeArea.attr("displayText");
1648	}
1649	if(!bizUtil.string.isEmpty(codeArea.attr("codeCd"))){
1650		optParam.codeCd = codeArea.attr("codeCd");
1651	}
1652	if(!bizUtil.string.isEmpty(codeArea.attr("codeNm"))){
1653		optParam.codeNm = codeArea.attr("codeNm");
1654	}
1655	if(!bizUtil.string.isEmpty(codeArea.attr("isAppend"))){
1656		optParam.isAppend = bizUtil.string.isBoolen(codeArea.attr("isAppend"));
1657	}
1658	
1659	return optParam;
1660};
1661
1662/*******************************************************************************
1663 *@description : 코드 select box를 그린다.
1664 *@param       : 		
1665 *@return	   : N/A
1666 ******************************************************************************/
1667bizUtil.codeSelect = function(selectArea, selectData, opt){
1668//	console.log("bizUtil.codeSelect");
1669	
1670	/*<!-- 기타 설정 관련 내용 
1671	Locale 언어설정
1672	baseYmd 기준일자
1673	codeGruop 그룹코드
1674	referCode 참조코드
1675	excludeCode 제외코드(콤보박스, 라디오박스 렌더링 시 불러온 코드 리스트 중 특정 코드를 제외하고 렌더링하고 싶을 경우 사용)
1676	Code 코드
1677	selectedCode 코드 리스트 중 입력한 selectedCode를 default 항목으로 선택
1678	displayText 콤보박스에서 displayText에 해당하는 항목을 default 항목으로 선택
1679	elementType 렌더링 타입 [select(콤보박스)와 radio(라디오박스) 선택]
1680	elementId 태그 id
1681	elementName 태그 name
1682	elementTitle 태그 title
1683	elementEvents 태그 event
1684	elementClass 태그 class
1685	elementStyle 태그 style
1686	  -->*/
1687	
1688	//옵션이 없는 경우 태그에 있는지 검사 및 세팅한다.
1689	if(bizUtil.string.isEmpty(opt)){
1690		opt = bizUtil.codeOptChk(selectArea);
1691	}
1692	
1693    // 하부영역 삭제는 opt.isAppend가 false 일 경우에만 한다.
1694    if(bizUtil.string.isEmpty(opt.isAppend)){
1695    	
1696    	if(!bizUtil.string.isFalse(opt.isAppend)){
1697    		radioArea.children().remove();    // 전달 받은 영역 초기화 한다.
1698    	}   	
1699	}
1700	
1701	//selectBox를 그리거나 넣는 용도
1702	var selectBox;
1703	
1704	if(selectArea[0].nodeName=="SELECT")
1705	{
1706		selectBox = selectArea;
1707	}
1708	else{
1709		selectBox = $("<select></select>");
1710	}
1711
1712	if(!bizUtil.string.isEmpty(opt)){
1713
1714		//elementType이 RADIO면 리턴한다.
1715		if(!bizUtil.string.isEmpty(opt.elementType)){
1716			if(opt.elementType.toUpperCase() != "SELECT"){
1717				return;
1718			}
1719		}
1720		if(!bizUtil.string.isEmpty(opt.elementId)){
1721			selectBox.attr("id",opt.elementId);
1722		}
1723		if(!bizUtil.string.isEmpty(opt.elementName)){
1724			selectBox.attr("name",opt.elementName);
1725		}
1726		if(!bizUtil.string.isEmpty(opt.elementTitle)){
1727			selectBox.attr("title",opt.elementTitle);
1728		}
1729		if(!bizUtil.string.isEmpty(opt.elementClass)){
1730			selectBox.addClass(opt.elementClass);
1731		}
1732		if(!bizUtil.string.isEmpty(opt.elementStyle)){
1733			selectBox.attr("style",opt.elementStyle);
1734		}
1735		
1736	}
1737
1738	//displayText 콤보박스에서 displayText에 해당하는 항목을 default 항목으로 선택
1739	if(!bizUtil.string.isEmpty(opt.displayText)){
1740		var optionData =$("<option></option>");
1741		optionData.attr("value","");
1742		optionData.text(opt.displayText);
1743		optionData.data("cube_codeInfo", {});
1744		selectBox.append(optionData);
1745	}
1746	
1747	var codeCd = "codeCd";
1748	var codeNm = "codeNm";
1749
1750	if(!bizUtil.string.isEmpty(opt.codeCd)){
1751		codeCd = opt.codeCd+"";
1752	}
1753	if(!bizUtil.string.isEmpty(opt.codeNm)){
1754		codeNm = opt.codeNm+"";
1755	}
1756	
1757	if (selectData != null) {
1758		$.each(
1759				selectData,
1760						function(key, val) {
1761
1762							var optionData =$("<option></option>");
1763							optionData.attr("value",val[codeCd]);
1764							optionData.text(val[codeNm]);
1765							
1766							optionData.data("cube_codeInfo", val);
1767							selectBox.append(optionData);
1768							
1769						});
1770	}
1771	
1772	if(selectArea[0].nodeName!="SELECT")
1773	{
1774		selectArea.append(selectBox);
1775	}
1776	
1777};
1778
1779/*******************************************************************************
1780 *@description : 코드 radio를 그린다.
1781 *@param       : 		
1782 *@return	   : N/A
1783 ******************************************************************************/
1784bizUtil.codeRadio = function(radioArea, radioData, opt){
1785	
1786	//옵션이 없는 경우 태그에 있는지 검사 및 세팅한다.
1787	if(bizUtil.string.isEmpty(opt)){
1788		opt = bizUtil.codeOptChk(radioArea);
1789	}
1790	
1791	//오브젝트를 SELECT 넘기는 경우 리턴한다.
1792	if(radioArea[0].nodeName=="SELECT")
1793	{
1794		return;
1795	}
1796	
1797    if(!bizUtil.string.isEmpty(opt)){
1798
1799		//elementType이 SELECT면 리턴한다.
1800		if(!bizUtil.string.isEmpty(opt.elementType)){
1801			if(opt.elementType.toUpperCase() != "RADIO"){
1802				return;
1803			}
1804		}
1805		
1806	}
1807    
1808    // 하부영역 삭제는 opt.isAppend가 false 일 경우에만 한다.
1809    if(bizUtil.string.isEmpty(opt.isAppend)){
1810
1811    	if(!bizUtil.string.isFalse(opt.isAppend)){
1812    		radioArea.children().remove();    // 전달 받은 영역 초기화 한다.
1813    	}   	
1814	}
1815    	
1816    if(!bizUtil.string.isEmpty(opt.displayText)){
1817    	var radio =$("<input type='radio'>");
1818    	var labelData =$("<label></label>");
1819    	radio.attr("value","");
1820    	labelData.text(opt.displayText);
1821    	
1822    	if(!bizUtil.string.isEmpty(opt.elementId)){
1823    		radio.attr("id",opt.elementId+"_");
1824    		labelData.attr("for",opt.elementId+"_");
1825		}
1826		if(!bizUtil.string.isEmpty(opt.elementName)){
1827			radio.attr("name",opt.elementName);
1828		}
1829		if(!bizUtil.string.isEmpty(opt.elementTitle)){
1830			radio.attr("title",opt.elementTitle);
1831		}
1832		if(!bizUtil.string.isEmpty(opt.elementClass)){
1833			radio.addClass(opt.elementClass);
1834		}
1835		if(!bizUtil.string.isEmpty(opt.elementStyle)){
1836			radio.attr("style",opt.elementStyle);
1837		}
1838		
1839		// displayText이 있는 경우 우선적으로 체크한다.
1840		radio.checked(true);
1841		
1842		radio.data("cube_codeInfo", {});
1843		radioArea.append(radio);
1844		radioArea.append(labelData);
1845	}
1846	
1847    var codeCd = "codeCd";
1848	var codeNm = "codeNm";
1849
1850	if(!bizUtil.string.isEmpty(opt.codeCd)){
1851		codeCd = opt.codeCd+"";
1852	}
1853	if(!bizUtil.string.isEmpty(opt.codeNm)){
1854		codeNm = opt.codeNm+"";
1855	}
1856    
1857	
1858	if (radioData != null) {
1859		$.each(
1860				radioData,
1861						function(key, val) {
1862							var radio =$("<input type='radio'>");
1863							var labelData =$("<label></label>");
1864							radio.attr("value",val[codeCd]);
1865							labelData.text(val[codeNm]);
1866							
1867							if(!bizUtil.string.isEmpty(opt.elementId)){
1868					    		radio.attr("id",opt.elementId+"_"+val[codeCd]);
1869					    		labelData.attr("for",opt.elementId+"_"+val[codeCd]);
1870							}
1871							if(!bizUtil.string.isEmpty(opt.elementName)){
1872								radio.attr("name",opt.elementName);
1873							}
1874							if(!bizUtil.string.isEmpty(opt.elementTitle)){
1875								radio.attr("title",opt.elementTitle);
1876							}
1877							if(!bizUtil.string.isEmpty(opt.elementClass)){
1878								radio.addClass(opt.elementClass);
1879							}
1880							if(!bizUtil.string.isEmpty(opt.elementStyle)){
1881								radio.attr("style",opt.elementStyle);
1882							}
1883							
1884							if(bizUtil.string.isEmpty(opt.displayText)){
1885								if(key == 0) {
1886									radio.checked(true);
1887								}
1888							}
1889							
1890							radio.data("cube_codeInfo", val);
1891							radioArea.append(radio);
1892							radioArea.append(labelData);
1893							
1894						});
1895	}
1896	
1897};
1898
1899/*******************************************************************************
1900 *@description : input에 highlight를 준다.
1901 *@param       : detailArea		=> 오브젝트
1902 *@return	   : N/A
1903 ******************************************************************************/
1904bizUtil.listDetailAni=function(detailArea){
1905//	var p = detailArea.find(">li>p");
1906//	var tempCnt = 0;
1907//	p.each(
1908//			function(){
1909//				var that = $(this);
1910//				if(that.hasClass("cube_detailArea_ani"))
1911//				{
1912//					that.removeClass("cube_detailArea_ani")
1913//				}	
1914//				setTimeout(function(){that.addClass("cube_detailArea_ani");},10);
1915//			}
1916//	);
1917	var parentObj = detailArea.parent();
1918	if(parentObj.hasClass("cube_detailArea_ani"))
1919	{
1920		parentObj.removeClass("cube_detailArea_ani");
1921	}	
1922	setTimeout(function(){parentObj.addClass("cube_detailArea_ani");},10);
1923};
1924
1925/*******************************************************************************
1926 *@description : TabArea의 tabbar를 움직인다.
1927 *@param       : tabArea : tab ul 리스트, tabBar Obj
1928 *@return	   : N/A
1929 ******************************************************************************/
1930bizUtil.initTabArea=function(tabArea,tabBar){
1931	tabBar.addClass("cube_tabBar_ani");
1932	tabArea.find(">li").unbind("click.tabArea").bind("click.tabArea",tabBar
1933			  ,function(event)
1934			  {
1935				  var currentObj = $(event.currentTarget);
1936				  var temp_tabBar = event.data;
1937				  temp_tabBar.css({left:currentObj.position().left+"px"});
1938			  }
1939   );
1940};
1941
1942/*******************************************************************************
1943 *@description : MenuListArea의 tabbar를 움직인다.
1944 *@param       : MenuListArea : tab ul 리스트, tabBar Obj
1945 *@return	   : N/A
1946 ******************************************************************************/
1947bizUtil.initMenuListArea=function(menuListArea,navBar){
1948	navBar.addClass("cube_navBar_ani");
1949	menuListArea.find(">li").unbind("click.menuListItemList").bind("click.menuListItemList",navBar
1950			  ,function(event)
1951			  {
1952				  var currentObj = $(event.currentTarget);
1953//				  console.log(currentObj);
1954				  var temp_navBar = event.data;
1955//				  console.log(currentObj.children(0) );
1956//				  console.log(currentObj.offset().top ,currentObj.children(0).height() ,currentObj.find("#menuListItem_a").outerHeight() );
1957				  var temp_navBar_top = currentObj.offset().top - currentObj.find("#menuListItem_a").outerHeight() + ((currentObj.find("#menuListItem_a").outerHeight()-currentObj.children(0).height())/2);
1958//				  var temp_navBar_aHeight = currentObj.find("#menuListItem_a").outerHeight() ;
1959				  temp_navBar.css({top:temp_navBar_top+"px"});
1960			  }
1961   );
1962};
1963
1964/**************************************************************** 
1965 * 화면 초기화 함수
1966 ****************************************************************/
1967$(document).ready(function()
1968{
1969	//달력을 위해서 미리 Load
1970	$("#cubeDummyCalendarTempObj").remove();
1971	$("body").append("<input type='hidden' id='cubeDummyCalendarTempObj' style='display:none;'>");
1972	sui.ucb.build('#cubeDummyCalendarTempObj', 'Calendar', {showOn : "self"});
1973	
1974	$(".tab_ul").each(
1975			function(){
1976				var that = $(this);
1977				var tabBar = that.parent().find(">.tab_bar");
1978				bizUtil.initTabArea(that, tabBar);
1979			}
1980			 
1981	);
1982	
1983//	bizUtil.initCompanent();
1984//	bizUtil.date.setNow(cubeGlobalDateTime);
1985//	bizUtil.setCurrentDate(cubeGlobalDateTime);
1986//	bizUtil.setDeviceType(cubeGlobalDeviceType);
1987	
1988	var currentPage = location.href;
1989	var currentPageStr = currentPage.substring(currentPage.lastIndexOf("/")+1,currentPage.lastIndexOf("."));
1990	if(currentPageStr != "undefined" && currentPageStr != null)
1991	{
1992		currentPageStr = currentPageStr.toLowerCase();
1993	}
1994	try
1995	{
1996		 currentPageStrInit = eval(currentPageStr);
1997		 //TODO 향후 삭제.
1998		 $(".h2_title").text($(".h2_title").text()+"("+currentPageStr+")");
1999		 $(".pop_wrap>.top>strong").text($(".pop_wrap>.top>strong").text()+"("+currentPageStr+")");
2000	}
2001	catch(e)
2002	{
2003		currentPageStrInit = null;
2004	}
2005	if (typeof currentPageStrInit != "undefined"  && currentPageStrInit !=null  && typeof currentPageStrInit.init != "undefined") 
2006	{
2007		currentPageStrInit.init();
2008	}
2009	
2010});

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.