var IMAGE_URL = "http://img.shinhan.com/hpe";

/*
	2011.04.19 ÀÚµ¿ ·Î±×¾Æ¿ô ±â´É Ãß°¡
	PJS
*/
var g_logout_timeid = null ;
// auto logout timer set
function setLogoutTimer()  {

	// È¨ÆäÀÌÁö¿¡´Â ´Ù¾çÇÑ ¾÷¹«°¡ ÀÖ¾î ·Î±×¾Æ¿ô Ã³¸®¸¦ Á¦¿ÜÇÏ´Â ·ÎÁ÷ Ãß°¡
	var checkUrl = location.href;	
	if (checkUrl.indexOf("shinhan.com/customer") > -1 ||
	    checkUrl.indexOf("shinhan.com/vfund") > -1 ||
	    checkUrl.indexOf("shinhan.com/fun/family/cg/cg_app_list.jsp") > -1) {
		log("autologout: this is excepted page.");
		return;
	}
	

	// ÀÚµ¿ ·Î±×¾Æ¿ô Ã³¸® ½ÃÀÛ
	if( !isShinhanPopup() ){
		try{
			if (typeof window.parent.comframe != 'undefined' && window.parent.comframe.framehash != 'undefined') {
				if( window.parent.comframe.framehash.get( "login_user_name" ) != null ){
					if( g_logout_timeid != null ){
						clearTimeout( g_logout_timeid );
					}
					g_logout_timeid = setTimeout("showLogoutTimer();" ,  240000); // 4 min
					var loginUserName = window.parent.comframe.framehash.get( "login_user_name" );
					log("autologout: ["+loginUserName+"] is gonna be logout in 5min.");
				}
				else {
					log("autologout: There's no login info in comframe. u're not log in.");
				}
			}
			else {
				log("autologout: no comframe. can't check login");
			}
		}
		catch(e){
			log("autologout: exception occur.");
			printStackTrace( e );
		}
	}
}

// autologout timer set
setLogoutTimer() ;

// autologout time's up. show info page
function showLogoutTimer() {
	log("autologout: info alarm starting .. ");
    var warningURL = "/common/homepage_autoLogout.html";
    var warningMsgHeight = 600 ;
    var warningMsgWidth  = 800 ;

    try{
		warningMsgHeight = document.body.clientHeight;
		warningMsgWidth  = document.body.clientWidth ;
	}
	catch(e){
	}
	var sFeatures = "dialogHeight: " + warningMsgHeight + "pt; dialogWidth: " + warningMsgWidth + "pt; edge: Raised; center: Yes; help: No; edge: raised; resizable: Yes; status: No;";
	showIFrame( warningURL, "" , sFeatures, "___logoutInfolayer" ) ;
	g_logout_timeid = setTimeout("goAutoLogout();" , 60000); // 1 min
}

// autologout do logout
function goAutoLogout()  {
	log("autologout: logout process starting .. ");
	//alert(location.href);
	var retUrl = location.href;
	if (retUrl.indexOf("vfund") > -1) {
		retUrl = retUrl.substr(0, retUrl.indexOf("vfund")+6);
		retUrl = retUrl + "index.jsp";
	}
	top.location.href = "/include/commLogout.jsp?RET_URL=" + retUrl;
}


/*
test
1.12. callInitechXMLService
		ServletÀ» ÅëÇØ¼­ task¸¦ ½ÇÇà½ÃÄÑ ÁÖ´Â functionÀÌ´Ù.
		ServletÀº ±âÁ¸¿¡ Á¦°øµÇ´Â °øÅë ServletÀ» »ç¿ëÇØµµ µÇ°í Ä¿½ºÅÍ¸¶ÀÌÂ¡ÇÑ º°µµÀÇ ServletÀ» »ç¿ëÇØµµ µÈ´Ù.
		»ç¿ë¹æ¹ý) callInitechXMLService( feature, servlet, argument );
		servlet		Servlet URL
		argumentÀ¥¼­ºñ½º¿¡ Àü´ÞµÇ´Â argument

		feature¿¡ ÁöÁ¤µÈ ¼Ó¼ºÀº ´ÙÀ½°ú °°´Ù.
			-¼Ó¼º°£¿¡ ±¸ºÐÀº ;(semicolon)À» ÀÌ¿ëÇÏ°í, ¼Ó¼º°ú °ªÀ» ±¸ºÐÇÒ ¶§´Â :(colon)À» ÀÌ¿ëÇÑ´Ù.
		-----------------------------------------------------------------------------------------
		¼Ó¼º	ÇÊ¼ö¿©ºÎ	°ª				¼³¸í
		-----------------------------------------------------------------------------------------
		display		N		-		°á°ú¸¦ Ãâ·ÂÇÒ Layer
		xsl			N		-		°á°ú¸¦ º¯È¯ÇÒ ¶§ »ç¿ëÇÒ xsl ÆÄÀÏ
		sync		Y		-		È£ÃâÀ» Sync/Async¸ðµå·Î ÇÒÁö ÁöÁ¤( Default : Sync¸ðµå )
		friendly	N		-		°á°ú¸¦ ³ªÁß¿¡ Á¶È¸ÇÒ ¶§ »ç¿ëµÇ´Â ÀÌ¸§
		callback	N		-		À¥¼­ºñ½º¸¦ ´Ù Ã³¸®ÇÑ ÈÄ¿¡ È£ÃâÇÒ function
		lock		N	true/false	page¿¡ Tabstrip tag°¡ Á¸ÀçÇÏ´Â °æ¿ì È£ÃâÇÏ´Â µ¿¾È tabÀ» °íÁ¤½ÃÅ°Áö ¿©ºÎ(default: true)
		debug		N	true/false	À¥¼­ºñ½º¸¦ È£ÃâÇÑ °á°ú¸¦ Ãâ·ÂÇÒÁö ¿©ºÎ
		cursorFix	N	false		À¥¼­ºñ½º¸¦ È£ÃâÇÏ´Â µ¿¾È ¸¶¿ì½º Ä¿¼­¸¦ ¸ð·¡½Ã°è·Î º¯°æÇÒ Áö ¿©ºÎ¸¦ ¼±ÅÃ
									( ±âº»°ªÀº º¯°æÀÌ °¡´ÉÇÏµµ·Ï ÇÏ´Â falseÀÓ)
		exceptionCallback N		-	À¥¼­ºñ½º È£Ãâ Áß exceptionÀÌ ¹ß»ýÇÏ¸é È£ÃâÇÒ callback ÇÔ¼ö
		warningDisplayType N	popup/iframe	¿¡·¯¹ß»ý½Ã PopupÀ¸·Î ¿¡·¯¸¦ º¸¿©ÁÙ Áö iframe·Î º¸¿©ÁÙ Áö ¼±ÅÃ
		processMsg	N		-		À¥¼­ºñ½º¸¦ È£ÃâÇÏ´Â µ¿¾È ¾È³» ¹®±¸°¡ È­¸é¿¡ Ãâ·ÂµÊ(ÀÔ·ÂÇÏÁö ¾ÊÀ¸¸é È­¸éÀÌ ³ªÅ¸³ªÁö ¾ÊÀ½)
		srv			Y		-		À¥¼­ºñ½º¸¦ È£ÃâÇÒ ¶§ »ç¿ëÇÑ Friendly Name
									(ex)theDocument.body.useService("/services/math.asmx?WSDL","srv");
		------------------------------------------------------------------------------------------
		¿¹)display:layer; xsl:auth.xsl; callback:test1; debug:true;

		_block, _status, _statusEntity(),
		_callBackInitechXMLSync()¿Í _callBackInitechXMLAsync()´Â callInitechXMLService¿¡¼­ ³»ºÎÀûÀ¸·Î È£ÃâµÇ´Â functionÀÌ´Ù.
*/
function callInitechXMLService() {
	var cipher = "SEED-CBC";
	var quiet = false, argumentStr, ret, syncMode = "" ,display = "", xsl = "", friendly = "", callBack = "", exceptionCallback = "", warningDisplayType = "", cursorFix = "false", lock = "true", debug = "false", processMsg = "", usecert = "false", usesign = "false";
	try {
		var sFeatures = arguments[0];
		var servletURI  = arguments[1];
		var arrayOfFeatures = sFeatures.split(";");
		for (var i=0; i < arrayOfFeatures.length; i++) {
			var tmpArray = arrayOfFeatures[i].split(":");
			if ( tmpArray.length == 2 )	{
				if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
					display = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
					xsl = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "sync" )	{
					syncMode = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "friendly" )	{
					friendly = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
					callBack = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "lock" )	{
					lock = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "quiet" )	{
					quiet = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
					debug = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "exceptioncallback" )	{
					exceptionCallback = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "warningdisplaytype" )	{
					warningDisplayType = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "cursorfix" )	{
					cursorFix = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "processmsg" )	{
					processMsg = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" ) {
					usecert = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "usesign" ) {
					usesign = trim( tmpArray[1] );
				}
			}
		}

		if( __globalDebug1 || getGlobalDebug() ) {
			debug = "true";
		}

		if( cursorFix == "false" ) {
			setCursor( 'wait' );
		}

		if( syncMode != "true" && syncMode != "false" ) {
			log("[ERROR]callInitechXMLService¸¦ È£ÃâÇÏ´Â Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù. \n È£Ãâ½Ã sync:true / sync:false ¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.\n¿ì¼± sync:true·Î È£ÃâÇÕ´Ï´Ù. ¹Ýµå½Ã ¼Ò½º¸¦ ¼öÁ¤ÇØ ÁÖ¼¼¿ä.\n\n" + arguments[0]);
			syncMode = "true";
//			if( cursorFix == "false" ) {
//				setCursor( 'auto' );
//			}
//			return;
		}
		if ( servletURI != "" && arguments.length == 3 )	{

			if( !_block )	{
				_block = true;
				var args = null;
				var _idx = "idx" + (new Date()).getTime() + Math.random() * 10000;
				__performanceData[_idx] = new __performanceEntity();
				__performanceData[_idx].name = servletURI;
				__performanceData[_idx].startTime = (new Date()).getTime();

				if ( _isDocument( arguments[2] ) ) {		// XML Document
					if ( debug == "true" || debug == "y" )	{
						setDebug( arguments[2] , true );
					}
					__performanceData[_idx].name = getTask( arguments[2] ) + "." + getAction( arguments[2] );
					args = arguments[2].xml;
				} else if ( typeof arguments[2] == 'object' && typeof arguments[2].type != 'undefined'
						&& ( arguments[2].type == 'vector' || arguments[2].type == 'hashtable' ) ) {	// Hashtable or Vector Object
					if ( debug == "true" || debug == "y" )	{
						arguments[2].setDebug( true );
					}
					__performanceData[_idx].name = arguments[2].getTask() + "." + arguments[2].getAction();
					args = arguments[2].toString();
				} else if( typeof arguments[2] == 'string' && _isXMLString( arguments[2] ) ) {	// xml String
					var tmpDom = getDocument( arguments[2] );
					__performanceData[_idx].name = getTask( tmpDom ) + "." + getAction( tmpDom );
					if ( debug == "true" || debug == "y" )	{
						var tmpDom = getDocument( arguments[2] );
						setDebug( tmpDom , true );
						args = tmpDom.xml;
					} else {
						args = arguments[2];
					}
				} else if( typeof arguments[2] == 'string' && !_isXMLString( arguments[2] ) ) {	// primitive String( Not XML String )
					args = arguments[2];
				} else {
					args = arguments[2].toString();
				}

				// servletURI¿¡ Task,ActionÁ¤º¸ Ãß°¡.
				servletURI = changeServletURI(servletURI, __performanceData[_idx].name);

				__performanceData[_idx].beforeEncrypt = (new Date()).getTime();

				//¼öÁ¤ start
				var _signDoc;
				var _signData;
				var _signTitle;

				if( usesign == 'true' || usesign == 'view' ){
					_signDoc   = AppendSignData(args);
					_signData  = getString( _signDoc, "_signData");
					_signTitle = getString( _signDoc, "_signTitle");

					if( _signData == "" ){
						alertError("ÁË¼ÛÇÕ´Ï´Ù.\nÀüÀÚ¼­¸í¹®ÀÌ Àü´ÞµÇÁö ¾Ê¾Ò½À´Ï´Ù.\nÃ³À½ºÎÅÍ ´Ù½Ã °Å·¡ÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.");
						return false;
					}

					_signData = "&__signData__=" + encodeURIComponent(_signData)
					          + "&__signTitle__=" + encodeURIComponent(_signTitle);

					if ( usesign == 'true' ){
						servletURI 	= servletURI.substring(0, servletURI.lastIndexOf("/")+1)  + "sign"
					           		+ servletURI.substring(servletURI.lastIndexOf("/")) ;
					}
					else{
						servletURI 	= servletURI.substring(0, servletURI.lastIndexOf("/")+1)  + "signView"
					           		+ servletURI.substring(servletURI.lastIndexOf("/")) ;
					}
					//ÀüÀÚ¼­¸í °ËÁõ ¿©ºÎ Ãß°¡
					var tDoc = getDocument( args );
					setAttribute(tDoc, "useSign", "true");
					args = tDoc.xml;
				}

				// ¼öÁ¤ end
//				log("RESULT: " + argumentStr);

				if( servletURI.indexOf( location.protocol ) == -1 ) {	// not starts with http
					if( servletURI.charAt(0) == '/' ) {
						servletURI = location.protocol + "//" + location.host + servletURI;
					}
				}
				if( servletURI.indexOf("http") == 0 ){
					servletURI = "s-" + servletURI ;
				}

				log( "callInitechXMLService ½ÃÀÛ task/action[" + __performanceData[_idx].name + "] servletURI[" + servletURI + "] sFeatures[" + sFeatures + "]" );

				if ( display != "" )	{
					theDocument.all[display].innerText = "";
				}

				if ( lock == "true" ) {
					var coll = theDocument.all.tags("TabStrip");
					if (coll.length>0) {
						for ( var i=0; i < coll.length ; i++ ) {
							coll(i).lock();
						}
					}
				}

				if ( friendly != "" ) {
					_cache[friendly] = new _cacheEntity();
				}

				if( syncMode == "true" ) {	// sync¸ðµå·Î Á¶È¸
					var statusObj = new _statusEntity();
					statusObj.argument = args;
					statusObj.callBack = callBack;
					statusObj.cursorFix = cursorFix;
					statusObj.debug = debug;
					statusObj.quiet = quiet;
					statusObj.display = display;
					statusObj.exceptionCallback = exceptionCallback;
					statusObj.warningDisplayType = warningDisplayType;
					statusObj.lock = lock;
					statusObj.xsl = xsl;
					statusObj.sFeatures = sFeatures;
					statusObj.friendly = friendly;


					//¼öÁ¤ start
					var oXmlHttp = __createXMLHTTPObject();
					__performanceData[_idx].beforeAJAXCall = (new Date()).getTime();
					try{
						oXmlHttp.xmlHttp.open("POST", servletURI, false);
					}
					catch(e){
						if( servletURI.indexOf("s-http") >= 0 ){
							servletURI = servletURI.substring(2); // ½Å·ÚÇÒ¼ö ÀÖ´Â »çÀÌÆ®¿¡ µî·ÏµÇÁö ¾ÊÀº°í°´ Ã³¸®.
							oXmlHttp.xmlHttp.open("POST", servletURI, false);
							log("oXmlHttp.xmlHttp.open exception servletURI[ " + servletURI + "]");
						}
					}
					oXmlHttp.xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

					if( usesign == 'true' || usesign == 'view' ){
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) + _signData );
					}
					else{
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) );
		            }

					__performanceData[_idx].afterAJAXCall = (new Date()).getTime();

					if(oXmlHttp.xmlHttp.Status==0){
						return false;                       //»ç¿ëÀÚ¿¡ ÀÇÇØ ¿äÃ»ÀÌ Ãë¼ÒµÇ¾úÀ» °æ¿ì
					}
					else if(oXmlHttp.xmlHttp.Status>=800){
						getSFilterMessage(oXmlHttp.xmlHttp.Status);  //SHTTP ¿À·ù ¸Þ½ÃÁö¸¦ ¾òÀ½
						return false;
					}

					var retStr = oXmlHttp.xmlHttp.responseText;
					retStr = delNewLine( retStr );

					//¼öÁ¤ end

					var retObj = getDocument( retStr );
					if (retStr == "") {
						log("º¹È£È­ ¿¡·¯ÀÌ°Å³ª ¾ÏÈ£È­ ¾ÈµÈ ÀÀ´äÀÓ.");
						retObj = getDocument(oXmlHttp.xmlHttp.responseText);
						// ¾ÏÈ£È­ ¾ÈµÈ Ã¤ ³»·Á¿Â ¸Þ½ÃÁöÀÇ °æ¿ì WARNINGÀÌ ¾Æ´Ï¸é ¹«½ÃÇÑ´Ù.
						if ( retObj == null || typeof retObj.documentElement == 'undefined' || retObj.documentElement == null || retObj.documentElement.nodeName != 'WARNING'  )  {
							log("¸Þ½ÃÁö°¡ ¾Æ´Ï°Å³ª ¾ÏÈ£È­ ¾ÈµÈ ¸Þ½ÃÁöÀÇ root³ëµå°¡ 'WARINING'ÀÌ ¾Æ´Ï¹Ç·Î ¹«½Ã.");
							retObj = null;
						}
					}
					log("º¹È£È­ ¿Ï·á");
					__performanceData[_idx].afterDecrypt = (new Date()).getTime();

					_block = false;
					_chkSession();
					if ( _callBackInitechXMLSync( retObj, statusObj, _idx ) ) {
						__performanceData[_idx].endTime = (new Date()).getTime();
						savePerformanceData( __performanceData[_idx] );
						log( "callInitechXMLService callBackMethod½ÇÇà ¿Ï·á ");
						oXmlHttp.isClose = true;
						oXmlHttp.xmlHttp = null;
						return retObj.xml;
					} else {
						__performanceData[_idx].endTime = (new Date()).getTime();
						savePerformanceData( __performanceData[_idx] );
						log( "callInitechXMLService callBackMethod½ÇÇà ¿Ï·á ");
						oXmlHttp.isClose = true;
						oXmlHttp.xmlHttp = null;
						return null;
					}
				} else {		// async¸ðµå·Î Á¶È¸

					/*
                     * 2010.10.20 jklim processMsg¿¡ ´ëÇÑ DIV¸¦ ¸ÕÀú »ý¼ºÇÑ´Ù.
                     * processMsg Object ¸¦ »óÀ§·Î ¿Ã¸° ÀÌÀ¯´Â
                     * ÇØ´ç Object »ý¼º ½Ã°£Â÷·Î ÀÎÇØ processMsg °¡ »ç¶óÁöÁö ¾Ê´Â ¹®Á¦°¡ ¹ß»ý.
                     */
                    var node = document.createElement( "div" );
					if( processMsg != "" ) {
						try {
							if( typeof ___processbar == "undefined" || ___processbar == null ) {
								var processMsgHeight = getConfiguration( "processMsgHeight" );
								var processMsgWidth = getConfiguration( "processMsgWidth" );
								if( processMsgHeight == "" || processMsgWidth == "" ) {
									processMsgHeight = "73";
									processMsgWidth = "281";
								}
								node.id = "___processbar";
								node.style.position = "absolute";
								node.style.overflow = "hidden";
								node.style.zIndex = -1;
								node.style.visibility = "visible";
								node.style.height = processMsgHeight + "px";
								node.style.width = processMsgWidth + "px";
								node.style.setExpression("top",  "document.body.clientHeight/2-" + processMsgHeight + "/2" );
								node.style.setExpression("left", "document.body.clientWidth/2-" + processMsgWidth + "/2" );
							    document.body.appendChild( node );
							}
						} catch( eee ) {}
					}

					var statusObj = new _statusEntity();
					statusObj.argument = args;
					statusObj.callBack = callBack;
					statusObj.cursorFix = cursorFix;
					statusObj.debug = debug;
					statusObj.quiet = quiet;
					statusObj.display = display;
					statusObj.exceptionCallback = exceptionCallback;
					statusObj.warningDisplayType = warningDisplayType;
					statusObj.lock = lock;
					statusObj.processMsg = processMsg;
					statusObj.xsl = xsl;
					statusObj.sFeatures = sFeatures;
					statusObj.friendly = friendly;

					var oXmlHttp = __createXMLHTTPObject();
					__performanceData[_idx].beforeAJAXCall = (new Date()).getTime();
					try{
						oXmlHttp.xmlHttp.open("POST", servletURI, true);
					}
					catch(e){
						if( servletURI.indexOf("s-http") >= 0 ){
							servletURI = servletURI.substring(2); // ½Å·ÚÇÒ¼ö ÀÖ´Â »çÀÌÆ®¿¡ µî·ÏµÇÁö ¾ÊÀº°í°´ Ã³¸®.
							oXmlHttp.xmlHttp.open("POST", servletURI, true);
							log("oXmlHttp.xmlHttp.open exception servletURI[ " + servletURI + "]");
						}
					}
					var xmlhttpIDX = oXmlHttp.idx + "";
					oXmlHttp.xmlHttp.onreadystatechange=  function()  {_callBackInitechXMLAsync(xmlhttpIDX, statusObj, _idx);};

					//¼öÁ¤ start
					oXmlHttp.xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
					if( usesign == 'true' || usesign == 'view' ){
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) + _signData );
					}
					else{
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) );
		            }

	                //¼öÁ¤ end

					log("[callInitechXMLService] Check Session");
					_chkSession();

					if( processMsg != "" ) {
						if( oXmlHttp.isResponse == false ) {
							try {
								if( typeof ___processbar == "undefined" || ___processbar == null ) {
									var processMsgHeight = getConfiguration( "processMsgHeight" );
									var processMsgWidth = getConfiguration( "processMsgWidth" );
									if( processMsgHeight == "" || processMsgWidth == "" ) {
										processMsgHeight = "73";
										processMsgWidth = "281";
									}

									var node = document.createElement( "div" );
									node.id = "___processbar";
									node.style.position = "absolute";
									node.style.overflow = "hidden";
									node.style.zIndex = 10000;
									node.style.visibility = "visible";
									node.style.height = processMsgHeight + "px";
									node.style.width = processMsgWidth + "px";
									node.style.setExpression("top",  "document.body.clientHeight/2-" + processMsgHeight + "/2" );
									node.style.setExpression("left", "document.body.clientWidth/2-" + processMsgWidth + "/2" );

									document.body.appendChild( node );
									if ( isEngSiteUrl ) {
									    node.innerHTML = "<iframe frameborder='0' scrolling='no' src='" + __baseURI + "hpe/message/en_processMsg.html?param=" + URLEncoder(processMsg) + "' style='width:100%; height:100%'></iframe>";
									} else {
									    node.innerHTML = "<iframe frameborder='0' scrolling='no' src='" + __baseURI + "hpe/message/processMsg.html?param=" + URLEncoder(processMsg) + "' style='width:100%; height:100%'></iframe>";
									}
									
									
								} else {
									if( ___processbar.innerHTML == "" ) {
										___processbar.style.zIndex = 10000;
										
										if ( isEngSiteUrl ) {
    									    ___processbar.innerHTML = "<iframe frameborder='0' scrolling='no' src='" + __baseURI + "hpe/message/en_processMsg.html?param=" + URLEncoder(processMsg) + "' style='width:100%; height:100%;'></iframe>";
    									} else {
    									    ___processbar.innerHTML = "<iframe frameborder='0' scrolling='no' src='" + __baseURI + "hpe/message/processMsg.html?param=" + URLEncoder(processMsg) + "' style='width:100%; height:100%;'></iframe>";
    									}
									}
								}
							} catch( eee ) {}
							log("processMessage »ý¼º ¿Ï·á");
						} else {
							log("processMessage »ý¼º Ãë¼Ò : Ã³¸®°¡ ÀÌ¹Ì ¿Ï·áµÇ¾î¼­ processMessage¸¦ ±×·ÁÁÙ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.");
						}
					}

					if( xsl != "" ) {
						loadXSLDocument( xsl );
					}

					//	processMsg°¡ ¾øÀ¸¸é ¿äÃ»¹æÁö ¾ÈÇÔ.
					if( typeof processMsg == "undefined" || processMsg == "" ) {
						log("Áßº¹ ¿äÃ» ¹æÁö ¾ÈÇÔ!");
						_block = false;
					} else {
						log("Áßº¹ ¿äÃ» ¹æÁö!");
					}
				}
				_block = false;
				return true;
			} else	{
				log("Áßº¹ ¿äÃ» µé¾î¿È!");
				if( cursorFix == "false" ) {
					setCursor( 'auto' );
				}
				return false;
			}
		} else	{
			if( cursorFix == "false" ) {
				setCursor( 'auto' );
			}
			var xmlErrObj = new Object();
			xmlErrObj["msg"] = "ÀÎÀÚ°¡ ºÎÁ·ÇÕ´Ï´Ù.";
			xmlErrObj["arguments"] = arguments;
			showErrorMsg( xmlErrObj );
			return false;
		}
	} catch( e ) {
		if ( lock == "true" || lock == "y" )	{
			var coll = theDocument.all.tags("TabStrip");
			if ( coll.length > 0 ) {
				for ( var i=0 ; i < coll.length ; i++ ) {
					coll(i).release();
				}
			}
		}
		printStackTrace( e );
		return false;
	}
}


function _callBackInitechXMLSync( result, statusObj, _idx )	{
	setLogoutTimer();
	try {
		var srcTree;
		var xsltTree;
		var htmlStr;
		if( statusObj.cursorFix == "false" ) {
			setCursor( 'auto' );
		}

		if ( statusObj.lock == "true" || statusObj.lock == "y" )	{
			var coll = theDocument.all.tags("TabStrip");
			if ( coll.length > 0 ) {
				for ( var i=0 ; i < coll.length ; i++ ) {
					coll(i).release();
				}
			}
		}
		if (!_checkJSPError(result, statusObj )) {
			__performanceData[_idx].beforeEJBCall = getAttribute( result, "beforeEJBCall" );
			__performanceData[_idx].afterEJBCall  = getAttribute( result, "afterEJBCall"  );
			__performanceData[_idx].beforeServletCall = getAttribute( result, "beforeServletCall" );
			__performanceData[_idx].afterServletCall  = getAttribute( result, "afterServletCall"  );
			if ( statusObj.display == "" )	{
				if ( statusObj.friendly != "" ) {
					_cache[statusObj.friendly].cacheContentXML = result.xml;
				}
				if ( statusObj.debug == "true" || statusObj.debug == "y" )	{
					var obj = new Object();
					var re = />[\s]*</g;	//Initialize pattern.
					obj["result"] = result.xml.replace( re ,">\n<");
					obj["input"] = statusObj.argument.replace( re ,">\n<");
//					obj["result"] = result.value;
					showDebugMsg( obj, 'xml' );
				}
				if ( typeof statusObj.callBack != "undefined" && statusObj.callBack != "" )	{
					try {
						eval( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
					} catch( e ) {
						e.detail = statusObj.callBack + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result.xml ;
						printStackTrace( e );
					}
				}
			} else	{
				if ( typeof statusObj.xsl != "undefined" && statusObj.xsl != "" )	{
					xsltTree= getXSLDocument( statusObj.xsl );
					htmlStr = result.transformNode(xsltTree) + "<XSLINFO value='" + statusObj.xsl + "'/>";
//					theDocument.all[statusObj.display].xslURI = statusObj.xsl;
				} else {
					htmlStr = result.xml;
				}
				theDocument.all[statusObj.display].innerHTML = htmlStr;
				window.scrollTo(0,0);
				if ( statusObj.friendly != "" ) {
					_cache[statusObj.friendly].cacheContentHTML = htmlStr;
					_cache[statusObj.friendly].cacheContentXML = result.xml;
				}
				if ( statusObj.debug == "true" || statusObj.debug == "y" )	{
					var obj = new Object();
					var re = />[\s]*</g;	//Initialize pattern.
					obj["html"] = htmlStr.replace( re ,">\n<");
					obj["input"] = statusObj.argument.replace( re ,">\n<");
					if ( statusObj.xsl != "" )	{
						obj["xml"] = indent( result );
						obj["xsl"] = indent( xsltTree );
					}
					showDebugMsg( obj, 'xml' );
				}
				if ( typeof statusObj.callBack != "undefined" && statusObj.callBack != "" )	{
					try {
						eval( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
					} catch( e ) {
						e.detail = statusObj.callBack + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result.xml ;
						printStackTrace( e );
					}
				}
			}
			delete statusObj;
			return true;
		}
		delete statusObj;
	} catch ( e ) {
		printStackTrace( e );
	}
	return false;
}

function _callBackInitechXMLAsync( idx, statusObj, _idx )	{
	setLogoutTimer();
	try {
		var oXmlHttp = _aXmlHttp[idx];
		if (oXmlHttp.xmlHttp.readyState == 4) {
			oXmlHttp.isResponse = true;
			__performanceData[_idx].afterAJAXCall = (new Date()).getTime();

			//¼öÁ¤ start
			var srcTree;
			var xsltTree;
			var htmlStr;
			if( statusObj.cursorFix == "false" ) {
				setCursor( 'auto' );
			}

			if ( statusObj.lock == "true" || statusObj.lock == "y" )    {
				var coll = theDocument.all.tags("TabStrip");
				if ( coll.length > 0 ) {
					for ( var i=0 ; i < coll.length ; i++ ) {
						coll(i).release();
					}
				}
			}

			if( typeof ___processbar != "undefined" && ___processbar != null ) {
				if( typeof statusObj.processMsg != "undefined" && statusObj.processMsg != "" ) {
					try {
						log("processbar Á¦°Å ½ÃÀÛ");
						___processbar.style.zIndex = -1;
						log("processbar Á¦°Å ¿Ï·á 1");
						___processbar.innerText = '';
						log("processbar Á¦°Å ¿Ï·á 2");
					} catch( eee ) {
						log("processbar Á¦°Å ¿¡·¯ Ãâ·Â ½ÃÀÛ");
						printStackTrace( eee );
						log("processbar Á¦°Å ¿¡·¯ Ãâ·Â ¿Ï·á");
					}
				}
			}

			log("º¹È£È­ ½ÃÀÛ");
			var retStr = oXmlHttp.xmlHttp.responseText;
			log("oXmlHttp.xmlHttp.responseText[" + retStr + "]");
			retStr = delNewLine( retStr );

			var tDoc = getDocument("WARNING");

			//¼öÁ¤ start
			if(oXmlHttp.xmlHttp.Status==0){
				try{
				   log("login cancel");
				   thisMovie("PrivateMain").resultFromJsCancel("cancel");
				} catch( e ) {
					   printStackTrace( e );
				}
				return false;                       //»ç¿ëÀÚ¿¡ ÀÇÇØ ¿äÃ»ÀÌ Ãë¼ÒµÇ¾úÀ» °æ¿ì
			}
			else if( oXmlHttp.xmlHttp.Status>=800 ){
				if ( statusObj.quiet != "true" || oXmlHttp.xmlHttp.Status>=900 ){
					getSFilterMessage(oXmlHttp.xmlHttp.Status);  //SHTTP ¿À·ù ¸Þ½ÃÁö¸¦ ¾òÀ½
					return false;
				}
				else{
					setString( tDoc, "errorCode", "0031");
					retStr = serialize( tDoc );
				}
			}

			var result = getDocument( retStr );
			if (retStr == "") {
				log("º¹È£È­ ¿¡·¯ÀÌ°Å³ª ¾ÏÈ£È­ ¾ÈµÈ ÀÀ´äÀÓ.");
				result = getDocument(oXmlHttp.xmlHttp.responseText);
				// ¾ÏÈ£È­ ¾ÈµÈ Ã¤ ³»·Á¿Â ¸Þ½ÃÁöÀÇ °æ¿ì WARNINGÀÌ ¾Æ´Ï¸é ¹«½ÃÇÑ´Ù.
				if ( result == null || typeof result.documentElement == 'undefined' || result.documentElement == null || result.documentElement.nodeName != 'WARNING'  )  {
					log("¸Þ½ÃÁö°¡ ¾Æ´Ï°Å³ª ¾ÏÈ£È­ ¾ÈµÈ ¸Þ½ÃÁöÀÇ root³ëµå°¡ 'WARINING'ÀÌ ¾Æ´Ï¹Ç·Î ¹«½Ã.");
					result = null;
				}
			}
			//¼öÁ¤ end

			log("before check JSPError");
			if (!_checkJSPError(result, statusObj )) {
				__performanceData[_idx].beforeEJBCall = getAttribute( result, "beforeEJBCall" );
				__performanceData[_idx].afterEJBCall  = getAttribute( result, "afterEJBCall"  );
				__performanceData[_idx].beforeServletCall = getAttribute( result, "beforeServletCall" );
				__performanceData[_idx].afterServletCall  = getAttribute( result, "afterServletCall"  );
				if ( statusObj.display == "" )	{
					if ( statusObj.friendly != "" ) {
						_cache[statusObj.friendly].cacheContentXML = result.xml;
					}
					if ( statusObj.debug == "true" || statusObj.debug == "y" )	{
						var obj = new Object();
						var re = />[\s]*</g;	//Initialize pattern.
						obj["result"] = result.xml.replace( re ,">\n<");
						obj["input"] = statusObj.argument.replace( re ,">\n<");
						showDebugMsg( obj, 'xml' );
					}
					if ( typeof statusObj.callBack != "undefined" && statusObj.callBack != "" )	{
						try {
							eval( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
						} catch( e ) {
							e.detail = statusObj.callBack + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result.xml ;
							printStackTrace( e );
						}
					}
				} else	{
					if ( typeof statusObj.xsl != "undefined" && statusObj.xsl != "" )	{
						xsltTree= getXSLDocument( statusObj.xsl );
						htmlStr = result.transformNode(xsltTree) + "<XSLINFO value='" + statusObj.xsl + "'/>";
//						theDocument.all[statusObj.display].xslURI = statusObj.xsl;
					} else {
						htmlStr = result.xml;
					}
					theDocument.all[statusObj.display].innerHTML = htmlStr;
					window.scrollTo(0,0);
					if ( statusObj.friendly != "" ) {
						_cache[statusObj.friendly].cacheContentHTML = htmlStr;
						_cache[statusObj.friendly].cacheContentXML = result.xml;
					}
					if ( statusObj.debug == "true" || statusObj.debug == "y" )	{
						var obj = new Object();
						var re = />[\s]*</g;	//Initialize pattern.
						obj["html"] = htmlStr.replace( re ,">\n<");
						obj["input"] = statusObj.argument.replace( re ,">\n<");
						if ( statusObj.xsl != "" )	{
							obj["xml"] = indent( result );
							obj["xsl"] = indent( xsltTree );
						}
						showDebugMsg( obj, 'xml' );
					}
					if ( typeof statusObj.callBack != "undefined" && statusObj.callBack != "" )	{
						log( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
						try {
							eval( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
						} catch( e ) {
							e.detail = statusObj.callBack + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result.xml ;
							printStackTrace( e );
						}
					}
				}
			}
			__performanceData[_idx].endTime = (new Date()).getTime();
			savePerformanceData( __performanceData[_idx] );
			_block = false;
			log( "callInitechXMLService callBackMethod½ÇÇà ¿Ï·á ");
			delete statusObj;
			oXmlHttp.isClose = true;
			oXmlHttp.xmlHttp = null;
			return;
		}
		delete statusObj;
	} catch ( e ) {
		if( typeof ___processbar != "undefined" && ___processbar != null ) {
			try {
				___processbar.style.zIndex = -1;
				___processbar.innerText = '';
			} catch( eee) {}
		}
		oXmlHttp.isClose = true;
		oXmlHttp.xmlHttp = null;
		printStackTrace( e );
	}
}



/*
1.13. callInitechOptionService
		ServletÀ» ÅëÇØ¼­ task¸¦ ½ÇÇà½ÃÄÑ¼­ selectÀÇ °ªÀ» settingÇØ ÁÖ´Â functionÀÌ´Ù.
		ServletÀº ±âÁ¸¿¡ Á¦°øµÇ´Â °øÅë ServletÀ» »ç¿ëÇØµµ µÇ°í Ä¿½ºÅÍ¸¶ÀÌÂ¡ÇÑ º°µµÀÇ ServletÀ» »ç¿ëÇØµµ µÈ´Ù.
		»ç¿ë¹æ¹ý) callInitechOptionService( feature, taskFullName, argument );
		servlet		Servlet URL
		argumentÀ¥¼­ºñ½º¿¡ Àü´ÞµÇ´Â argument

		feature¿¡ ÁöÁ¤µÈ ¼Ó¼ºÀº ´ÙÀ½°ú °°´Ù.
			-¼Ó¼º°£¿¡ ±¸ºÐÀº ;(semicolon)À» ÀÌ¿ëÇÏ°í, ¼Ó¼º°ú °ªÀ» ±¸ºÐÇÒ ¶§´Â :(colon)À» ÀÌ¿ëÇÑ´Ù.
		-----------------------------------------------------------------------------------------
		¼Ó¼º	ÇÊ¼ö¿©ºÎ	°ª				¼³¸í
		-----------------------------------------------------------------------------------------
		sync		 N		-		Webservices¸¦ Sync/Async¸ðµå·Î ÇÒÁö ÁöÁ¤( Default : Sync¸ðµå )
		friendly	N		-		°á°ú¸¦ ³ªÁß¿¡ Á¶È¸ÇÒ ¶§ »ç¿ëµÇ´Â ÀÌ¸§
		display		 Y		-		°á°ú¸¦ Ãâ·ÂÇÒ select tag name
		form		 N		-		°á°ú¸¦ Ãâ·ÂÇÒ select tag°¡ ÀÖ´Â formÀÌ¸§, ¼Ó¼º°ªÀ» ÀÔ·ÂÇÏÁö ¾ÊÀº °æ¿ì tagÀÌ¸§À¸·Î¸¸ °Ë»öÇÑ´Ù.
		xsl			 N		-		°á°ú¸¦ º¯È¯ÇÒ ¶§ »ç¿ëÇÒ xsl ÆÄÀÏ
		selected	 N		-		¼±ÅÃÇÒ OptionÀÇ value°ª
		chooseOption N	true/false	OptionÀÇ ¸Ç À§¿¡ '-¼±ÅÃ-'À» Ãß°¡
		allOption	 N	true/false	OptionÀÇ ¸Ç À§¿¡ 'ÀüÃ¼'À» Ãß°¡
		append  	 N	true/false	±âÁ¸¿¡ Á¸ÀçÇÏ´Â OptionÀ» »èÁ¦ÇÏÁö ¾Ê°í µÚ¿¡ Ãß°¡
		sorted		 N	true/false	°ªÀ» Á¤·ÄÇÒ Áö ¿©ºÎ
		callback	 N		-		À¥¼­ºñ½º¸¦ ´Ù Ã³¸®ÇÑ ÈÄ¿¡ È£ÃâÇÒ function
		debug		 N	true/false	À¥¼­ºñ½º¸¦ È£ÃâÇÑ °á°ú¸¦ Ãâ·ÂÇÒÁö ¿©ºÎ
		exceptionCallback N		-	À¥¼­ºñ½º È£Ãâ Áß exceptionÀÌ ¹ß»ýÇÏ¸é È£ÃâÇÒ callback ÇÔ¼ö
		------------------------------------------------------------------------------------------
		¿¹)display:selectTag; xsl:auth.xsl; callback:test1; srv:myservice; debug:true;

		_block, _status, _statusEntity(),
		_callBackInitechOptionSync(), _callBackInitechOptionAsync()´Â callInitechOptionService¿¡¼­ ³»ºÎÀûÀ¸·Î È£ÃâµÇ´Â functionÀÌ´Ù.
*/
function callInitechOptionService() {
	var quiet = false, argumentStr, ret, syncMode = "" , callBack = "", lock = "true", exceptionCallback = "", xsl = "", friendly = "", debug = "false";
	try {
		var sFeatures = arguments[0];
		var servletURI = arguments[1];
		var arrayOfFeatures = sFeatures.split(";");
		for (var i=0; i < arrayOfFeatures.length; i++) {
			var tmpArray = arrayOfFeatures[i].split(":");
			if ( tmpArray.length == 2 )	{
				if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
					xsl = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "sync" )	{
					syncMode = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "friendly" )	{
					friendly = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
					callBack = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "lock" )	{
					lock = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
					debug = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "quiet" )	{
					quiet = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "exceptioncallback" )	{
					exceptionCallback = trim( tmpArray[1] );
				}
			}
		}

		if( __globalDebug1 || getGlobalDebug() ) {
			debug = "true";
		}

		if( syncMode != "true" && syncMode != "false" ) {
			log("[ERROR]callInitechOptionService¸¦ È£ÃâÇÏ´Â Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù. \n È£Ãâ½Ã sync:true / sync:false ¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.\n¿ì¼± sync:true·Î È£ÃâÇÕ´Ï´Ù. ¹Ýµå½Ã ¼Ò½º¸¦ ¼öÁ¤ÇØ ÁÖ¼¼¿ä.\n\n" + arguments[0]);
			syncMode = "true";
//			if( cursorFix == "false" ) {
//				setCursor( 'auto' );
//			}
//			return;
		}

		if ( servletURI != "" && arguments.length == 3 )	{
			if( !_block )	{
				_block = true;
				var args = null;
				var _idx = "idx" + (new Date()).getTime() + Math.random() * 10000;
				__performanceData[_idx] = new __performanceEntity();
				__performanceData[_idx].name = servletURI;
				__performanceData[_idx].startTime = (new Date()).getTime();

				if ( _isDocument( arguments[2] ) ) {		// XML Document
					if ( debug == "true" || debug == "y" )	{
						setDebug( arguments[2] , true );
					}
					__performanceData[_idx].name = getTask( arguments[2] ) + "." + getAction( arguments[2] );
					args = arguments[2].xml;
				} else if ( typeof arguments[2] == 'object' && typeof arguments[2].type != 'undefined'
						&& ( arguments[2].type == 'vector' || arguments[2].type == 'hashtable' ) ) {	// Hashtable or Vector Object
					if ( debug == "true" || debug == "y" )	{
						arguments[2].setDebug( true );
					}
					__performanceData[_idx].name = arguments[2].getTask() + "." + arguments[2].getAction();
					args = arguments[2].toString();
				} else if( typeof arguments[2] == 'string' && _isXMLString( arguments[2] ) ) {	// xml String
					var tmpDom = getDocument( arguments[2] );
					__performanceData[_idx].name = getTask( tmpDom ) + "." + getAction( tmpDom );
					if ( debug == "true" || debug == "y" )	{
						var tmpDom = getDocument( arguments[2] );
						setDebug( tmpDom , true );
						args = tmpDom.xml;
					} else {
						args = arguments[2];
					}
				} else if( typeof arguments[2] == 'string' && !_isXMLString( arguments[2] ) ) {	// primitive String( Not XML String )
					args = arguments[2];
				} else {
					args = arguments[2].toString();
				}

				// servletURI¿¡ Task,ActionÁ¤º¸ Ãß°¡.
				servletURI = changeServletURI(servletURI, __performanceData[_idx].name);

				__performanceData[_idx].beforeEncrypt = (new Date()).getTime();
				log("¾ÏÈ£È­ ½ÃÀÛ");
				//¼öÁ¤ start
				var _signDoc;
				var _signData;
				var _signTitle;

				if( usesign == 'true' || usesign == 'view' ){
					_signDoc   = AppendSignData(args);
					_signData  = getString( _signDoc, "_signData");
					_signTitle = getString( _signDoc, "_signTitle");

					if( _signData == "" ){
						alertError("ÁË¼ÛÇÕ´Ï´Ù.\nÀüÀÚ¼­¸í¹®ÀÌ Àü´ÞµÇÁö ¾Ê¾Ò½À´Ï´Ù.\nÃ³À½ºÎÅÍ ´Ù½Ã °Å·¡ÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.");
						return false;
					}

					_signData = "&__signData__=" + encodeURIComponent(_signData)
					          + "&__signTitle__=" + encodeURIComponent(_signTitle);

					if ( usesign == 'true' ){
						servletURI 	= servletURI.substring(0, servletURI.lastIndexOf("/")+1)  + "sign"
					           		+ servletURI.substring(servletURI.lastIndexOf("/")) ;
					}
					else{
						servletURI 	= servletURI.substring(0, servletURI.lastIndexOf("/")+1)  + "signView"
					           		+ servletURI.substring(servletURI.lastIndexOf("/")) ;
					}
					//ÀüÀÚ¼­¸í °ËÁõ ¿©ºÎ Ãß°¡
					var tDoc = getDocument( args );
					setAttribute(tDoc, "useSign", "true");
					args = tDoc.xml;

				}
				//¼öÁ¤ end

				log("¾ÏÈ£È­ ¿Ï·á");
//				log("RESULT: " + argumentStr);

				if( servletURI.indexOf( location.protocol ) == -1 ) {	// not starts with http
					if( servletURI.charAt(0) == '/' ) {
						servletURI = location.protocol + "//" + location.host + servletURI;
					}
				}

				if( servletURI.indexOf("http") == 0 ){
					servletURI = "s-" + servletURI ;
				}

				log( "callInitechOptionService ½ÃÀÛ task/action[" + __performanceData[_idx].name + "] servletURI[" + servletURI + "] sFeatures[" + sFeatures + "]" );

				if ( lock == "true" ) {
					var coll = theDocument.all.tags("TabStrip");
					if (coll.length>0) {
						for ( var i=0; i < coll.length ; i++ ) {
							coll(i).lock();
						}
					}
				}

				if ( friendly != "" ) {
					_cache[friendly] = new _cacheEntity();
				}

				if( syncMode == "true" ) {	// sync¸ðµå·Î Á¶È¸
					var statusObj = new _statusEntity();
					statusObj.argument = args;
					statusObj.callBack = callBack;
					statusObj.debug = debug;
					statusObj.quiet = quiet;
					statusObj.exceptionCallback = exceptionCallback;
					statusObj.lock = lock;
					statusObj.sFeatures = sFeatures;
					statusObj.friendly = friendly;

					var oXmlHttp = __createXMLHTTPObject();
					__performanceData[_idx].beforeAJAXCall = (new Date()).getTime();
					try{
						oXmlHttp.xmlHttp.open("POST", servletURI, false);
					}
					catch(e){
						if( servletURI.indexOf("s-http") >= 0 ){
							servletURI = servletURI.substring(2); // ½Å·ÚÇÒ¼ö ÀÖ´Â »çÀÌÆ®¿¡ µî·ÏµÇÁö ¾ÊÀº°í°´ Ã³¸®.
							oXmlHttp.xmlHttp.open("POST", servletURI, false);
							log("oXmlHttp.xmlHttp.open exception servletURI[ " + servletURI + "]");
						}
					}

					//¼öÁ¤ start
					oXmlHttp.xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
					if( usesign == 'true' || usesign == 'view' ){
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) + _signData);
					}
					else{
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) );
		            }


					__performanceData[_idx].afterAJAXCall = (new Date()).getTime();

					log("º¹È£È­ ½ÃÀÛ");
					var retStr = oXmlHttp.xmlHttp.responseText;
					retStr = delNewLine( retStr );

					//¼öÁ¤ end


					var retObj = getDocument( retStr );
					log("º¹È£È­ ¿Ï·á");
					__performanceData[_idx].afterDecrypt = (new Date()).getTime();

					_block = false;
					_chkSession();
					if ( _callBackInitechOptionSync( retObj, statusObj, _idx ) ) {
						__performanceData[_idx].endTime = (new Date()).getTime();
						savePerformanceData( __performanceData[_idx] );
						log( "callInitechOptionService callBackMethod½ÇÇà ¿Ï·á ");
						oXmlHttp.isClose = true;
						oXmlHttp.xmlHttp = null;
						return retObj.xml;
					} else {
						__performanceData[_idx].endTime = (new Date()).getTime();
						savePerformanceData( __performanceData[_idx] );
						log( "callInitechOptionService callBackMethod½ÇÇà ¿Ï·á ");
						oXmlHttp.isClose = true;
						oXmlHttp.xmlHttp = null;
						return null;
					}
				} else {		// async¸ðµå·Î Á¶È¸
					var statusObj = new _statusEntity();
					statusObj.argument = args;
					statusObj.callBack = callBack;
					statusObj.debug = debug;
					statusObj.quiet = quiet;
					statusObj.exceptionCallback = exceptionCallback;
					statusObj.lock = lock;
					statusObj.sFeatures = sFeatures;
					statusObj.friendly = friendly;

					var oXmlHttp = __createXMLHTTPObject();
					__performanceData[_idx].beforeAJAXCall = (new Date()).getTime();
					try{
						oXmlHttp.xmlHttp.open("POST", servletURI, true);
					}
					catch(e){
						if( servletURI.indexOf("s-http") >= 0 ){
							servletURI = servletURI.substring(2); // ½Å·ÚÇÒ¼ö ÀÖ´Â »çÀÌÆ®¿¡ µî·ÏµÇÁö ¾ÊÀº°í°´ Ã³¸®.
							oXmlHttp.xmlHttp.open("POST", servletURI, true);
							log("oXmlHttp.xmlHttp.open exception servletURI[ " + servletURI + "]");
						}
					}
					var xmlhttpIDX = oXmlHttp.idx + "";
					oXmlHttp.xmlHttp.onreadystatechange=  function()  {_callBackInitechOptionAsync(xmlhttpIDX, statusObj, _idx);};
					//¼öÁ¤ start
					oXmlHttp.xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
					if( usesign == 'true' || usesign == 'view' ){
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) + _signData );
					}
					else{
		                oXmlHttp.xmlHttp.send( "plainXML=" + encodeURIComponent(args) );
		            }

	                //¼öÁ¤ end

					_chkSession();

					if( xsl != "" ) {
						loadXSLDocument( xsl );
					}
				}
				_block = false;
				return true;
			} else	{
				return false;
			}
		} else	{
			var xmlErrObj = new Object();
			xmlErrObj["msg"] = "ÀÎÀÚ°¡ ºÎÁ·ÇÕ´Ï´Ù.";
			xmlErrObj["arguments"] = arguments;
			showErrorMsg( xmlErrObj );
			return false;
		}
	} catch( e ) {
		if ( lock == "true" || lock == "y" )	{
			var coll = theDocument.all.tags("TabStrip");
			if ( coll.length > 0 ) {
				for ( var i=0 ; i < coll.length ; i++ ) {
					coll(i).release();
				}
			}
		}
		printStackTrace( e );
		return false;
	}
}


function _callBackInitechOptionSync( result, statusObj, _idx )	{
	setLogoutTimer();
	try {

		if ( statusObj.lock == "true" || statusObj.lock == "y" )	{
			var coll = theDocument.all.tags("TabStrip");
			if ( coll.length > 0 ) {
				for ( var i=0 ; i < coll.length ; i++ ) {
					coll(i).release();
				}
			}
		}
		if (!_checkJSPError(result, statusObj )) {
			__performanceData[_idx].beforeEJBCall = getAttribute( result, "beforeEJBCall" );
			__performanceData[_idx].afterEJBCall  = getAttribute( result, "afterEJBCall"  );
			__performanceData[_idx].beforeServletCall = getAttribute( result, "beforeServletCall" );
			__performanceData[_idx].afterServletCall  = getAttribute( result, "afterServletCall"  );
			setXMLOption( statusObj.sFeatures , result.xml );
			if ( statusObj.friendly != "" ) {
				_cache[statusObj.friendly].cacheContentXML = result.xml;
			}
			if ( statusObj.debug == "true" || statusObj.debug == "y" )	{
				var obj = new Object();
				var re = />[\s]*</g;	//Initialize pattern.
				obj["result"] = result.xml.replace( re ,">\n<");
				obj["input"] = statusObj.argument.replace( re ,">\n<");
				showDebugMsg( obj, 'xml' );
			}

			if ( typeof statusObj.callBack != "undefined" && statusObj.callBack != "" )	{
				try {
					eval( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
				} catch( e ) {
					e.detail = statusObj.callBack + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result.xml ;
					printStackTrace( e );
				}
			}

			delete statusObj;
			return true;
		}
		delete statusObj;
	} catch ( e ) {
		printStackTrace( e );
	}
	return false;
}

function _callBackInitechOptionAsync( idx, statusObj, _idx )	{
	setLogoutTimer();
	try {
		var oXmlHttp = _aXmlHttp[idx];
		if (oXmlHttp.xmlHttp.readyState == 4) {
			oXmlHttp.isResponse = true;
			__performanceData[_idx].afterAJAXCall = (new Date()).getTime();

			log("º¹È£È­ ½ÃÀÛ");

			//¼öÁ¤ start
			var retStr = oXmlHttp.xmlHttp.responseText;
			retStr = delNewLine( retStr );
			//¼öÁ¤ end

			var result = getDocument( retStr );
			log("º¹È£È­ ¿Ï·á");
			__performanceData[_idx].afterDecrypt = (new Date()).getTime();

			if ( statusObj.lock == "true" || statusObj.lock == "y" )	{
				var coll = theDocument.all.tags("TabStrip");
				if ( coll.length > 0 ) {
					for ( var i=0 ; i < coll.length ; i++ ) {
						coll(i).release();
					}
				}
			}

			if (!_checkJSPError(result, statusObj )) {
				__performanceData[_idx].beforeEJBCall = getAttribute( result, "beforeEJBCall" );
				__performanceData[_idx].afterEJBCall  = getAttribute( result, "afterEJBCall"  );
				__performanceData[_idx].beforeServletCall = getAttribute( result, "beforeServletCall" );
				__performanceData[_idx].afterServletCall  = getAttribute( result, "afterServletCall"  );
				setXMLOption( statusObj.sFeatures , result.xml );
				if ( statusObj.friendly != "" ) {
					_cache[statusObj.friendly].cacheContentXML = result.xml;
				}
				if ( statusObj.debug == "true" || statusObj.debug == "y" )	{
					var obj = new Object();
					var re = />[\s]*</g;
					obj["result"] = result.xml.replace( re ,">\n<");
					obj["input"] = statusObj.argument.replace( re ,">\n<");
					showDebugMsg( obj, 'xml' );
				}
				if ( typeof statusObj.callBack != "undefined" && statusObj.callBack != "" )	{
					try {
						eval( statusObj.callBack + "( result.xml, statusObj.argument, statusObj.sFeatures );" );
					} catch( e ) {
						e.detail = statusObj.callBack + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result.xml ;
						printStackTrace( e );
					}
				}
			}
			__performanceData[_idx].endTime = (new Date()).getTime();
			savePerformanceData( __performanceData[_idx] );
			delete statusObj;
			log( "callInitechOptionService callBackMethod½ÇÇà ¿Ï·á ");
			oXmlHttp.isClose = true;
			oXmlHttp.xmlHttp = null;
			return;
		}
	} catch ( e ) {
		oXmlHttp.isClose = true;
		oXmlHttp.xmlHttp = null;
		printStackTrace( e );
	}
}

// ÀüÀÚ¼­¸í ÇÔ¼ö
function AppendSignData(xmlStr)
{
		var tempDoc = getDocument(xmlStr);
		var rootName = tempDoc.documentElement.nodeName;
		var resultDoc = getDocument("<SIGN/>");
		var _signData = "";
		var _signTitle = "";
		if (rootName == "vector") {
//          showObject(tempDoc);
			var vec = toVector(tempDoc);
			var resultVec = new Vector();
			for (var i=0;i<vec.size();i++) {
				var eleDoc = vec.elementAt(i);
				_signTitle += getString(eleDoc, "__signTitle__");
				_signData  += getString(eleDoc, "__signData__");
			}
		} else {
			_signTitle = getString(tempDoc, "__signTitle__");
			_signData  = getString(tempDoc, "__signData__");
		}
		setString( resultDoc, "_signData",  _signData  );
		setString( resultDoc, "_signTitle", _signTitle );
		return resultDoc.xml;
}


function addSignValue2(data, name, value)
{
  if(data!="") data += "\n";
	data += name;
	data += "=";
	data += value;
	return data;
}

function doXML() {
	try {
		var userCallback = "", formName = "hpeform", transform = "true", userDisplay = "hpelayer", userXsl = "", userLanguage = "ko", keepTransactionSession = "false", useCert = "false", processMsg = "", debug = "false", echoMode = "false", errorMsg = "", requestMessage = "", responseMessage = "", showJStarError = "true", useSign = "false", allowMulti = "false", errorURL = "";
		var serviceCode = arguments[0];
		if( typeof serviceCode == "undefined" ) {
			alertError("Service Code´Â ÇÊ¼ö Ç×¸ñ ÀÔ´Ï´Ù.");
			return;
		}
		userXsl = "xsl/RIB" + serviceCode + ".xsl";
		var sFeatures = arguments[1];
		var doc = arguments[2];

		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
						formName = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
						userLanguage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "keeptransactionsession" )	{
						keepTransactionSession = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" )	{
						useCert = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "processmsg" )	{
						processMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "echo" )	{
						echoMode = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "error" )	{
						errorMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "requestmessage" )	{
						requestMessage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "responsemessage" )	{
						responseMessage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usesign" )	{
						useSign = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "allowmulti" )	{
						allowMulti = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
						errorURL = trim( tmpArray[1] );
					}
				}
			}
		}

		// requestMessage°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» »ç¿ëÇÑ´Ù.
		if ( requestMessage == "" ) {
			requestMessage = "S_RIB" + serviceCode;
		}

		// responseMessage°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» »ç¿ëÇÑ´Ù.
		if ( responseMessage == "" ) {
			responseMessage = "R_RIB" + serviceCode;
		}

		var servletURL = "/common/hpe/jsp/callHpeCommonService.jsp?serviceCode="+serviceCode;

		if( typeof doc == 'undefined' ) {
			var formObj = null;
			if( formName.indexOf( "." ) > -1 ) {
				formObj = eval( formName );
			} else {
				var idx1 = formName.indexOf("[");
				var idx2 = formName.indexOf("(");
				var sourceName = formName;
				var sourceIdx = 0;
				if( idx1 > -1 ) {
					var idx3 = formName.indexOf("]");
					if( idx3 > -1 ) {
						sourceName = formName.substring(0, idx1);
						sourceIdx  = parseInt( formName.substring(idx1+1, idx3) );
					}
				} else if ( idx2 > -1 ) {
					var idx3 = formName.indexOf(")");
					if( idx3 > -1 ) {
						sourceName = formName.substring(0, idx2);
						sourceIdx  = parseInt( formName.substring(idx2+1, idx3) );
					}
				}

				var oObject = theDocument.forms;
				var objCount = 0;
				if (oObject != null){
					for (var i = 0; i < oObject.length; i++){
						var obj = oObject[i];
						if( obj.name == sourceName )	{
							if( objCount == sourceIdx ) {
								formObj = obj;
								break;
							}
							objCount++;
						}
					}
				}
			}
			if( typeof formObj == 'undefined' || formObj == null ) {
				doc = getDocument("<NOFORM/>");
			} else {
				if( !validateForm(formObj) ) {
					return;
				}
				doc = toDocument( formObj );
			}

		}

		if( processMsg == "" ) {
			processMsg = "Ã³¸®ÁßÀÔ´Ï´Ù.";
		}

		if( echoMode == "true" ) {
			setAttribute( doc, "mode", "ECHO" );
			setAttribute( doc, "error", errorMsg );
		}

		if( userLanguage != "ko" )  {
			setAttribute( doc, "language", userLanguage);	// ¾ð¾î
		}
		if( keepTransactionSession == "true" ) {
			setAttribute( doc, "keepTransactionSession", keepTransactionSession);	// Transaction SessionÀ¯Áö ¿©ºÎ
		}
		if ( allowMulti == "true" ) {
			setAttribute( doc, "permitMultiTransaction", "true");	// Áßº¹ ½ÇÇà Çã¿ë ¼¼ÆÃ
		}
		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		setAttribute( doc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
		setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;

		var serviceFeatures = "callback:doXMLCallback; sync:false; lock:false; cursorFix: true; debug:"+debug + "; useCert:" + useCert + "; useSign:" + useSign + "; processMsg:" + processMsg +"; form:" + formName + "; userCallback:" + userCallback + "; transform:" + transform + "; userDisplay:" + userDisplay + "; userXsl:" + userXsl +"; showjstarerror:" + showJStarError;
		log( "[doXML] callInitechXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callInitechXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
			// ·Î±×¾Æ¿ô ÈÄ Ã¹ÆäÀÌÁö·Î.
			doLogoutWithoutCert();
		}
	} catch( e ) {
		alertError("doXML È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function doXML2() {
	try {
		var userCallback = "", formName = "hpeform", transform = "true", userDisplay = "hpelayer", userXsl = "", userLanguage = "ko", keepTransactionSession = "false", useCert = "false", processMsg = "", debug = "false", echoMode = "false", errorMsg = "", requestMessage = "", responseMessage = "", showJStarError = "true", useSign = "false", allowMulti = "false", errorURL = "";
		var serviceCode = arguments[0];
		if( typeof serviceCode == "undefined" ) {
			alertError("Service Code´Â ÇÊ¼ö Ç×¸ñ ÀÔ´Ï´Ù.");
			return;
		}
		userXsl = "xsl/RIB" + serviceCode + ".xsl";
		var sFeatures = arguments[1];
		var doc = arguments[2];

		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
						formName = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
						userLanguage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "keeptransactionsession" )	{
						keepTransactionSession = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" )	{
						useCert = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "processmsg" )	{
						processMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "echo" )	{
						echoMode = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "error" )	{
						errorMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "requestmessage" )	{
						requestMessage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "responsemessage" )	{
						responseMessage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usesign" )	{
						useSign = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "allowmulti" )	{
						allowMulti = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
						errorURL = trim( tmpArray[1] );
					}
				}
			}
		}

		// requestMessage°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» »ç¿ëÇÑ´Ù.
		if ( requestMessage == "" ) {
			requestMessage = "S_RIB" + serviceCode;
		}

		// responseMessage°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» »ç¿ëÇÑ´Ù.
		if ( responseMessage == "" ) {
			responseMessage = "R_RIB" + serviceCode;
		}

		var servletURL = "/common/hpe/jsp/callHpeCommon2Service.jsp?serviceCode="+serviceCode;

		if( typeof doc == 'undefined' ) {
			var formObj = null;
			if( formName.indexOf( "." ) > -1 ) {
				formObj = eval( formName );
			} else {
				var idx1 = formName.indexOf("[");
				var idx2 = formName.indexOf("(");
				var sourceName = formName;
				var sourceIdx = 0;
				if( idx1 > -1 ) {
					var idx3 = formName.indexOf("]");
					if( idx3 > -1 ) {
						sourceName = formName.substring(0, idx1);
						sourceIdx  = parseInt( formName.substring(idx1+1, idx3) );
					}
				} else if ( idx2 > -1 ) {
					var idx3 = formName.indexOf(")");
					if( idx3 > -1 ) {
						sourceName = formName.substring(0, idx2);
						sourceIdx  = parseInt( formName.substring(idx2+1, idx3) );
					}
				}

				var oObject = theDocument.forms;
				var objCount = 0;
				if (oObject != null){
					for (var i = 0; i < oObject.length; i++){
						var obj = oObject[i];
						if( obj.name == sourceName )	{
							if( objCount == sourceIdx ) {
								formObj = obj;
								break;
							}
							objCount++;
						}
					}
				}
			}
			if( typeof formObj == 'undefined' || formObj == null ) {
				doc = getDocument("<NOFORM/>");
			} else {
				if( !validateForm(formObj) ) {
					return;
				}
				doc = toDocument( formObj );
			}

		}

		if( processMsg == "" ) {
			processMsg = "Ã³¸®ÁßÀÔ´Ï´Ù.";
		}

		if( echoMode == "true" ) {
			setAttribute( doc, "mode", "ECHO" );
			setAttribute( doc, "error", errorMsg );
		}

		if( userLanguage != "ko" )  {
			setAttribute( doc, "language", userLanguage);	// ¾ð¾î
		}
		if( keepTransactionSession == "true" ) {
			setAttribute( doc, "keepTransactionSession", keepTransactionSession);	// Transaction SessionÀ¯Áö ¿©ºÎ
		}
		if ( allowMulti == "true" ) {
			setAttribute( doc, "permitMultiTransaction", "true");	// Áßº¹ ½ÇÇà Çã¿ë ¼¼ÆÃ
		}
		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		setAttribute( doc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
		setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;

		var serviceFeatures = "callback:doXMLCallback; sync:false; lock:false; cursorFix: true; debug:"+debug + "; useCert:" + useCert + "; useSign:" + useSign + "; processMsg:" + processMsg +"; form:" + formName + "; userCallback:" + userCallback + "; transform:" + transform + "; userDisplay:" + userDisplay + "; userXsl:" + userXsl +"; showjstarerror:" + showJStarError;
		log( "[doXML2] callInitechXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callInitechXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
			// ·Î±×¾Æ¿ô ÈÄ Ã¹ÆäÀÌÁö·Î.
			doLogoutWithoutCert();
		}
	} catch( e ) {
		alertError("doXML2 È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function doXMLCallback( result, argument, sFeatures ) {
	try {
		var srcTree = null, xsltTree = null, htmlStr = null, obj = null;
		var userCallback = "", transform = "true", userDisplay = "hpelayer", userXsl = "", debug = "false", showJStarError = "true";
		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "usercallback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userdisplay" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userxsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					}
				}
			}
		}

		srcTree = getDocument( result );

		// jStar ¿¡·¯ Ã¼Å© ¿©ºÎ Ã³¸®.
		if (showJStarError != "false") {
			if (!checkJStarError(srcTree)) {
				return;
			}
		}

		if ( debug == "true" || debug == "y" )	{
			obj = new Object();
			var re = />[\s]*</g;	//Initialize pattern.
			obj["input"] = argument.replace( re ,">\n<");
			obj["xml"] = indent( srcTree );
		}
		if( transform == "true" ) {
			if( userDisplay == "" ) {
				alertError( "transformÀÌ trueÀÌ°í displayÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else if( userXsl == "" ) {
				alertError( "transformÀÌ trueÀÌ°í xslÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else {
				if( srcTree == null ) {
					srcTree = getDocument( result );
				}
				xsltTree= getXSLDocument( userXsl );
				htmlStr = srcTree.transformNode(xsltTree) + "<XSLINFO value='" + userXsl + "'/>";

				theDocument.all[userDisplay].innerHTML = htmlStr;
				window.scrollTo(0,0);

				if ( debug == "true" || debug == "y" )	{
					var re = />[\s]*</g;	//Initialize pattern.
					obj["html"] = htmlStr.replace( re ,">\n<");
					obj["xsl"] = indent( xsltTree );
				}
			}
		}

		if ( debug == "true" || debug == "y" )	{
			showDebugMsg( obj, 'xml' );
		}

		if ( typeof userCallback != "undefined" && userCallback != "" )	{
			try {
				eval( userCallback + "( result, argument );" );
			} catch( e ) {
				e.detail = userCallback + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
				printStackTrace( e );
			}
		}
	} catch( e ) {
		alertError("doXML È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function doSession() {
	try {
		var userCallback = "", userTarget = "", userDisplay = "", userXsl = "", formName = "hpeform", userLanguage = "ko", useCert = "false", debug = "false", showJStarError = "true", allowMulti = "false", errorURL = "";
		var strSelected = "", strTextSelected = "", allOption = "", allOptionText = "", chooseOption = "", chooseOptionText = "", append = "", sorted = "", textSorted = "";
		var blankText = "";

		var sSessionStr = arguments[0];
		var sSessionListStr = arguments[1];
		var sFeatures = arguments[2];
		if ( typeof sFeatures == "undefined" ) {
			alertError("ÀÎÀÚ°¡ ºÎÁ·ÇÕ´Ï´Ù.");
			return;
		}
		if (sSessionStr == "" && sSessionListStr == "") {
			alertError("Ã¹¹øÂ°¿Í µÎ¹øÂ° Ç×¸ñÀÌ µ¿½Ã¿¡ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
		if (sFeatures == "") {
			alertError("¼¼¹øÂ° Ç×¸ñÀÌ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}

		var xmlStr = "<SESSION>";
		var arrayOfSession = trim(sSessionStr).split(";");
		var arrayOfSessionList = trim(sSessionListStr).split(";");

		for (var i=0; i < arrayOfSession.length; i++) {
			var value = trim(arrayOfSession[i]);
			if (value != "") {
				if (value != XMLEncoder(value)) {
					alertError("Ã¹ ¹øÂ° Ç×¸ñ¿¡ Àß¸øµÈ ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ½À´Ï´Ù.");
					return;
				}
				var key = "";
				var tmpArray = value.split(":");
				if ( tmpArray.length == 1 ) {
					key = value;
				} else if ( tmpArray.length == 2 )	{
					key = trim(tmpArray[1]);
				} else {
					alertError("Ã¹ ¹øÂ° Ç×¸ñÀÇ Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.");
					return;
				}
				xmlStr += "<"+key+" getSession='"+value+"'/>";
			}
		}

		for (var i=0; i < arrayOfSessionList.length; i++) {
			var value = trim(arrayOfSessionList[i]);
			if (value != "") {
				if (value != XMLEncoder(value)) {
					alertError("µÎ ¹øÂ° Ç×¸ñ¿¡ Àß¸øµÈ ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ½À´Ï´Ù.");
					return;
				}
				var key = "";
				var tmpArray = value.split(":");
				if ( tmpArray.length == 1 ) {
					key = value;
				} else if ( tmpArray.length == 2 )	{
					key = trim(tmpArray[1]);
				} else {
					alertError("µÎ ¹øÂ° Ç×¸ñÀÇ Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.");
					return;
				}
				xmlStr += "<"+key+" getSessionList='"+value+"'/>";
			}

		}

		xmlStr += "</SESSION>";

		log("doSession xmlStr["+xmlStr+"]");

		var doc = getDocument(xmlStr);


		var arrayOfFeatures = sFeatures.split(";");
		for (var i=0; i < arrayOfFeatures.length; i++) {
			var tmpArray = arrayOfFeatures[i].split(":");
			if ( tmpArray.length == 2 )	{
				if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
					userCallback = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
					formName = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
					userDisplay = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "target" )	{
					userTarget = trim( tmpArray[1] ).toLowerCase();
				} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
					userXsl = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
					userLanguage = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" )	{
					useCert = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
					debug = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
					showJStarError = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "allowmulti" )	{
					allowMulti = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
					errorURL = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "selected" )	{
					strSelected = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "textselected" )	{
					strTextSelected = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "alloption" )	{
					allOption = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "alloptiontext" )	{
					allOptionText = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoption" )	{
					chooseOption = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoptiontext" )	{
					chooseOptionText = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "append" )	{
					append = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "sorted" )	{
					sorted = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "textsorted" )	{
					textSorted = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "blanktext" )	{
					blankText = trim( tmpArray[1].toLowerCase() );
				}
			}
		}

		var serviceFeatures = "callback:doSessionCallback; sync:false; lock:false; cursorFix: true; ";

		if (userTarget == "") {
			if (userCallback == "") {
				alertError("targetÀÌ ¹ÌÁöÁ¤ÀÎ °æ¿ì callbackÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
		} else if (userTarget == "form") {
			serviceFeatures += " userTarget:form;";
			if (userDisplay == "") {
				alertError("targetÀÌ formÀÎ °æ¿ì display°¡ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			} else if (userXsl == "") {
				alertError("targetÀÌ ÁöÁ¤µÈ °æ¿ì xslÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
			serviceFeatures += " userDisplay:"+userDisplay+"; userXsl:"+userXsl+";";
			// setXMLOption°ü·Ã ¿É¼Çµé
			if (strSelected != "") {
				serviceFeatures += " selected:"+strSelected+";";
			}
			if (strTextSelected != "") {
				serviceFeatures += " textselected:"+strTextSelected+";";
			}
			if (allOption != "") {
				serviceFeatures += " alloption:"+allOption+";";
			}
			if (allOptionText != "") {
				serviceFeatures += " alloptiontext:"+allOptionText+";";
			}
			if (chooseOption != "") {
				serviceFeatures += " chooseoption:"+chooseOption+";";
			}
			if (chooseOptionText != "") {
				serviceFeatures += " chooseoptiontext:"+chooseOptionText+";";
			}
			if (append != "") {
				serviceFeatures += " append:"+append+";";
			}
			if (sorted != "") {
				serviceFeatures += " sorted:"+sorted+";";
			}
			if (textSorted != "") {
				serviceFeatures += " textsorted:"+textSorted+";";
			}
			if (blankText != "") {
				serviceFeatures += " blankText:"+blankText+";";
			}
		} else if (userTarget == "layer") {
			serviceFeatures += " userTarget:layer;";
			if (userDisplay == "") {
				userDisplay = "hpelayer";
			}
			if (userXsl == "") {
				alertError("targetÀÌ ÁöÁ¤µÈ °æ¿ì xslÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
			serviceFeatures += " userDisplay:"+userDisplay+"; userXsl:"+userXsl+";";
		} else {
			alertError("target°ªÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
			return;
		}

	if (userCallback != "") {
		serviceFeatures += " userCallback:"+userCallback+";";
	}

		if (allowMulti == "true") {
			setAttribute( doc, "permitMultiTransaction", "true");	// Áßº¹½ÇÇà Çã¿ë Ã³¸®
		}

		if (debug == "") debug = "false";
		if (userLanguage == "") userLanguage = "ko";
		if (formName == "") formName = "hpeform";
		if (useCert == "") useCert = "true";

		serviceFeatures += " debug:"+debug+"; form:"+formName+"; useCert:"+useCert+"; showjstarerror:" + showJStarError + ";";

		var servletURL = "/common/hpe/jsp/callHpeSessionService.jsp";

		setAttribute( doc, "language", userLanguage);	// ¾ð¾î

		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		log( "[doSession] callInitechXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callInitechXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
			// ·Î±×¾Æ¿ô ÈÄ Ã¹ÆäÀÌÁö·Î.
			doLogoutWithoutCert();
		}

	} catch( e ) {
		alertError("doSession È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}

}

function doSessionCallback( result, argument, sFeatures ) {
	try {

		var srcTree = null, xsltTree = null, htmlStr = null, obj = null;
		var userCallback = "", userTarget = "", userDisplay = "hpelayer", userXsl = "", userForm="hpeform", debug = "false", showJStarError = "true";
		var strSelected = "", strTextSelected = "", allOption = "", allOptionText = "", chooseOption = "", chooseOptionText = "", append = "", sorted = "", textSorted = "";
		var blankText = "";
		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "usercallback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usertarget" )	{
						userTarget = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userdisplay" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userxsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userform" )	{
						userForm = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "selected" )	{
						strSelected = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "textselected" )	{
						strTextSelected = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "alloption" )	{
						allOption = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "alloptiontext" )	{
						allOptionText = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoption" )	{
						chooseOption = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoptiontext" )	{
						chooseOptionText = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "append" )	{
						append = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "sorted" )	{
						sorted = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "textsorted" )	{
						textSorted = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "blanktext" )	{
						blankText = trim( tmpArray[1].toLowerCase() );
					}
				}
			}
		}

		srcTree = getDocument( result );

		// jStar ¿¡·¯ Ã¼Å© ¿©ºÎ Ã³¸®.
		if (showJStarError != "false") {
			if (!checkJStarError(srcTree)) {
				return;
			}
		}

		if ( debug == "true" || debug == "y" )	{
			obj = new Object();
			var re = />[\s]*</g;	//Initialize pattern.
			obj["input"] = argument.replace( re ,">\n<");
			obj["xml"] = indent( srcTree );
		}


		if( !userTarget == "") {
			if( userDisplay == "" ) {
				alertError( "displayÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else if( userXsl == "" ) {
				alertError( "xslÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else {
				if( srcTree == null ) {
					srcTree = getDocument( result );
				}

				if( userTarget == "layer" ) {
					xsltTree= getXSLDocument( userXsl );
					htmlStr = srcTree.transformNode(xsltTree) + "<XSLINFO value='" + userXsl + "'/>";

					theDocument.all[userDisplay].innerHTML = htmlStr;
					window.scrollTo(0,0);
					if ( debug == "true" || debug == "y" )	{
						var re = />[\s]*</g;	//Initialize pattern.
						obj["html"] = htmlStr.replace( re ,">\n<");
						obj["xsl"] = indent( xsltTree );
					}
				} else if (userTarget == "form" ) {
					var sFeatures2 = "display:"+userDisplay+"; form:"+userForm+"; xsl:"+userXsl+"; debug:"+debug+";";
					if (strSelected != "") {
						sFeatures2 += " selected:"+strSelected+";";
					}
					if (strTextSelected != "") {
						sFeatures2 += " textselected:"+strTextSelected+";";
					}
					if (allOption != "") {
						sFeatures2 += " alloption:"+alloption+";";
					}
					if (allOptionText != "") {
						sFeatures2 += " alloptiontext:"+allOptionText+";";
					}
					if (chooseOption != "") {
						sFeatures2 += " chooseoption:"+chooseOption+";";
					}
					if (chooseOptionText != "") {
						sFeatures2 += " chooseoptiontext:"+chooseOptionText+";";
					}
					if (append != "") {
						sFeatures2 += " append:"+append+";";
					}
					if (sorted != "") {
						sFeatures2 += " sorted:"+sorted+";";
					}
					if (textSorted != "") {
						sFeatures2 += " textsorted:"+textSorted+";";
					}
					if (blankText != "") {
						sFeatures2 += " blankText:"+blankText+";";
					}
					setXMLOption( sFeatures2, result );
				}
			}
		}
		if ( debug == "true" || debug == "y" )	{
			showDebugMsg( obj, 'xml' );
		}

		if ( typeof userCallback != "undefined" && userCallback != "" )	{
			try {
				eval( userCallback + "( result, argument );" );
			} catch( e ) {
				e.detail = userCallback + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
				printStackTrace( e );
			}
		}
	} catch( e ) {
		alertError("doSession È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}


function doXSL(){
	var xslName = arguments[0];
	if( typeof xslName == "undefined" ) {
		alertError("xsl NameÀº ÇÊ¼ö Ç×¸ñ ÀÔ´Ï´Ù.");
		return;
	}
	var userDisplay = arguments[1];
	if( typeof userDisplay == "undefined" ) {
		userDisplay = "hpelayer";
	}
	var emptyDoc = getDocument("<emptyDoc/>");
	theDocument.all[userDisplay].innerHTML = transform(emptyDoc, xslName);
	window.scrollTo(0,0);
}

// ·Î±×¾Æ¿ô ½ÇÇà
function doLogout()  {
	log("LOGOUT!");
	InitCache(); // ÀÎÁõ¼­ Á¤º¸ ÃÊ±âÈ­.

	var xmlDoc = getDocument("<LOGOUT/>");	// XMLÆÄÀÏ ¼±ÅÃ

	callInitechXMLService( "callback:doLogoutCallback; processMsg:·Î±×¾Æ¿ôÁß ÀÔ´Ï´Ù.; sync:false; debug:false; usecert:false; ",  "/common/hpe/jsp/callHpeLogoutService.jsp", xmlDoc );
	log("LOGOUT CALL END!");
}

// ·Î±×¾Æ¿ô ½ÇÇà - ÀÎÁõ¼­ ¿À·ù½Ã ½ÇÇàµÈ´Ù. ¾ÏÈ£È­ ¾øÀÌ JSP½ÇÇà.
function doLogoutWithoutCert() {
	log("LOGOUT 2!");
	InitCache(); // ÀÎÁõ¼­ Á¤º¸ ÃÊ±âÈ­.

	var xmlDoc = getDocument("<LOGOUT/>");			// XMLÆÄÀÏ ¼±ÅÃ

	callServletXMLService( "callback:doLogoutCallback; processMsg:·Î±×¾Æ¿ôÁß ÀÔ´Ï´Ù.; sync:false; debug:false; ", "/common/hpe/jsp/callHpebLogoutService2.jsp", xmlDoc );
	log("LOGOUT 2 CALL END!");
}

function doLogoutCallback(result) {
	var resultDoc = getDocument(result);
	if(getResult(resultDoc) == 1) {
		alert("·Î±×¾Æ¿ôµÇ¾ú½À´Ï´Ù.");
		InitCache();	// ÀÎÁõ¼­ Á¤º¸ ÃÊ±âÈ­.
		parent.location.href='/index.jsp';
	}
}

function validateForm( formName ) {
	try {
		var formObj = null;
		if( typeof formName == 'object' && formName.tagName == "FORM" ) {
			formObj = formName;
		} else if( formName.indexOf( "." ) > -1 ) {
			formObj = eval( formName );
		} else {
			var idx1 = formName.indexOf("[");
			var idx2 = formName.indexOf("(");
			var sourceName = formName;
			var sourceIdx = 0;
			if( idx1 > -1 ) {
				var idx3 = formName.indexOf("]");
				if( idx3 > -1 ) {
					sourceName = formName.substring(0, idx1);
					sourceIdx  = parseInt( formName.substring(idx1+1, idx3) );
				}
			} else if ( idx2 > -1 ) {
				var idx3 = formName.indexOf(")");
				if( idx3 > -1 ) {
					sourceName = formName.substring(0, idx2);
					sourceIdx  = parseInt( formName.substring(idx2+1, idx3) );
				}
			}

			var oObject = theDocument.forms;
			var objCount = 0;
			if (oObject != null){
				for (var i = 0; i < oObject.length; i++){
					var obj = oObject[i];
					if( obj.name == sourceName )	{
						if( objCount == sourceIdx ) {
							formObj = obj;
							break;
						}
						objCount++;
					}
				}
			}
		}
		if( typeof formObj == 'undefined' || formObj == null ) {
			alertError("ÀÌ¸§ÀÌ [" + formName + "]ÀÎ form°´Á¦°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
			return;
		}

		for ( var i=0 ; i < formObj.elements.length ; i++ ) {
			var e = formObj.elements[i];
			if ( e.name != null && e.name != "" )  {
				log("validateForm input name[" + e.name + "] index[" + i + "]");
				if( e.type == 'text' || e.type == 'password' || e.type == 'textarea' || e.type == 'file' || e.type == 'select-one' ) {
					if( typeof e.validation != "undefined" && e.validation != null && e.validation != "" ) {
						var validationSeparator = ":";
						if( typeof e.validationSeparator != "undefined" && e.validationSeparator != null && e.validationSeparator != "" ) {
							validationSeparator = e.validationSeparator;
						}
						var arrayOfFeatures = e.validation.split( validationSeparator );
						var functionStr = "VALIDATION_";
						for (var j=0; j < arrayOfFeatures.length; j++) {
							if( j == 0 ) {
								functionStr += arrayOfFeatures[j] + "('" + e.uniqueID + "'";
							} else {
								functionStr += ",'" + arrayOfFeatures[j] + "'";
							}
						}
						functionStr += ")";
						var ret = true;
						try {
							ret = eval( functionStr );
						} catch( e1 ) {
							alertError("ÀÔ·Â°ª °ËÁõ ÇÁ·Î¼¼½º¿¡¼­ '" + functionStr + "' ¸¦ ½ÇÇàÇÏ´Âµ¥ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
							log("ÀÔ·Â°ª °ËÁõ ÇÁ·Î¼¼½º¿¡¼­ '" + functionStr + "' ¸¦ ½ÇÇàÇÏ´Âµ¥ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
							printStackTrace( e1 );
						}
						if( !ret ) {
							return false;
						}
					}
				}
			}
		}
	} catch( e2 ) {
		printStackTrace( e2 );
	}
	return true;
}

function VALIDATION_DEFAULT( id, displayName ) {
	var e = document.all[id];
	var str = ''
	if( ( e.type=='text' || e.type=='password' || e.type=='textarea' || e.type=='file' ) && (e.value==null || e.value=='') )	{
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.type=='select-one' && e.selectedIndex == 0 )	{
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ¼±ÅÃÇÏ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ¼±ÅÃÇÏ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	}
	return true;
}

// ¼ýÀÚ ÀÔ·Â Check
function VALIDATION_DIGIT( id, displayName, min, max ) {
	var e = document.all[id];
	var str = "";
	if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
		displayName = e.name;
	}

	if( !isDigit( e.value ) ) {
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'Àº ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		} else {
			str += "'" + displayName + "'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value == null || e.value == '' ) {
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	}
	if( typeof min != 'undefined' && min != '' ) {
		if( typeof max != 'undefined' && max != '' ) {
			if( min == max  ) {
				if( e.value.length != min ) {
					if( _isFinalConsonant( displayName ) ) {
						str += "'" + displayName + "'Àº " + min + "ÀÚ¸®¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
					} else {
						str += "'" + displayName + "'´Â " + min + "ÀÚ¸®¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
					}
					alert( str );
					e.focus();
					return false;
				}
			}
			else{
				if( e.value.length < min || e.value.length > max ) {
					if( _isFinalConsonant( displayName ) ) {
						str += "'" + displayName + "'Àº " + min + "¿¡¼­ " + max +"ÀÚ¸®¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
					} else {
						str += "'" + displayName + "'´Â " + min + "¿¡¼­ " + max +"ÀÚ¸®¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
					}
					alert( str );
					e.focus();
					return false;
				}
			}
		}
		else {
			if( e.value.length < min ) {
				if( _isFinalConsonant( displayName ) ) {
					str += "'" + displayName + "'Àº " + min + "ÀÚ¸® ÀÌ»ó ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
				} else {
					str += "'" + displayName + "'´Â " + min + "ÀÚ¸® ÀÌ»ó ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
				}
				alert( str );
				e.focus();
				return false;
			}
		}
	}
	return true;
}

// ±Ý¾×¸¸ Æ÷ÇÔµÇ¾îÀÖ´ÂÁö Check
function VALIDATION_MONEY( id, displayName ) {
	var e = document.all[id];
	var str = "";
	if( !isMoney( e.value ) ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'Àº ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		} else {
			str += "'" + displayName + "'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value == null || e.value == '' ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	}
	return true;
}

// ¿ÜÈ¯¸¸ Æ÷ÇÔµÇ¾îÀÖ´ÂÁö Check
function VALIDATION_FOREIGN_MONEY( id, displayName ) {
	var e = document.all[id];
	var str = "";
	if( !isForeignMoney( e.value ) ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'Àº ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		} else {
			str += "'" + displayName + "'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value == null || e.value == '' ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	}
	return true;
}

// ÀÔ±Ý °èÁÂ Check
function VALIDATION_ACCOUNT_IN( id, displayName ) {
	var e = document.all[id];
	var str = "";
	if( !isAlphanumeric( e.value ) ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'Àº ¼ýÀÚ¿Í ¿µ¹®ÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		} else {
			str += "'" + displayName + "'´Â ¼ýÀÚ¿Í ¿µ¹®ÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value.length < 6  || e.value.length > 14 ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» Á¤È®ÇÏ°Ô ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ Á¤È®ÇÏ°Ô ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value == null || e.value == '' ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	}
	return true;
}

// Ãâ±Ý °èÁÂ Check
function VALIDATION_ACCOUNT_OUT( id, displayName ) {
	var e = document.all[id];
	var str = "";
	if( !isDigit( e.value ) ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'Àº ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		} else {
			str += "'" + displayName + "'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value.length != 11  && e.value.length != 12 ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» Á¤È®ÇÏ°Ô ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ Á¤È®ÇÏ°Ô ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	} else if( e.value == null || e.value == '' ) {
		if( typeof displayName == 'undefined' || displayName == null || displayName == '' ) {
			displayName = e.name;
		}
		if( _isFinalConsonant( displayName ) ) {
			str += "'" + displayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + displayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		e.focus();
		return false;
	}
	return true;
}

// ³¯Â¥  Check
function VALIDATION_DATEDIFF( id, startDisplayName, end,endDisplayName, max ) {
	var startObj = document.all[id];
	var endObj = getFormObject( end );
	var re = /[/]/g;
	var day1 = getDate( startObj.value );
	var day2 = getDate( endObj.value );
	var str = "";

	if( typeof startDisplayName == 'undefined' || startDisplayName == null || startDisplayName == '' ) {
		startDisplayName = startObj.name;
	}
	if( typeof endDisplayName == 'undefined' || endDisplayName == null || endDisplayName == '' ) {
		endDisplayName = endObj.name;
	}

	if( day1.length != 8 ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº yyyyMMddÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		} else {
			str += "'" + startDisplayName + "'´Â yyyyMMddÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		}
		alert( str );
		startObj.focus();
		return false;
	}
	if( isNaN( day1 ) ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº ¼ýÀÚÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		} else {
			str += "'" + startDisplayName + "'´Â ¼ýÀÚÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		}
		alert( str );
		startObj.focus();
		return false;
	}
	if( day2.length != 8 ) {
		if( _isFinalConsonant( endDisplayName ) ) {
			str += "'" + endDisplayName + "'Àº yyyyMMddÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day2 ;
		} else {
			str += "'" + endDisplayName + "'´Â yyyyMMddÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day2 ;
		}
		alert( str );
		endObj.focus();
		return false;
	}
	if( isNaN( day2 ) ) {
		if( _isFinalConsonant( endDisplayName ) ) {
			str += "'" + endDisplayName + "'Àº ¼ýÀÚÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day2 ;
		} else {
			str += "'" + endDisplayName + "'´Â ¼ýÀÚÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day2 ;
		}
		alert( str );
		endObj.focus();
		return false;
	}

	var y1 = parseInt( day1.substring( 0, 4 ), 10);
	var m1 = parseInt( day1.substring( 4, 6 ), 10);
	var d1 = parseInt( day1.substring( 6, 8 ), 10);

	var y2 = parseInt( day2.substring( 0, 4 ), 10);
	var m2 = parseInt( day2.substring( 4, 6 ), 10);
	var d2 = parseInt( day2.substring( 6, 8 ), 10);

	if( y1 > 2100 || y1 < 1900 ) {
		alert( "¿¬µµ´Â 1901ºÎÅÍ 2099»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + y1 );
		startObj.focus();
		return false;
	}
	if( m1 > 12 || m1 < 1 ) {
		alert( "¿ùÀº 1ºÎÅÍ 12»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + m1 );
		startObj.focus();
		return false;
	}
	// ³¯Â¥ È®ÀÎ
	var total_days;

	if(m1 == 1) total_days = 31;
	else if(m1 == 2) {
		if(((y1 % 4 == 0) && (y1 % 100 != 0)) || (y1 % 400 == 0))
			 total_days = 29;
		else total_days = 28;
	}
	else if(m1 == 3) total_days = 31;
	else if(m1 == 4) total_days = 30;
	else if(m1 == 5) total_days = 31;
	else if(m1 == 6) total_days = 30;
	else if(m1 == 7) total_days = 31;
	else if(m1 == 8) total_days = 31;
	else if(m1 == 9) total_days = 30;
	else if(m1 == 10) total_days = 31;
	else if(m1 == 11) total_days = 30;
	else if(m1 == 12) total_days = 31;

	if( d1 > total_days || d1 < 1 ) {
		alert( m1 + "¿ùÀÇ ÀÏÀÚ´Â 1ºÎÅÍ " + total_days + "»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù.\nÀÔ·Â°ª " + d1  + "ÀÏ");
		startObj.focus();
		return false;
	}

	if( y2 > 2100 || y2 < 1900 ) {
		alert( "¿¬µµ´Â 1901ºÎÅÍ 2099»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + y2 );
		endObj.focus();
		return false;
	}
	if( m2 > 12 || m2 < 1 ) {
		alert( "¿ùÀº 1ºÎÅÍ 12»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + m2 );
		endObj.focus();
		return false;
	}

	// ³¯Â¥ È®ÀÎ

	if(m2 == 1) total_days = 31;
	else if(m2 == 2) {
		if(((y2 % 4 == 0) && (y2 % 100 != 0)) || (y2 % 400 == 0))
			 total_days = 29;
		else total_days = 28;
	}
	else if(m2 == 3) total_days = 31;
	else if(m2 == 4) total_days = 30;
	else if(m2 == 5) total_days = 31;
	else if(m2 == 6) total_days = 30;
	else if(m2 == 7) total_days = 31;
	else if(m2 == 8) total_days = 31;
	else if(m2 == 9) total_days = 30;
	else if(m2 == 10) total_days = 31;
	else if(m2 == 11) total_days = 30;
	else if(m2 == 12) total_days = 31;

	if( d2 > total_days || d2 < 1 ) {
		alert( m2 + "¿ùÀÇ ÀÏÀÚ´Â 1ºÎÅÍ " + total_days + "»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù.\nÀÔ·Â°ª " + d2  + "ÀÏ");
		endObj.focus();
		return false;
	}
	if( d2 > 31 || d2 < 1 ) {
		alert( "ÀÏÀº 1ºÎÅÍ 31»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + d2 );
		endObj.focus();
		return false;
	}

	var DyMilli = 24 * 60 * 60 * 1000;

	var t1 = Date.UTC( y1, m1 - 1 , d1 );
	var t2 = Date.UTC( y2, m2 - 1 , d2 );
	var diff = (t2 - t1) / DyMilli;

	if( isNaN( diff ) ) {
		str += "¼ýÀÚÇü½ÄÀ» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		alert( str );
		startObj.focus();
		return false;
	} else if( diff >= max ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'¿Í ";
		} else {
			str += "'" + startDisplayName + "'°ú ";
		}
		if( _isFinalConsonant( endDisplayName ) ) {
			str += "'" + endDisplayName + "'Àº '"+ max +"'ÀÏ ÀÌ³»·Î ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + endDisplayName + "'´Â '"+ max +"'ÀÏ ÀÌ³»·Î ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		startObj.focus();
		return false;
	} else if( diff < 0 ) {
		str += "'" + endDisplayName + "'ÀÌ '" + startDisplayName + "'º¸´Ù ºü¸¦ ¼ö ¾ø½À´Ï´Ù.";
		alert( str );
		startObj.focus();
		return false;
	} else if( startObj.value == null || startObj.value == '' ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + startDisplayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		startObj.focus();
		return false;
	} else if( endObj.value == null || endObj.value == '' ) {
		if( _isFinalConsonant( endDisplayName ) ) {
			str += "'" + endDisplayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + endDisplayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		endObj.focus();
		return false;
	}
	return true;
}

// ³¯Â¥  Check
function VALIDATION_DATE( id, startDisplayName ) {
	var startObj = document.all[id];
	var re = /[/]/g;
	var day1 = getDate( startObj.value );
	var str = "";

	if( typeof startDisplayName == 'undefined' || startDisplayName == null || startDisplayName == '' ) {
		startDisplayName = startObj.name;
	}

	if( day1.length != 8 ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº yyyyMMddÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		} else {
			str += "'" + startDisplayName + "'´Â yyyyMMddÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		}
		alert( str );
		startObj.focus();
		return false;
	}
	if( isNaN( day1 ) ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº ¼ýÀÚÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		} else {
			str += "'" + startDisplayName + "'´Â ¼ýÀÚÇü½ÄÀÌ¾î¾ß ÇÕ´Ï´Ù." + day1 ;
		}
		alert( str );
		startObj.focus();
		return false;
	}
	var y1 = parseInt( day1.substring( 0, 4 ), 10);
	var m1 = parseInt( day1.substring( 4, 6 ), 10);
	var d1 = parseInt( day1.substring( 6, 8 ), 10);

	if( y1 > 2100 || y1 < 1900 ) {
		alert( "¿¬µµ´Â 1901ºÎÅÍ 2099»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + y1 );
		startObj.focus();
		return false;
	}
	if( m1 > 12 || m1 < 1 ) {
		alert( "¿ùÀº 1ºÎÅÍ 12»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù." + m1 );
		startObj.focus();
		return false;
	}

	// ³¯Â¥ È®ÀÎ
	var total_days;

	if(m1 == 1) total_days = 31;
	else if(m1 == 2) {
		if(((y1 % 4 == 0) && (y1 % 100 != 0)) || (y1 % 400 == 0))
			 total_days = 29;
		else total_days = 28;
	}
	else if(m1 == 3) total_days = 31;
	else if(m1 == 4) total_days = 30;
	else if(m1 == 5) total_days = 31;
	else if(m1 == 6) total_days = 30;
	else if(m1 == 7) total_days = 31;
	else if(m1 == 8) total_days = 31;
	else if(m1 == 9) total_days = 30;
	else if(m1 == 10) total_days = 31;
	else if(m1 == 11) total_days = 30;
	else if(m1 == 12) total_days = 31;

	if( d1 > total_days || d1 < 1 ) {
		alert( m1 + "¿ùÀÇ ÀÏÀÚ´Â 1ºÎÅÍ " + total_days + "»çÀÌ °ªÀÌ¾î¾ß ÇÕ´Ï´Ù.\nÀÔ·Â°ª " + d1  + "ÀÏ");
		startObj.focus();
		return false;
	}

	if( startObj.value == null || startObj.value == '' ) {
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'À» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		} else {
			str += "'" + startDisplayName + "'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.";
		}
		alert( str );
		startObj.focus();
		return false;
	}
	return true;
}

// ÀüÈ­¹øÈ£ Check
function VALIDATION_TELEPHONE( id, startDisplayName ) {
	var e = document.all[id];
	var str = "";

	if( typeof startDisplayName == 'undefined' || startDisplayName == null || startDisplayName == '' ) {
		startDisplayName = e.name;
	}

	if( ! isTelNumber( e.value ) ){
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº ¼ýÀÚ¿Í - ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.";
		} else {
			str += "'" + startDisplayName + "'´Â ¼ýÀÚ¿Í - ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù." ;
		}
		alert( str );
		e.focus();
		return false;
	}
	return true;
}
// ½Ã°£ Check
function VALIDATION_TIME( id, startDisplayName ) {
	var e = document.all[id];
	var str = "";

	if( typeof startDisplayName == 'undefined' || startDisplayName == null || startDisplayName == '' ) {
		startDisplayName = e.name;
	}

	if( ! isDigit( e.value ) ){
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº ¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.";
		} else {
			str += "'" + startDisplayName + "'´Â ¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù." ;
		}
		alert( str );
		e.focus();
		return false;
	}
	if( e.value.length != 4 ){
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'Àº 4ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù.";
		} else {
			str += "'" + startDisplayName + "'´Â 4ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	}
	var hh = parseInt( e.value, 10 ) / 100;
	var mm = parseInt( e.value, 10 ) % 100;

	if( hh < 0 || hh > 23  || mm < 0 || mm > 59 ){
		if( _isFinalConsonant( startDisplayName ) ) {
			str += "'" + startDisplayName + "'´Â  0000¿¡¼­ 2359±îÁö ÀÔ·Â ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.";
		} else {
			str += "'" + startDisplayName + "'´Â  0000¿¡¼­ 2359±îÁö ÀÔ·Â ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.";
		}
		alert( str );
		e.focus();
		return false;
	}

	return true;
}
// ¼ýÀÚ°¡ Æ÷ÇÔµÇ¾îÀÖ´ÂÁö Check
function isDigit( str ){
	for(var i=0; i < str.length; i++) {
		var ch= str.charAt(i);
		if( ch < "0" || ch > "9" ) {
			 return false;
		}
	}
	return true;
}

// ¼ýÀÚ, ½°Ç¥(,), ¸¶Ä§Ç¥(.)°¡ Æ÷ÇÔµÇ¾îÀÖ´ÂÁö Check
function isForeignMoney( str ){
	for(var i=0; i < str.length; i++) {
		var ch= str.charAt(i);
		if( ( ch < "0" || ch > "9" ) && ch != ',' && ch != '.') {
			 return false;
		}
	}
	return true;
}

// ¼ýÀÚ ¹× ½°Ç¥(,)°¡ Æ÷ÇÔµÇ¾îÀÖ´ÂÁö Check
function isMoney( str ){
	for(var i=0; i < str.length; i++) {
		var ch= str.charAt(i);
		if( ( ch < "0" || ch > "9" ) && ch != ',' ) {
			 return false;
		}
	}
	return true;
}

// ¾ËÆÄºª¸¸ Æ÷ÇÔµÇ¾î ÀÖ´ÂÁö Check
function isAlphabet( str ){
	for(var i=0; i < str.length; i++) {
		var ch= str.charAt(i);
		if( ( ch < "a" || ch > "z" ) && ( ch < "A" || ch > "Z" ) ) {
			return false;
		}
	}
	return true;
}

// ¾ËÆÄºª°ú ¼ýÀÚ¸¸ Æ÷ÇÔµÇ¾î ÀÖ´ÂÁö Check
function isAlphanumeric( str ){
	for(var i=0; i < str.length; i++) {
		var ch= str.charAt(i);
		if( ( ch < "0" || ch > "9" ) && ( ch < "a" || ch > "z" ) && ( ch < "A" || ch > "Z" ) ) {
			 return false;
		}
	}
	return true;
}
//  ÀüÈ­¹øÈ£ Check ¼ýÀÚ , '-', '(', ')', ' '¸¸ °¡´É Æ÷ÇÔµÇ¾î ÀÖ´ÂÁö Check
function isTelNumber( str ){
	for(var i=0; i < str.length; i++) {
		var ch= str.charAt(i);
		if( ( ch < "0" || ch > "9" ) && ( ch !='-') && ( ch != '(') && ( ch != ')' ) && ( ch !=
' ' ) ) {
			 return false;
		}
	}
	return true;
}

function doSimple() {
	try {
		var userCallback = "", formName = "hpeform", transform = "true", userDisplay = "hpelayer", userXsl = "", userLanguage = "ko", processMsg = "", debug = "false", echoMode = "false", errorMsg = "", showJStarError = "true", allowMulti = "false", errorURL = "";
		var serviceCode = arguments[0];
		if( typeof serviceCode == "undefined" ) {
			alertError("Service Code´Â ÇÊ¼ö Ç×¸ñ ÀÔ´Ï´Ù.");
			return;
		}
		userXsl = "xsl/RIB" + serviceCode + ".xsl";
		var sFeatures = arguments[1];
		var doc = arguments[2];

		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
						formName = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
						userLanguage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "processmsg" )	{
						processMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "echo" )	{
						echoMode = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "error" )	{
						errorMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "allowmulti" )	{
						allowMulti = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
						errorURL = trim( tmpArray[1] );
					}
				}
			}
		}
		var responseMessage = "R_RIB" + serviceCode;
		var requestMessage = "S_RIB" + serviceCode;
		var servletURL = "/common/hpe/jsp/callHpeSimpleService.jsp?serviceCode="+serviceCode;

		if( typeof doc == 'undefined' ) {
			var formObj = null;
			if( formName.indexOf( "." ) > -1 ) {
				formObj = eval( formName );
			} else {
				var idx1 = formName.indexOf("[");
				var idx2 = formName.indexOf("(");
				var sourceName = formName;
				var sourceIdx = 0;
				if( idx1 > -1 ) {
					var idx3 = formName.indexOf("]");
					if( idx3 > -1 ) {
						sourceName = formName.substring(0, idx1);
						sourceIdx  = parseInt( formName.substring(idx1+1, idx3) );
					}
				} else if ( idx2 > -1 ) {
					var idx3 = formName.indexOf(")");
					if( idx3 > -1 ) {
						sourceName = formName.substring(0, idx2);
						sourceIdx  = parseInt( formName.substring(idx2+1, idx3) );
					}
				}

				var oObject = theDocument.forms;
				var objCount = 0;
				if (oObject != null){
					for (var i = 0; i < oObject.length; i++){
						var obj = oObject[i];
						if( obj.name == sourceName )	{
							if( objCount == sourceIdx ) {
								formObj = obj;
								break;
							}
							objCount++;
						}
					}
				}
			}
			if( typeof formObj == 'undefined' || formObj == null ) {
				alertError("ÀÌ¸§ÀÌ [" + formName + "]ÀÎ form°´Á¦°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
				return;
			}

			if( !validateForm(formObj) ) {
				alert("validate½ÇÆÐ");
				return;
			}


			doc = toDocument( formObj );
		}

		if( processMsg == "" ) {
			processMsg = "Ã³¸®ÁßÀÔ´Ï´Ù.";
		}

		if ( processMsg == "-" ) processMsg = "";

		if( echoMode == "true" ) {
			setAttribute( doc, "mode", "ECHO" );
			setAttribute( doc, "error", errorMsg );
		}

		if( userLanguage != "ko" )  {
			setAttribute( doc, "language", userLanguage);	// ¾ð¾î
		}

		if (allowMulti == "true") {
			setAttribute( doc, "permitMultiTransaction", "true");	// Áßº¹½ÇÇà Çã¿ë Ã³¸®
		}
		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		setAttribute( doc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
		setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;

		var serviceFeatures = "callback:doSimpleCallback; sync:false; lock:false; cursorFix: true; debug:"+debug + "; processMsg:" + processMsg +"; form:" + formName + "; userCallback:" + userCallback + "; transform:" + transform + "; userDisplay:" + userDisplay + "; userXsl:" + userXsl + "; showjstarerror:" + showJStarError;
		log( "[doSimple] callServletXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callServletXMLService( serviceFeatures, servletURL, doc )) {
			log("callServletXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		}
	} catch( e ) {
		alertError("doSimple È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function doSimpleCallback( result, argument, sFeatures ) {
	try {
		var srcTree = null, xsltTree = null, htmlStr = null, obj = null;
		var userCallback = "", transform = "true", userDisplay = "hpelayer", userXsl = "", debug = "false", showJStarError = "true";
		log("AA");
		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "usercallback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userdisplay" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userxsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					}
				}
			}
		}
		log("BB");
		srcTree = getDocument( result );

		// jStar ¿¡·¯ Ã¼Å© ¿©ºÎ Ã³¸®.
		if (showJStarError != "false") {
			if (!checkJStarError(srcTree)) {
				return;
			}
		}

		if ( debug == "true" || debug == "y" )	{
			obj = new Object();
			var re = />[\s]*</g;	//Initialize pattern.
			obj["input"] = argument.replace( re ,">\n<");
			obj["xml"] = indent( srcTree );
		}
		log("DD");
		if( transform == "true" ) {
			if( userDisplay == "" ) {
				alertError( "transformÀÌ trueÀÌ°í displayÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else if( userXsl == "" ) {
				alertError( "transformÀÌ trueÀÌ°í xslÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else {
				if( srcTree == null ) {
					srcTree = getDocument( result );
				}
				xsltTree= getXSLDocument( userXsl );
				htmlStr = srcTree.transformNode(xsltTree) + "<XSLINFO value='" + userXsl + "'/>";

				theDocument.all[userDisplay].innerHTML = htmlStr;
				window.scrollTo(0,0);
				if ( debug == "true" || debug == "y" )	{
					var re = />[\s]*</g;	//Initialize pattern.
					obj["html"] = htmlStr.replace( re ,">\n<");
					obj["xsl"] = indent( xsltTree );
				}
			}
		}
		log("EE");

		if ( debug == "true" || debug == "y" )	{
			showDebugMsg( obj, 'xml' );
		}
log("FF");
		if ( typeof userCallback != "undefined" && userCallback != "" )	{
			try {
				eval( userCallback + "( result, argument );" );
			} catch( e ) {
				e.detail = userCallback + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
				printStackTrace( e );
			}
		}
log("GG");
	} catch( e ) {
		alertError("doSimple È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function goServiceUrl( serviceUrl, data ){
	//	EncLinkVeriry(serviceUrl, data, "main");
	EncLink(serviceUrl, data, 'main');
}

function doCode() {
	try {
		var userTransform = "", userDisplay = "", formName = "hpeform", userXsl = "", userLanguage = "ko", useCert = "false", debug = "false", userCallback = "";
		var strSelected = "", strTextSelected = "", allOption = "", allOptionText = "", chooseOption = "", chooseOptionText = "", append = "", sorted = "", textSorted = "";
		var blankText = "";
		var listType = "hashtable", allowMulti = "false";
		var sCodeKeyStr = arguments[0];
		var sFeatures = arguments[1];
		if ( typeof sFeatures == "undefined" ) {
			alertError("ÀÎÀÚ°¡ ºÎÁ·ÇÕ´Ï´Ù.");
			return;
		}
		if (sCodeKeyStr == "") {
			alertError("Ã¹ ¹øÂ° Ç×¸ñÀÌ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
		if (sFeatures == "") {
			alertError("µÎ ¹øÂ° Ç×¸ñÀÌ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}

		var doc = getDocument("<CODE/>");
		var arrayOfCodeKey = trim(sCodeKeyStr).split(";");

		for (var i=0; i < arrayOfCodeKey.length; i++) {
			var value = trim(arrayOfCodeKey[i]);
			if (value != "") {
				if (value != XMLEncoder(value)) {
					alertError("Ã¹ ¹øÂ° Ç×¸ñ¿¡ Àß¸øµÈ ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ½À´Ï´Ù.");
					return;
				}
			}
		}
		setString(doc, "codeKey", sCodeKeyStr);

		log("doCode xmlStr["+indent(doc)+"]");

		var arrayOfFeatures = sFeatures.split(";");
		for (var i=0; i < arrayOfFeatures.length; i++) {
			var tmpArray = arrayOfFeatures[i].split(":");
			if ( tmpArray.length == 2 )	{
				if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
					userCallback = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
					formName = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
					userDisplay = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
					userTransform = trim( tmpArray[1] ).toLowerCase();
				} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
					userXsl = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
					userLanguage = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" )	{
					useCert = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
					debug = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "selected" )	{
					strSelected = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "textselected" )	{
					strTextSelected = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "alloption" )	{
					allOption = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "alloptiontext" )	{
					allOptionText = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoption" )	{
					chooseOption = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoptiontext" )	{
					chooseOptionText = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "append" )	{
					append = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "sorted" )	{
					sorted = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "textsorted" )	{
					textSorted = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "type" )	{
					listType = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "allowmulti" )	{
					allowMulti = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "blanktext" )	{
					blankText = trim( tmpArray[1].toLowerCase() );
				}
			}
		}

		var serviceFeatures = "callback:doCodeCallback; sync:false; lock:false; cursorFix: true; ";

		if (userTransform == "") {
			userTransform = "true";
		}

		if (userTransform == "false") {
			if (userCallback == "") {
				alertError("transformÀÌ falseÀÎ °æ¿ì callbackÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
			serviceFeatures += "userTransform:false; userCallback:"+userCallback+";";
		} else if (userTransform == "true") {
			if (arrayOfCodeKey.length > 1) {
				alertError("µÎ°³ÀÌ»óÀ» ÄÚµå¸¦ ¹Þ¾Æ¿Ã °æ¿ì È­¸é¿¡ Á÷Á¢±×¸± ¼ö ¾ø½À´Ï´Ù.");
				retrun;
			}
			serviceFeatures += " userTransform:true;";
			if (userDisplay == "") {
				alertError("transformÀÌ trueÀÎ °æ¿ì display°¡ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
			serviceFeatures += " userDisplay:"+userDisplay+";";
			if (userCallback != "") {
				serviceFeatures += " userCallback:"+userCallback+";";
			}

			if (strSelected != "") {
				serviceFeatures += " selected:"+strSelected+";";
			}
			if (strTextSelected != "") {
				serviceFeatures += " textselected:"+strTextSelected+";";
			}
			if (allOption != "") {
				serviceFeatures += " alloption:"+allOption+";";
			}
			if (allOptionText != "") {
				serviceFeatures += " alloptiontext:"+allOptionText+";";
			}
			if (chooseOption != "") {
				serviceFeatures += " chooseoption:"+chooseOption+";";
			}
			if (chooseOptionText != "") {
				serviceFeatures += " chooseoptiontext:"+chooseOptionText+";";
			}
			if (append != "") {
				serviceFeatures += " append:"+append+";";
			}
			if (sorted != "") {
				serviceFeatures += " sorted:"+sorted+";";
			}
			if (textSorted != "") {
				serviceFeatures += " textsorted:"+textSorted+";";
			}
			if (userXsl != "") {
				serviceFeatures += " userXsl:"+userXsl+";";
			}
			if (blankText != "") {
				serviceFeatures += " blankText:"+blankText+";";
			}

		} else {
			alertError("target°ªÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
			return;
		}

		if (debug == "") debug = "false";
		if (userLanguage == "") userLanguage = "ko";
		if (listType == "") listType = "hashtable";
		if (formName == "") formName = "hpeform";
		if (useCert == "") useCert = "true";

		if (allowMulti == "true") {
			setAttribute( doc, "permitMultiTransaction", "true"); //Áßº¹½ÇÇà Çã¿ë Ã³¸®
		}

		serviceFeatures += " debug:"+debug+"; userform:"+formName+"; useCert:"+useCert+";";

		var servletURL = "/common/hpe/jsp/callHpeCodeService.jsp";

		setAttribute( doc, "language", userLanguage);	// ¾ð¾î
		setAttribute( doc, "type", listType);			// ¹ÝÈ¯ Å¸ÀÔ.

		log( "[doCode] callServletXMLService È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callServletXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		}

	} catch( e ) {
		alertError("doCode È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}

}

function doCodeCallback( result, argument, sFeatures ) {
	try {
		var srcTree = null, xsltTree = null, htmlStr = null, obj = null;
		var userCallback = "", userTransform = "", userDisplay = "hpelayer", userXsl = "", userForm="hpeform", debug = "false";
		var strSelected = "", strTextSelected = "", allOption = "", allOptionText = "", chooseOption = "", chooseOptionText = "", append = "", sorted = "", textSorted = "";
		var blankText = "";
		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "usercallback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usertransform" )	{
						userTransform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userdisplay" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userxsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userform" )	{
						userForm = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "selected" )	{
						strSelected = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "textselected" )	{
						strTextSelected = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "alloption" )	{
						allOption = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "alloptiontext" )	{
						allOptionText = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoption" )	{
						chooseOption = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoptiontext" )	{
						chooseOptionText = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "append" )	{
						append = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "sorted" )	{
						sorted = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "textsorted" )	{
						textSorted = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "blanktext" )	{
						blankText = trim( tmpArray[1].toLowerCase() );
					}
				}
			}
		}
		srcTree = getDocument( result );

		if ( debug == "true" || debug == "y" )	{
			obj = new Object();
			var re = />[\s]*</g;	//Initialize pattern.
			obj["input"] = argument.replace( re ,">\n<");
			obj["xml"] = indent( srcTree );
		}

		if( userTransform == "true") {
			// °á°ú¸¦ Àç Á¤·Ä
//			result = arrangeCode(result);

			if( userDisplay == "" ) {
				alertError( "displayÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else {
//				if( srcTree == null ) {
//					srcTree = getDocument( result );
//				}

				var sFeatures2 = "display:"+userDisplay+"; form:"+userForm+"; debug:"+debug+";";

				if (strSelected != "") {
					sFeatures2 += " selected:"+strSelected+";";
				}
				if (strTextSelected != "") {
					sFeatures2 += " textselected:"+strTextSelected+";";
				}
				if (allOption != "") {
					sFeatures2 += " alloption:"+alloption+";";
				}
				if (allOptionText != "") {
					sFeatures2 += " alloptiontext:"+allOptionText+";";
				}
				if (chooseOption != "") {
					sFeatures2 += " chooseoption:"+chooseOption+";";
				}
				if (chooseOptionText != "") {
					sFeatures2 += " chooseoptiontext:"+chooseOptionText+";";
				}
				if (append != "") {
					sFeatures2 += " append:"+append+";";
				}
				if (sorted != "") {
					sFeatures2 += " sorted:"+sorted+";";
				}
				if (textSorted != "") {
					sFeatures2 += " textsorted:"+textSorted+";";
				}
				if (userXsl != "") {
					sFeatures2 += " xsl:"+userXsl+";";
				}
				if (blankText != "") {
					sFeatures2 += " blankText:"+blankText+";";
				}

				setXMLOption( sFeatures2, result );

			}
		}

		if ( debug == "true" || debug == "y" )	{
			showDebugMsg( obj, 'xml' );
		}

		if ( typeof userCallback != "undefined" && userCallback != "" )	{
			try {
				eval( userCallback + "( result, argument );" );
			} catch( e ) {
				e.detail = userCallback + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
				printStackTrace( e );
			}
		}

	} catch( e ) {
		alertError("doCode È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function arrangeCode(hashStr) {
	var hash = toHashtable(hashStr);
	var keys = hash.keys();
	var newHash = new Hashtable();
	for (i=0; i < keys.length;  i++) {
		var key = keys[i];
		var value = hash.get(key);
		if ( typeof value != 'string' ) {
			return hashStr;
		}
		if ( value.indexOf("½ÅÇÑ") != -1) {
			hash.remove(key);
			newHash.put(key, value);
			break;
		}
	}
	keys = hash.keys();
	for (i=0; i < keys.length;  i++) {
		var key = keys[i];
		var value = hash.get(key);
		newHash.put(key, value);
	}

	return newHash.toString();
}

function saveExcelList(){
	log("saveExcelList start");
	saveExcel(null, pageObj.data.toDocument(), "");
}

function saveExcel(templateDoc, dataDoc, fileName) {
	if (templateDoc == null) {
		log("ÅÛÇÃ¸´ XMLÀÌ Null.");
		templateDoc = makeTemplateDoc(dataDoc);
		if (templateDoc == null) {
			log("ÅÛÇÃ¸´ Null");
			return false;
		}
	}
	if (dataDoc == null) {
		log("µ¥ÀÌÅÍ XMLÀÌ Null.");
		return false;
	}
	if (typeof fileName == 'undefined') {
		fileName = 'default';
	}
	var templateStr = serialize(templateDoc);
	var dataStr = serialize(dataDoc);
	if (templateStr == null) {
		log("ÅÛÇÃ¸´ XML serialize ½ÇÆÐ");
		return false;
	}
	if (dataStr == null) {
		log("µ¥ÀÌÅÍ XML serialize ½ÇÆÐ");
		return false;
	}

	return DataToExcel(templateStr, dataStr, fileName);

}

/*--------------- Grid Component Á÷Á¢ Æ÷ÇÔÇÏ´Â Excel ´Ù¿î·Îµå -----------------*/
function DataToExcel( gridStyle, data, fileName ) {
	try {
		if(typeof insGrid == 'undefined') {
			alertError("´Ù¿î·Îµå¿¡ ÇÊ¿äÇÑ Component°¡ ¾øÀ½.");
			return false;
		}
		if( insGrid.setGridStyleXML( gridStyle ) == 0 ) {
			return false;//setGridStyleÀÌ ½ÇÆÐÇÒ °æ¿ì
		}
		insGrid.removeAllRows(); //±âÁ¸¿¡ ÀÖ´ø grid µ¥ÀÌÅÍ¸¦ Áö¿î´Ù.
		if( insGrid.insertRowXML( data ) < 0 ) return false;//insertionÀÌ ½ÇÆÐÇÑ °æ¿ì
		if( insGrid.saveDialog(fileName,",",1,0,0,1,1) == 0 ) return false;
		return true;
	} catch( e ) {
		alertError("DataToExcel ExceptionÀÌ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return false;
	}
}

function makeTemplateDoc(xmlDoc) {
	try {
		if (xmlDoc.documentElement.nodeName != 'vector') {
			log("Vector¸ð¾çÀÌ ¾Æ´Ô");
			return null;
		}
		var vec = toVector(xmlDoc);
		if (vec.size() == 0) {
			log("µ¥ÀÌÅÍ°¡ ¾øÀ½");
			return null;
		}
		var eleDoc = vec.elementAt(0);
		// gridStyle String¸¸µç´Ù.
		var docId = eleDoc.documentElement.nodeName;
		var gridStr = "<gridStyle id='"+docId+"' charaterSet='euc-kr'>";
		var childElements = eleDoc.documentElement.childNodes;
		for (var i=0; i<childElements.length; i++) {
			var eleNode = childElements.item(i);
			if (eleNode.nodeType == 1) {
				var name = eleNode.nodeName;
				// excel ÀúÀå¿©ºÎ  Ã¼Å©
				var excel = eleNode.getAttribute("excel");
				if ( excel != null) {
					gridStr += "<column id='"+eleNode.nodeName+"' name='"+eleNode.nodeName+"'/>";
				}
			}
		}
		gridStr += "</gridStyle>";
		log("GRIDSTR:"+gridStr);
		return getDocument(gridStr);
	} catch (e) {
		printStackTrace(e);
		return null;
	}
}

var doMultiXMLCallbackDoc;
function doMultiXML() {
	try {
		var formName = "hpeform";
		var errorURL = "";
		var callbackServiceCode = arguments[0];
		if( typeof callbackServiceCode == "undefined" ) {
			alertError("Service Code´Â ÇÊ¼ö Ç×¸ñ ÀÔ´Ï´Ù.");
			return;
		}
		var sFeatures = arguments[1];
		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
						formName = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
						errorURL = trim( tmpArray[1] );
					}
				}
			}
		}

		var callbackDoc = arguments[2];
		if( typeof callbackDoc == 'undefined' ) {
			doMultiXMLCallbackDoc = null;
		} else {
			doMultiXMLCallbackDoc = callbackDoc;
		}

		var formObj = null;
		if( formName.indexOf( "." ) > -1 ) {
			formObj = eval( formName );
		} else {
			var idx1 = formName.indexOf("[");
			var idx2 = formName.indexOf("(");
			var sourceName = formName;
			var sourceIdx = 0;
			if( idx1 > -1 ) {
				var idx3 = formName.indexOf("]");
				if( idx3 > -1 ) {
					sourceName = formName.substring(0, idx1);
					sourceIdx  = parseInt( formName.substring(idx1+1, idx3) );
				}
			} else if ( idx2 > -1 ) {
				var idx3 = formName.indexOf(")");
				if( idx3 > -1 ) {
					sourceName = formName.substring(0, idx2);
					sourceIdx  = parseInt( formName.substring(idx2+1, idx3) );
				}
			}

			var oObject = theDocument.forms;
			var objCount = 0;
			if (oObject != null){
				for (var i = 0; i < oObject.length; i++){
					var obj = oObject[i];
					if( obj.name == sourceName )	{
						if( objCount == sourceIdx ) {
							formObj = obj;
							break;
						}
						objCount++;
					}
				}
			}
		}
		if( typeof formObj == 'undefined' || formObj == null ) {
			alertError("ÀÌ¸§ÀÌ [" + formName + "]ÀÎ form°´Á¦°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.");
			return;
		}

		var serviceCode = formObj.¼­ºñ½ºÄÚµå.value;
		if( typeof serviceCode == 'undefined' || serviceCode == null || trim(serviceCode) == '' ) {
			alertError("Service Code°¡ ºñ¾î ÀÖ½À´Ï´Ù.");
			return;
		}

		var doc = getDocument("<FORMMSG/>");
		if( !isAlphanumeric( formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value ) ) {
			alert( "'ÀÌÃ¼ºñ¹Ð¹øÈ£'´Â ¼ýÀÚ¿Í ¿µ¹®ÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
			formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value="";
			formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.focus();
			return;
		}
		if( formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value.length < 6 || formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value.length > 8 ){
			alert( "'ÀÌÃ¼ºñ¹Ð¹øÈ£'´Â 6~8ÀÚ¸®·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
			formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value="";
			formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.focus();
			return;
		}

		if( serviceCode == 'C2098' ) { // º¸¾È Ä«µå
			if( formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value == '' ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£11.focus();
				return;
			}
			if( !isDigit( formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value ) ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value="";
				formObj.º¸¾ÈÄ«µå¾ÏÈ£11.focus();
				return;
			}

			if( formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value == '' ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£12.focus();
				return;
			}
			if( !isDigit( formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value ) ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value="";
				formObj.º¸¾ÈÄ«µå¾ÏÈ£12.focus();
				return;
			}

			if( formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value == '' ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£21.focus();
				return;
			}
			if( !isDigit( formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value ) ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value="";
				formObj.º¸¾ÈÄ«µå¾ÏÈ£21.focus();
				return;
			}

			if( formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value == '' ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£22.focus();
				return;
			}
			if( !isDigit( formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value ) ) {
				alert( "'º¸¾ÈÄ«µå¾ÏÈ£'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value="";
				formObj.º¸¾ÈÄ«µå¾ÏÈ£22.focus();
				return;
			}

			try {
				formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value = get_e2e_value(formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value, "º¸¾ÈÄ«µå¾ÏÈ£11" );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value = get_e2e_value(formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value, "º¸¾ÈÄ«µå¾ÏÈ£12" );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value = get_e2e_value(formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value, "º¸¾ÈÄ«µå¾ÏÈ£21" );
				formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value = get_e2e_value(formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value, "º¸¾ÈÄ«µå¾ÏÈ£22" );
				formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value   = get_e2e_value(formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value,  "ÀÌÃ¼ºñ¹Ð¹øÈ£"   );
			} catch (ee) {
				log(" º¸¾ÈÄ«µå¾ÏÈ£ ÇÊµå e2eÃ³¸® Áß ¿À·ù¹ß»ý. ¾ÏÈ£È­ ¾ÈÇÔ.");
				printStackTrace(ee);
				alert("Å°º¸µå ¾ÏÈ£È­ °úÁ¤Áß ¿À·ù°¡ ¹ß»ýµÇ¾ú½À´Ï´Ù.\n ÁË¼ÛÇÏÁö¸¸ ·Î±×¾Æ¿ô ÈÄ ´Ù½Ã ·Î±×ÀÎ ÇÏ¿© »ç¿ëÇÏ±â ¹Ù¶ø´Ï´Ù.");
				return;
			}

			setString( doc, "º¸¾ÈÄ«µå¾ÏÈ£1" , formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value + formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value );
			setString( doc, "º¸¾ÈÄ«µå¾ÏÈ£2" , formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value + formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value );
			setString( doc, "ÀÌÃ¼ºñ¹Ð¹øÈ£" , formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value );
			formObj.º¸¾ÈÄ«µå¾ÏÈ£11.value = "";
			formObj.º¸¾ÈÄ«µå¾ÏÈ£12.value = "";
			formObj.º¸¾ÈÄ«µå¾ÏÈ£21.value = "";
			formObj.º¸¾ÈÄ«µå¾ÏÈ£22.value = "";
			formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value = "";
		} else {	// OTP
			if( formObj.OTPÄ«µå¾ÏÈ£.value.length != 6 ) {
				alert( "'OTPÄ«µå ºñ¹Ð¹øÈ£'´Â ¼ýÀÚ 6ÀÚ¸®¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À." );
				formObj.OTPÄ«µå¾ÏÈ£.focus();
				return;
			}
			if( !isDigit( formObj.OTPÄ«µå¾ÏÈ£.value ) ) {
				alert( "'OTPÄ«µå ºñ¹Ð¹øÈ£'´Â ¼ýÀÚ¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù." );
				formObj.OTPÄ«µå¾ÏÈ£.value="";
				formObj.OTPÄ«µå¾ÏÈ£.focus();
				return;
			}
			try {
				formObj.OTPÄ«µå¾ÏÈ£.value   = get_e2e_value(formObj.OTPÄ«µå¾ÏÈ£.value,   "OTPÄ«µå¾ÏÈ£"    );
				formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value  = get_e2e_value(formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value,  "ÀÌÃ¼ºñ¹Ð¹øÈ£"   );
			} catch (ee) {
				log(" OTPÄ«µå ÇÊµå e2eÃ³¸® Áß ¿À·ù¹ß»ý. ¾ÏÈ£È­ ¾ÈÇÔ.");
				alert("Å°º¸µå ¾ÏÈ£È­ °úÁ¤Áß ¿À·ù°¡ ¹ß»ýµÇ¾ú½À´Ï´Ù.\n ÁË¼ÛÇÏÁö¸¸ ·Î±×¾Æ¿ô ÈÄ ´Ù½Ã ·Î±×ÀÎ ÇÏ¿© »ç¿ëÇÏ±â ¹Ù¶ø´Ï´Ù.");
				printStackTrace(ee);
			}
			setString( doc, "OTPÄ«µå¾ÏÈ£" , formObj.OTPÄ«µå¾ÏÈ£.value );
			setString( doc, "ÀÌÃ¼ºñ¹Ð¹øÈ£" , formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value );
			formObj.OTPÄ«µå¾ÏÈ£.value = "";
			formObj.ÀÌÃ¼ºñ¹Ð¹øÈ£.value = "";
		}

		var responseMessage = "R_RIB" + serviceCode;
		var requestMessage = "S_RIB" + serviceCode;
		var servletURL = "/common/hpe/jsp/callHpeCommonService.jsp?serviceCode="+serviceCode;

		setAttribute( doc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "callbackServiceCode", callbackServiceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "callbackFeatures", sFeatures);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
		setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;

		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		var serviceFeatures = "callback:doMultiXMLCallback; sync:false; lock:false; cursorFix: true; useCert:true; useSign:false";
		log( "[doMultiXML] callInitechXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callInitechXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
			// ·Î±×¾Æ¿ô ÈÄ Ã¹ÆäÀÌÁö·Î.
			doLogoutWithoutCert();

		}
	} catch( e ) {
		alertError("doMultiXML È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function doMultiXMLCallback( result, argument ) {
	try {
		var resultDoc = getDocument( result );
		var argumentDoc = getDocument( argument );

		if (!checkJStarError(resultDoc)) {
			return;
		}

		var svc_code  = getString(resultDoc, "COM_SVC_CODE");
		var sec_chal1 = getString(resultDoc, "COM_SEC_CHAL1");
		var sec_chal2 = getString(resultDoc, "COM_SEC_CHAL2");

		if( svc_code == "C2098" ){
			var Obj = document.all["ÁúÀÇ¹øÈ£1"] ;
			if( Obj != 'undefined' && Obj != null ){
				Obj.value = sec_chal1;
				Obj = document.all["ÁúÀÇ¹øÈ£2"];
				Obj.value = sec_chal2;
			}
		}

		var sFeatures = getAttribute( argumentDoc, "callbackFeatures" );
		var serviceCode = getAttribute( argumentDoc, "callbackServiceCode" );

		try {
			if (typeof doMultiXMLCallbackDoc == 'undefined' || doMultiXMLCallbackDoc == null) {
				log("doMultiXML - Doc ¾øÀ½");
				eval( "doXML( serviceCode, sFeatures );" );
			} else {
				log("doMultiXML - Doc ÀÖÀ½");
				eval( "doXML( serviceCode, sFeatures, doMultiXMLCallbackDoc );" );
			}
		} catch( e ) {
			e.detail = "doXML(  serviceCode, sFeatures ); ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
			printStackTrace( e );
		}
	} catch( e ) {
		alertError("doMultiXMLCallback È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}


/*
toDocument
		argument·Î ³Ñ¾î¿Â form(Object)¿¡ ÀÖ´Â text, password, textarea, file, hidden, checkbox, radio, select element¸¦ xml Document·Î º¯È¯ÇÑ´Ù.
		µÎ¹øÂ° ÀÎÀÚ·Î MSGID¸¦ ³Ñ±æ ¼ö ÀÖ´Ù.
		»ç¿ë¹æ¹ý) toDocument( this.form ) ¶Ç´Â toDocument( this.form, msgID );
			form	form object
*/
function toDocument( form, msgID )	{
	var result = "";
	try {
		var rootID = "FORMMSG";
		if( typeof msgID != 'undefined' && msgID != null && msgID != '' ) {
			rootID = msgID;
		}

		result += "<" + rootID + ">";
		for ( var i=0 ; i < form.elements.length ; i++ ) {
			var e = form.elements[i];
			if ( e.name != null && e.name != "" )  {
				if( e.type == 'text' || e.type == 'textarea' || e.type == 'file' || e.type == 'hidden' ) {
					result += "<" + e.name + " value='" + XMLEncoder( e.value ) + "'/>\n";
				} else if( e.type == 'password' ) {
										var encValue = e.value ;
                    var encName  = e.name ;
                    try {
                        if( encName.indexOf("_E2E123_") >= 0 ){
                            encName = encName.substring(8);
                            encValue = get_e2e_value( encValue , encName );
                        	log("PASSWORDÇÊµå  _E2E123_ ["+ encName +"] value[" + encValue + "] e2eÃ³¸® ¿Ï·á.");
                        }else{
                        	log("PASSWORDÇÊµå ÀÌÁö¸¸ _E2E123_ ¹ÌÆ÷ÇÔÀ¸·Î e2e Ã³¸® Skip e2eÃ³¸® ¿Ï·á.");
                        }
                    } catch (ee) {
                        log("PASSWORDÇÊµå["+e.name+"] e2eÃ³¸® Áß ¿À·ù¹ß»ý. ¾ÏÈ£È­ ¾ÈÇÔ.");
                        printStackTrace(ee);
                        encValue = XMLEncoder(e.value);
                    }
                    result += "<" + encName + " value='" + encValue + "'/>\n";

//					result += "<" + e.name + " value='" + XMLEncoder( e.value ) + "'/>\n";
					e.value = "";
				} else if( e.type == 'checkbox' && e.checked ) {
					result += "<" + e.name + " value='" + XMLEncoder( e.value ) + "'/>\n";
				} else if( e.type == 'radio' && e.checked  ) {
					result += "<" + e.name + " value='" + XMLEncoder( e.value ) + "'/>\n";
				} else if( e.type == 'select-one' ) {
					result += "<" + e.name + " value='" + XMLEncoder( e.value ) + "'/>\n";
				} else if( e.type == 'select-multiple'  ) {
					for( var j = 0 ; j < e.options.length ; j++ ) {
						var opt = e.options[j];
						if( opt.selected ) {
							result += "<" + e.name + " value='" + XMLEncoder( opt.value ) + "'/>\n";
						}
					}
				}
			}
		}
		result += "</" + rootID + ">\n";
	} catch( e ) {
		printStackTrace( e );
	}
	return getDocument( result );
}

/*
  Function : setFromToDate
  param 1: Á¶È¸½ÃÀÛÀÏ ÀÔ·Â¸í
  param 2: Á¶È¸Á¾·áÀÏ ÀÔ·Â¸í
  param 3: Á¶È¸½ÃÀÛÀÏ°ú Á¶È¸Á¾·áÀÏ Â÷(offset)
  param 4: ´ÜÀ§ D-date, M-Month
*/
function setFromToDate(sDate, eDate, offset, gubun) {
	var currDate = getCurrentDate("yyyyMMdd");
	var sDateObj = document.all[sDate];
	var eDateObj = document.all[eDate];
	var toDate   = parseDate(currDate);

	eDateObj.value = getFormattedDate( toDate, "yyyy/MM/dd");

	if( gubun == 'M' ) {
		toDate.setMonth(toDate.getMonth() + (offset) );
	}
	else{
		toDate.setDate(toDate.getDate() + (offset) );
	}
	sDateObj.value = getFormattedDate( toDate, "yyyy/MM/dd");
	return;
}

// ¢¸¢¸   ¢¸ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ¢º   ¢º¢º
//	          min             cur                  max       last
//	Interface Á¤ÀÇ
//	objName    : pageList°´Ã¼ ÀÌ¸§
//	currPage   : ÇöÀç ÆäÀÌÁö ¹øÈ£
//	minPage    : ÇöÀç È­¸é¿¡¼­ Ã¹¹øÂ° ÆäÀÌÁö ¹øÈ£
//	maxPage    : ÇöÀç È­¸é¿¡¼­ ¸¶Áö¸· ÆäÀÌÁö ¹øÈ£
//	lastPage   : ¸¶Áö¸· ÆäÀÌÁö
function userDefinedDesign1( objectName, currPage, minPage, maxPage, lastPage ) {
	var returnStr 	= "<table border='0' cellpadding='0' cellspacing='0' class='t_ta_04'>"
					+ "<tr><td colspan='3'><table class='ta_blank_03' cellpadding='0' cellspacing='0'>"
					+ "<tr><td></td></tr></table></td></tr><tr><td width='198'></td>"
					+ "<td width='300'><table width='255' align='center' border='0' cellpadding='0' cellspacing='0'>"
					+ "<tr>" ;
	// ÀÌÀü ÆäÀÌÁö Ç¥Çö
	if( minPage > 1 ) {
		// Ã¹ÆäÀÌÁö·Î °¡´Â ¸µÅ©´Â ÇöÀç ¹Ì»ç¿ë
		// returnStr  += "<td style='width:18px;border: 0 ; text-align:center; background-color: #F4F4F4; font-size: 9pt;'><a href='javascript:" + objectName + ".goMove(1);' style='text-decoration: none;font-color:#333333;font-family:arial, Verdana'><img border='0' style='margin-top:3px;;margin-left:3px;' src='/common/images/pageList/bn_first_prev.gif'></a></td> ";
		returnStr  += "<td width='50'><a href='javascript:" + objectName + ".goMove(" + (minPage-1)+ ");'><img src='" + IMAGE_URL + "/ko/btn/btn_back.gif' alt='ÀÌÀü' /></a></td>";
	}
	//ÆäÀÌÁö ¸®½ºÆ® Ç¥Çö
	returnStr += "<td style='padding-top:2px;'><table width='150' align='center' border='0' cellspacing='0' cellpadding='0'>"
			  + "<tr>";
	for (var j = minPage; j <= maxPage; j++) {
		if(j == currPage){
			returnStr  += "<td width='15'><span class='fcolor13_on'>" + j + "</span></td>";
		} else{
			returnStr  += "<td width='15'><a href='javaScript:" + objectName + ".goMove("+ j +");'><span class='fcolor13_off'>"+ j + "</span></a></td>";
		}
	}
	returnStr += "</tr></table></td>";

	// ´ÙÀ½ ÆäÀÌÁö Ç¥Çö
	if ( maxPage < lastPage ){
		returnStr  += "<td width='50' class='m_td_rightbtn'><a href='javascript:" + objectName + ".goMove("+ (maxPage+1)+");'><img src='" + IMAGE_URL + "/ko/btn/btn_next.gif' alt='´ÙÀ½' /></a></td>";
		//ÃÖÁ¾ÆäÀÌÁö ÀÌµ¿¸µÅ©´Â ÇöÀç¹Ì»ç¿ë
		//returnStr  += "<td style='width:18px;border: 0 ; text-align:center; background-color: #F4F4F4; font-size: 9pt;'><a href='javascript:" + objectName + ".goMove("+ lastPage+");' style='text-decoration: none;font-color:#333333;font-family:arial, Verdana'><img border='0' style='margin-top:3px;;margin-left:3px;' src='/common/images/pageList/bn_last_next.gif'></a></td>";
	}

	returnStr +="</tr></table></td><td class='m_td_rightbtn'><a href='javascript:PrintMade.Capture(\"main\", 0, 0)'><img src='" + IMAGE_URL +"/ko/btn/btn_icon02.gif' alt='¿¢¼¿ÆÄÀÏ ÀúÀå'/></a></td>"
			  + "</tr></table>";

	return returnStr;
}

/*  ¼ýÀÚ°¡ ÀÔ·ÂµÇ¾úÀ»¶§ ÇÑ±Û·Î ±Ý¾×À» ¸®ÅÏÇÑ´Ù.
	fnc(num,1):alert
	fnc(num,2):°°ÀºÈ­¸é
	fnc(num,3,id): id ÀÇ value¿¡ ÇÑ±Û±Ý¾×À» SET
*/
function ribMoneyToHan(num,mode,id)
{
	var len  ;
	var temp1 = "";
	var temp2 = "";
	var temp3 = "";
	var Obj	  = document.all[id]

	if ( num == "" || num == "0" ) {
		if ( mode == "3" ) {
			Obj.value = "";
		}
		return;
	}

	num=new String(num);
	num=num.replace(/,/gi,"");

	len  = num.length;

	if ( len/4 > 3 && len/4 <= 4 ) {
		if ( len%4 == 0 ) {
			temp1 = ribCiphersHan(num.substring(0,4)) + "Á¶" + ribCiphersHan(num.substring(4,8)) + "¾ï" + ribCiphersHan(num.substring(8,12)) + "¸¸" + ribCiphersHan(num.substring(12,16));
		}
		else {
			temp1 = ribCiphersHan(num.substring(0,len%4)) + "Á¶" + ribCiphersHan(num.substring(len%4,len%4+4)) + "¾ï" + ribCiphersHan(num.substring(len%4+4,len%4+8)) + "¸¸" + ribCiphersHan(num.substring(len%4+8,len%4+12));
		}
	}
	else if ( len/4 > 2 && len/4 <= 3 ) {
		if ( len%4 == 0 ) {
			temp1 = ribCiphersHan(num.substring(0,4)) + "¾ï" + ribCiphersHan(num.substring(4,8)) + "¸¸" + ribCiphersHan(num.substring(8,12));
		}
		else {
			temp1 = ribCiphersHan(num.substring(0,len%4)) + "¾ï" + ribCiphersHan(num.substring(len%4,len%4+4)) + "¸¸" + ribCiphersHan(num.substring(len%4+4,len%4+8));
		}
	}
	else if ( len/4 > 1 && len/4 <= 2 ) {
		if ( len%4 == 0 ) {
			temp1 = ribCiphersHan(num.substring(0,4)) + "¸¸" + ribCiphersHan(num.substring(4,len));
		}
		else {
			temp1 = ribCiphersHan(num.substring(0,len%4)) + "¸¸" + ribCiphersHan(num.substring(len%4,len));
		}
	}
	else if ( len/4 <= 1 ) {
		temp1 = ribCiphersHan(num.substring(0,len));
	}

	for (var i=0; i<temp1.length; i++) {
		temp2 = temp2 + ribNumToHan(temp1.substring(i, i+1));
	}

	temp3=new String(temp2);
	temp3=temp3.replace(/¾ï ¸¸/gi,"¾ï ");
	temp3=temp3.replace(/Á¶ ¾ï/gi,"Á¶ ");

	if ( mode == 1 ) {
		alert(temp3 + " ¿ø");
	} else if ( mode == 2 ) {
		return temp3;
	} else if ( mode == 3 ) {
		Obj.value = "( " + temp3 + " ¿ø )";
	}
}

// ±Ý¾× ¼ýÀÚ¸¦ ÇÑ±Û·Î.. : NumToHan, ribCiphersHan, NUM_HAN
function ribNumToHan(num)
{
	if ( num == "1" ) 		return "ÀÏ";
	else if ( num == "2" ) 	return "ÀÌ";
	else if ( num == "3" ) 	return "»ï";
	else if ( num == "4" ) 	return "»ç";
	else if ( num == "5" ) 	return "¿À";
	else if ( num == "6" ) 	return "À°";
	else if ( num == "7" ) 	return "Ä¥";
	else if ( num == "8" ) 	return "ÆÈ";
	else if ( num == "9" ) 	return "±¸";
	else if ( num == "½Ê" ) return "½Ê";
	else if ( num == "¹é" ) return "¹é";
	else if ( num == "Ãµ" ) return "Ãµ";
	else if ( num == "¸¸" ) return "¸¸ ";
	else if ( num == "¾ï" ) return "¾ï ";
	else if ( num == "Á¶" ) return "Á¶ ";
	else if ( num == "0" ) 	return "";
}

function ribCiphersHan(num)
{
	var len  = num.length;
	var temp = "";

	if ( len == 1 ) {
		temp = num;
	}
	else if ( len == 2 ) {
		temp = num.substring(0,1) + "½Ê" + num.substring(1,2);
	}
	else if ( len == 3 ) {
		temp = num.substring(0,1) + "¹é" + num.substring(1,2) + "½Ê" + num.substring(2,3);
	}
	else if ( len == 4 ) {
		temp = num.substring(0,1) + "Ãµ" + num.substring(1,2) + "¹é" + num.substring(2,3) + "½Ê" + num.substring(3,4);
	}

	num=new String(temp);
	num=num.replace(/0½Ê/gi,"");
	num=num.replace(/0¹é/gi,"");
	num=num.replace(/0Ãµ/gi,"");
	return num;
}

// ¿¡·¯Àü¹® ¿©ºÎ¸¦ ÆÇ´ÜÇÑ´Ù. ¿¡·¯ÀÎ °æ¿ì ¿¡·¯ ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÑ´Ù.
function checkJStarError(xmlWarn, callback, showMessageType) {

	if ( typeof xmlWarn == "string" ) {
		log("input data is string. convert to dom.");
		xmlWarn = getDocument(xmlWarn);
	}

	if ( xmlWarn.documentElement.nodeName == 'JSTAR_ERROR'  )  {
		log( "JSTAR_ERROR" );
		if( typeof callback != 'undefined' && callback != '' && callback != null ) {
			setString( xmlWarn, "callback", callback );
		}
		if ( typeof showMessageType == 'undefined' || showMessageType == 1 ) {
			var warningURL = "/common/hpe/message/jStarErrorMsg.jsp";
			var warningMsgHeight = 390;
			var warningMsgWidth = 600;

			var sFeatures = "dialogHeight: " + warningMsgHeight + "pt; dialogWidth: " + warningMsgWidth + "pt; edge: Raised; center: Yes; help: No; edge: raised; resizable: Yes; status: No;";
			showIFrame( warningURL, serialize(xmlWarn), sFeatures, "___warninglayer" ) ;
		}
		return false;
	} else {
		log("OK");
		return true;
	}
}

function closeJstarErrorFrame( idx, callback, redirectURL ) {
	var name = _showIFrameName[idx];

	if ( typeof redirectURL != "undefined" && redirectURL != null && redirectURL != "") {
		location.href = redirectURL;
		return;
	} else {
		if( typeof document.all[name] != "undefined" && document.all[name] != null ) {
			document.all[name].innerHTML = '';
			document.all[name].style.zIndex = 1;
			document.all[name].visibility = "hidden";
			document.body.removeChild(document.all[name]);
		}

		if( callback != '' ) {
			try {
				log( "JStarErrorCallback : " + callback  );
				eval( callback + "();" );
			} catch( e ) {
				printStackTrace( e );
			}
		}
	}
}

function doSessionXML() {
	try {
		var userTarget = "", userDisplay = "", userXsl = "", formName = "hpeform", userLanguage = "ko", useCert = "true", debug = "false", userCallback = "", keepTransactionSession = "false", processMsg = "", echoMode = "false", errorMsg = "", responseMessage = "", showJStarError = "true", useSign = "false", errorURL = "";
		var strSelected = "", strTextSelected = "", allOption = "", allOptionText = "", chooseOption = "", chooseOptionText = "", append = "", sorted = "", textSorted = "";
		var blankText = "";

		var sSessionStr = arguments[0];
		var sSessionListStr = arguments[1];
		var sFeatures = arguments[2];
		var serviceCode = arguments[3];

		if ( typeof serviceCode == "undefined" ) {
			alertError("ÀÎÀÚ°¡ ºÎÁ·ÇÕ´Ï´Ù.");
			return;
		}
		if (sSessionStr == "" && sSessionListStr == "") {
			alertError("Ã¹¹øÂ°¿Í µÎ¹øÂ° Ç×¸ñÀÌ µ¿½Ã¿¡ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
		if (sFeatures == "") {
			alertError("¼¼¹øÂ° Ç×¸ñÀÌ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}
		if (serviceCode == "") {
			alertError("³×¹øÂ° Ç×¸ñÀÌ ºñ¾î ÀÖÀ» ¼ö ¾ø½À´Ï´Ù.");
			return;
		}

		var xmlStr = "<SESSION>";
		var arrayOfSession = trim(sSessionStr).split(";");
		var arrayOfSessionList = trim(sSessionListStr).split(";");

		log("1");
		for (var i=0; i < arrayOfSession.length; i++) {
			var value = trim(arrayOfSession[i]);
			if (value != "") {
				if (value != XMLEncoder(value)) {
					alertError("Ã¹ ¹øÂ° Ç×¸ñ¿¡ Àß¸øµÈ ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ½À´Ï´Ù.");
					return;
				}
				var key = "";
				var tmpArray = value.split(":");
				if ( tmpArray.length == 1 ) {
					key = value;
				} else if ( tmpArray.length == 2 )	{
					key = trim(tmpArray[1]);
				} else {
					alertError("Ã¹ ¹øÂ° Ç×¸ñÀÇ Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.");
					return;
				}
				xmlStr += "<"+key+" getSession='"+value+"'/>";
			}
		}
		log("2");
		for (var i=0; i < arrayOfSessionList.length; i++) {
			var value = trim(arrayOfSessionList[i]);
			if (value != "") {
				if (value != XMLEncoder(value)) {
					alertError("µÎ ¹øÂ° Ç×¸ñ¿¡ Àß¸øµÈ ¹®ÀÚ°¡ Æ÷ÇÔµÇ¾î ÀÖ½À´Ï´Ù.");
					return;
				}
				var key = "";
				var tmpArray = value.split(":");
				if ( tmpArray.length == 1 ) {
					key = value;
				} else if ( tmpArray.length == 2 )	{
					key = trim(tmpArray[1]);
				} else {
					alertError("µÎ ¹øÂ° Ç×¸ñÀÇ Çü½ÄÀÌ Àß¸øµÇ¾ú½À´Ï´Ù.");
					return;
				}
				xmlStr += "<"+key+" getSessionList='"+value+"'/>";
			}

		}

		xmlStr += "</SESSION>";

		log("doSession xmlStr["+xmlStr+"]");

		var doc = getDocument(xmlStr);


		var arrayOfFeatures = sFeatures.split(";");
		for (var i=0; i < arrayOfFeatures.length; i++) {
			var tmpArray = arrayOfFeatures[i].split(":");
			if ( tmpArray.length == 2 )	{
				if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
					userCallback = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
					formName = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
					userDisplay = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "target" )	{
					userTarget = trim( tmpArray[1] ).toLowerCase();
				} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
					userXsl = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
					userLanguage = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" )	{
					useCert = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
					debug = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "keeptransactionsession" )	{
					keepTransactionSession = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "processmsg" )	{
					processMsg = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "echo" )	{
					echoMode = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "error" )	{
					errorMsg = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "responsemessage" )	{
					responseMessage = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
					showJStarError = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
					errorURL = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "selected" )	{
					strSelected = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "textselected" )	{
					strTextSelected = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "alloption" )	{
					allOption = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "alloptiontext" )	{
					allOptionText = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoption" )	{
					chooseOption = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoptiontext" )	{
					chooseOptionText = trim( tmpArray[1] );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "append" )	{
					append = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "sorted" )	{
					sorted = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "textsorted" )	{
					textSorted = trim( tmpArray[1].toLowerCase() );
				} else if ( trim( tmpArray[0].toLowerCase() ) == "blanktext" )	{
					blankText = trim( tmpArray[1].toLowerCase() );
				}
			}
		}

		// responseMessage°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» »ç¿ëÇÑ´Ù.
		if ( responseMessage == "" ) {
			responseMessage = "R_RIB" + serviceCode;
		}

		var requestMessage = "S_RIB" + serviceCode;

		if( processMsg == "" ) {
			processMsg = "Ã³¸®ÁßÀÔ´Ï´Ù.";
		}

		if( echoMode == "true" ) {
			setAttribute( doc, "mode", "ECHO" );
			setAttribute( doc, "error", errorMsg );
		}

		if( userLanguage != "ko" )  {
			setAttribute( doc, "language", userLanguage);	// ¾ð¾î
		}
		if( keepTransactionSession == "true" ) {
			setAttribute( doc, "keepTransactionSession", keepTransactionSession);	// Transaction SessionÀ¯Áö ¿©ºÎ
		}
		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		setAttribute( doc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
		setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;

		var serviceFeatures = "callback:doSessionXMLCallback; sync:false; lock:false; cursorFix: true; ";
		log("3");
		if (userTarget == "") {
			if (userCallback == "") {
				alertError("targetÀÌ ¹ÌÁöÁ¤ÀÎ °æ¿ì callbackÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
		} else if (userTarget == "form") {
			serviceFeatures += " userTarget:form;";
			if (userDisplay == "") {
				alertError("targetÀÌ formÀÎ °æ¿ì display°¡ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			} else if (userXsl == "") {
				alertError("targetÀÌ ÁöÁ¤µÈ °æ¿ì xslÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
			serviceFeatures += " userDisplay:"+userDisplay+"; userXsl:"+userXsl+";";

			// setXMLOption°ü·Ã ¿É¼Çµé
			if (strSelected != "") {
				serviceFeatures += " selected:"+strSelected+";";
			}
			if (strTextSelected != "") {
				serviceFeatures += " textselected:"+strTextSelected+";";
			}
			if (allOption != "") {
				serviceFeatures += " alloption:"+allOption+";";
			}
			if (allOptionText != "") {
				serviceFeatures += " alloptiontext:"+allOptionText+";";
			}
			if (chooseOption != "") {
				serviceFeatures += " chooseoption:"+chooseOption+";";
			}
			if (chooseOptionText != "") {
				serviceFeatures += " chooseoptiontext:"+chooseOptionText+";";
			}
			if (append != "") {
				serviceFeatures += " append:"+append+";";
			}
			if (sorted != "") {
				serviceFeatures += " sorted:"+sorted+";";
			}
			if (textSorted != "") {
				serviceFeatures += " textsorted:"+textSorted+";";
			}
			if (blankText != "") {
				serviceFeatures += " blankText:"+blankText+";";
			}

		} else if (userTarget == "layer") {
			serviceFeatures += " userTarget:layer;";
			if (userDisplay == "") {
				userDisplay = "hpelayer";
			}
			if (userXsl == "") {
				alertError("targetÀÌ ÁöÁ¤µÈ °æ¿ì xslÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù.");
				return;
			}
			serviceFeatures += " userDisplay:"+userDisplay+"; userXsl:"+userXsl+";";
		} else {
			alertError("target°ªÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
			return;
		}

	if (userCallback != "") {
		serviceFeatures += " userCallback:"+userCallback+";";
	}

		if (debug == "") debug = "false";
		if (formName == "") formName = "hpeform";
		if (useCert == "") useCert = "true";

		serviceFeatures += " debug:"+debug+"; form:"+formName+"; useCert:"+useCert+"; processMsg:" + processMsg +"; showjstarerror:" + showJStarError + "; useSign:"+useSign;

		var servletURL = "/common/hpe/jsp/callHpeSessionXMLService.jsp?serviceCode="+serviceCode;

		log( "[doSessionXML] callInitechXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callInitechXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
			// ·Î±×¾Æ¿ô ÈÄ Ã¹ÆäÀÌÁö·Î.
			doLogoutWithoutCert();
		}

	} catch( e ) {
		alertError("doSession È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}

}

function doSessionXMLCallback( result, argument, sFeatures ) {
	try {
		log("1");
		var srcTree = null, xsltTree = null, htmlStr = null, obj = null;
		var userCallback = "", userTarget = "", userDisplay = "hpelayer", userXsl = "", userForm="hpeform", debug = "false", showJStarError = "true";
		var strSelected = "", strTextSelected = "", allOption = "", allOptionText = "", chooseOption = "", chooseOptionText = "", append = "", sorted = "", textSorted = "";
		var blankText = "";

		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "usercallback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usertarget" )	{
						userTarget = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userdisplay" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userxsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userform" )	{
						userForm = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "selected" )	{
						strSelected = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "textselected" )	{
						strTextSelected = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "alloption" )	{
						allOption = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "alloptiontext" )	{
						allOptionText = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoption" )	{
						chooseOption = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "chooseoptiontext" )	{
						chooseOptionText = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "append" )	{
						append = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "sorted" )	{
						sorted = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "textsorted" )	{
						textSorted = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "blanktext" )	{
						blankText = trim( tmpArray[1].toLowerCase() );
					}
				}
			}
		}
		log("2");
		srcTree = getDocument( result );

		// jStar ¿¡·¯ Ã¼Å© ¿©ºÎ Ã³¸®.
		if (showJStarError != "false") {
			if (!checkJStarError(srcTree)) {
				return;
			}
		}

		if ( debug == "true" || debug == "y" )	{
			obj = new Object();
			var re = />[\s]*</g;	//Initialize pattern.
			obj["input"] = argument.replace( re ,">\n<");
			obj["xml"] = indent( srcTree );
		}

		log("3");
		if( !userTarget == "") {
			if( userDisplay == "" ) {
				alertError( "displayÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else if( userXsl == "" ) {
				alertError( "xslÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else {
				if( srcTree == null ) {
					srcTree = getDocument( result );
				}

				if( userTarget == "layer" ) {
					xsltTree= getXSLDocument( userXsl );
					htmlStr = srcTree.transformNode(xsltTree) + "<XSLINFO value='" + userXsl + "'/>";

					theDocument.all[userDisplay].innerHTML = htmlStr;
					window.scrollTo(0,0);
					if ( debug == "true" || debug == "y" )	{
						var re = />[\s]*</g;	//Initialize pattern.
						obj["html"] = htmlStr.replace( re ,">\n<");
						obj["xsl"] = indent( xsltTree );
					}
				} else if (userTarget == "form" ) {
					var sFeatures2 = "display:"+userDisplay+"; form:"+userForm+"; xsl:"+userXsl+"; debug:"+debug+";";

					if (strSelected != "") {
						sFeatures2 += " selected:"+strSelected+";";
					}
					if (strTextSelected != "") {
						sFeatures2 += " textselected:"+strTextSelected+";";
					}
					if (allOption != "") {
						sFeatures2 += " alloption:"+alloption+";";
					}
					if (allOptionText != "") {
						sFeatures2 += " alloptiontext:"+allOptionText+";";
					}
					if (chooseOption != "") {
						sFeatures2 += " chooseoption:"+chooseOption+";";
					}
					if (chooseOptionText != "") {
						sFeatures2 += " chooseoptiontext:"+chooseOptionText+";";
					}
					if (append != "") {
						sFeatures2 += " append:"+append+";";
					}
					if (sorted != "") {
						sFeatures2 += " sorted:"+sorted+";";
					}
					if (textSorted != "") {
						sFeatures2 += " textsorted:"+textSorted+";";
					}
					if (blankText != "") {
						sFeatures2 += " blankText:"+blankText+";";
					}
					log("33");
					setXMLOption( sFeatures2, result );
					log("34");
				}
			}
		}
		log("4");
		if ( debug == "true" || debug == "y" )	{
			showDebugMsg( obj, 'xml' );
		}

		if ( typeof userCallback != "undefined" && userCallback != "" )	{
			try {
				eval( userCallback + "( result, argument );" );
			} catch( e ) {
				e.detail = userCallback + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
				printStackTrace( e );
			}
		}
		log("5");
	} catch( e ) {
		alertError("doSession È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

// ¸Þ½ÃÁöÀÇ ¿¡·¯ ¿©ºÎ¸¦ ÆÇ´ÜÇÑ´Ù.
function checkError(result) {
	if ( result == "undefined" || result == null ) {
		return false;
	} else 	if ( result.documentElement.nodeName == 'JSTAR_ERROR' || result.documentElement.nodeName == 'WARNING' )  {
		return false;
	} else if ( getString("COM_RESULT_CD") != "0" ) {
		return false;
	}
	return true;
}

// VectorÇüÅÂÀÇ docÀ» ¹Þ¾Æ¼­ ´ÙÁß Àü¹® ¿äÃ»À» Ã³¸®ÇÑ´Ù.
function doVectorXML() {
	try {
		var userCallback = "", formName = "hpeform", transform = "true", userDisplay = "hpelayer", userXsl = "", userLanguage = "ko", keepTransactionSession = "false", useCert = "true", processMsg = "", debug = "false", echoMode = "false", errorMsg = "", responseMessage = "", showJStarError = "true", useSign = "false", errorURL = "";
		var serviceCode = arguments[0];
		if( typeof serviceCode == "undefined" ) {
			alertError("Service Code´Â ÇÊ¼ö Ç×¸ñ ÀÔ´Ï´Ù.");
			return;
		}
		userXsl = "xsl/RIB" + serviceCode + ".xsl";
		var sFeatures = arguments[1];
		var doc = arguments[2];
		if( typeof doc == "undefined" ) {
			alertError("document°¡ ÀÔ·ÂµÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			return;
		}

		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "callback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "form" )	{
						formName = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "display" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "xsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "language" )	{
						userLanguage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "keeptransactionsession" )	{
						keepTransactionSession = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usecert" )	{
						useCert = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "processmsg" )	{
						processMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "echo" )	{
						echoMode = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "error" )	{
						errorMsg = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "responsemessage" )	{
						responseMessage = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "usesign" )	{
						useSign = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "errorurl" )	{
						errorURL = trim( tmpArray[1] );
					}
				}
			}
		}
		// responseMessage°¡ ¼³Á¤µÇÁö ¾Ê¾ÒÀ¸¸é ±âº»°ªÀ» »ç¿ëÇÑ´Ù.
		if ( responseMessage == "" ) {
			responseMessage = "R_RIB" + serviceCode;
		}

		var requestMessage = "S_RIB" + serviceCode;
		var servletURL = "/common/hpe/jsp/callHpeMultiService.jsp?serviceCode="+serviceCode;

		if( processMsg == "" ) {
			processMsg = "Ã³¸®ÁßÀÔ´Ï´Ù.";
		}

		// VectorÃ³¸®.
		var tempVec = toVector(doc);
		for (i=0 ; i<tempVec.size();i++) {
			var tempDoc = tempVec.remove(i);
			var tempServiceCode = getAttribute(tempDoc, "serviceCode");
			var tempRequestMessage = getAttribute(tempDoc, "requestMessage");
			var tempResponseMessage = getAttribute(tempDoc, "responseMessage");

			if (tempServiceCode == null || tempServiceCode == '') {
				setAttribute( tempDoc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
			}
			if (tempRequestMessage == null || tempRequestMessage == '') {
				setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
			}
			if (tempResponseMessage == null || tempResponseMessage == '') {
				setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
			}
			tempVec.insertElementAt(tempDoc, i);
		}

		doc = tempVec.toDocument();

		if( echoMode == "true" ) {
			setAttribute( doc, "mode", "ECHO" );
			setAttribute( doc, "error", errorMsg );
		}

		if( userLanguage != "ko" )  {
			setAttribute( doc, "language", userLanguage);	// ¾ð¾î
		}
		if( keepTransactionSession == "true" ) {
			setAttribute( doc, "keepTransactionSession", keepTransactionSession);	// Transaction SessionÀ¯Áö ¿©ºÎ
		}
		if ( errorURL != "" ) {
			setAttribute( doc, "redirectURL", errorURL );
		}

		setAttribute( doc, "serviceCode", serviceCode);	// ¼­ºñ½º ÄÚµå
		setAttribute( doc, "requestMessage", requestMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;
		setAttribute( doc, "responseMessage", responseMessage);	// ¿äÃ» Àü¹®¸í ¼¼ÆÃ;

		var serviceFeatures = "callback:doVectorXMLCallback; sync:false; lock:false; cursorFix: true; debug:"+debug + "; useCert:" + useCert + "; useSign:" + useSign +"; processMsg:" + processMsg +"; form:" + formName + "; userCallback:" + userCallback + "; transform:" + transform + "; userDisplay:" + userDisplay + "; userXsl:" + userXsl +"; showjstarerror:" + showJStarError;
		log( "[doVectorXML] callInitechXMLServices È£Ãâ Àü Features[" + serviceFeatures + "] servletURL[" + servletURL + "] document[" + indent( doc ) + "]" );

		if ( !callInitechXMLService( serviceFeatures, servletURL, doc )) {
			log("callInitechXMLServiceÈ£Ãâ ÇÏ±â Àü¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
			// ·Î±×¾Æ¿ô ÈÄ Ã¹ÆäÀÌÁö·Î.
			doLogoutWithoutCert();
		}
	} catch( e ) {
		alertError("doXML È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}

function doVectorXMLCallback( result, argument, sFeatures ) {
	try {
		var srcTree = null, xsltTree = null, htmlStr = null, obj = null;
		var userCallback = "", transform = "true", userDisplay = "hpelayer", userXsl = "", debug = "false", showJStarError = "true";
		if( typeof sFeatures != "undefined" ) {
			var arrayOfFeatures = sFeatures.split(";");
			for (var i=0; i < arrayOfFeatures.length; i++) {
				var tmpArray = arrayOfFeatures[i].split(":");
				if ( tmpArray.length == 2 )	{
					if ( trim( tmpArray[0].toLowerCase() ) == "usercallback" )	{
						userCallback = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "transform" )	{
						transform = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userdisplay" )	{
						userDisplay = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "userxsl" )	{
						userXsl = trim( tmpArray[1] );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "debug" )	{
						debug = trim( tmpArray[1].toLowerCase() );
					} else if ( trim( tmpArray[0].toLowerCase() ) == "showjstarerror" )	{
						showJStarError = trim( tmpArray[1] );
					}
				}
			}
		}

		srcTree = getDocument( result );

		// jStar ¿¡·¯ Ã¼Å© ¿©ºÎ Ã³¸®.
//		if (showJStarError != "false") {
//			if (!checkJStarError(srcTree)) {
//				return;
//			}
//		}

		if ( debug == "true" || debug == "y" )	{
			obj = new Object();
			var re = />[\s]*</g;	//Initialize pattern.
			obj["input"] = argument.replace( re ,">\n<");
			obj["xml"] = indent( srcTree );
		}
		if( transform == "true" ) {
			if( userDisplay == "" ) {
				alertError( "transformÀÌ trueÀÌ°í displayÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else if( userXsl == "" ) {
				alertError( "transformÀÌ trueÀÌ°í xslÀÇ °ªÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
			} else {
				if( srcTree == null ) {
					srcTree = getDocument( result );
				}
				xsltTree= getXSLDocument( userXsl );
				htmlStr = srcTree.transformNode(xsltTree) + "<XSLINFO value='" + userXsl + "'/>";

				theDocument.all[userDisplay].innerHTML = htmlStr;
				window.scrollTo(0,0);

				if ( debug == "true" || debug == "y" )	{
					var re = />[\s]*</g;	//Initialize pattern.
					obj["html"] = htmlStr.replace( re ,">\n<");
					obj["xsl"] = indent( xsltTree );
				}
			}
		}

		if ( debug == "true" || debug == "y" )	{
			showDebugMsg( obj, 'xml' );
		}

		if ( typeof userCallback != "undefined" && userCallback != "" )	{
			try {
				eval( userCallback + "( result, argument );" );
			} catch( e ) {
				e.detail = userCallback + "( result ) ¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. result:" + result ;
				printStackTrace( e );
			}
		}
	} catch( e ) {
		alertError("doVectorXML È£Ãâ Áß ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.");
		printStackTrace( e );
		return;
	}
}


function findSelect(item, val){
	var i=0;
	for(i=0;i< item.length; i++){
log("item.options[" + i + "] value[" + val + "]");
		if(item.options[i].value == val){
			item.selectedIndex = i;
			break;
		}
	}
	return;
}

/*
toForm
	XML Message¸¦ ÁöÁ¤µÈ form¿¡ ÀÔ·ÂÇÑ´Ù. Áö¿øµÇ´Â °´Ã¼·Î´Â text, password, textarea, file, hidden, checkbox, radio, select ÀÌ´Ù.
	±×Áß checkbox¿Í radio, select´Â ÁöÁ¤µÈ °ªÀÌ ÀÖ´Â °æ¿ì ¼±ÅÃÇÑ´Ù.
	»ç¿ë¹æ¹ý) toForm( doc, this.form)
	doc		xml document
	form	form object
*/
function toForm( doc, form )	{
	try {
		var dom = null;
		if( typeof doc == 'string' ) {
			dom = getDocument( doc );
		} else if ( _isDocument( doc ) ) {
			dom = doc;
		} else if ( typeof doc == 'undefined' ) {
			return;
		}
		for ( var i=0 ; i < form.elements.length ; i++ ) {
			var e = form.elements[i];
			if ( e.name != null && e.name != "" )  {
				if( e.type == 'text' || e.type == 'password' || e.type == 'textarea' || e.type == 'file' || e.type == 'hidden' ) {
					if( e.className.indexOf( 'Number' ) == 0 ) {
						var sign = "", commaStr = "", cent = "";
						var numStr = getString( dom, e.name );
						e.value = numStr;
					} else if ( e.className.indexOf( 'Date' ) == 0 ) {
						var dateStr = getString( dom, e.name );
						if( dateStr.length == 8 ) {
							e.value = dateStr.substring( 0, 4 ) + "/" + dateStr.substring( 4, 6) + "/" + dateStr.substring( 6, 8);
						} else {
							e.value = dateStr;
						}
					} else if ( e.className.indexOf( 'Time' ) == 0 ) {
						var timeStr = getString( dom, e.name );
						if( timeStr.length == 4 ) {
							e.value = timeStr.substring( 0, 2 ) + ":" + timeStr.substring( 2, 4);
						} else {
							e.value = timeStr;
						}
					} else {
						e.value = getString( dom, e.name );
					}
				} else if( e.type == 'checkbox' ) {
					var nodeList = dom.getElementsByTagName( e.name );
					for( var j = 0 ; j < nodeList.length ; j++ ) {
						if( nodeList.item( j ).getAttribute("value") == e.value ) {
							e.checked = true;
							break;
						}
					}
				} else if( e.type == 'radio' && getString( dom, e.name ) == e.value ) {
					e.checked = true;
				} else if( e.type == 'select-one' ) {
					e.value = getString( dom, e.name );
				} else if( e.type == 'select-multiple'  ) {
					var nodeList = dom.getElementsByTagName( e.name );
					for( var j = 0 ; j < e.options.length ; j++ ) {
						var opt = e.options[j];
//						alert("4461:"+nodeList.length);
						for( var k = 0 ; k < nodeList.length ; k++ ) {
							if( nodeList.item( k ).getAttribute("value") == opt.value ) {
								opt.selected = true;
								break;
							}
						}
					}
				}
			}
		}
	} catch( e ) {
		printStackTrace( e );
	}
}

/* print °ü·Ã ÇÔ¼ö */

function hpePopupPrint()
{
	alert("1");
	try{
		if( PrintMade == 'undefined' )
			window.print();
		else
			PrintMade.Run("/lic:'"+PRINT_lIC+"' /eff /ps:1 /sp:0 /ff:'"+PRINT_URL+"/yangsic.xml'");
	}
	catch(e){
		log(e);
		window.print();
	}
}

function PrintMade_Print(){
	//PrintMade.CacheKey = "shinhan.com";
	//PrintMade.FormFile = IMAGE_URL + "print/yangsic.xml";
	//PrintMade.CaptureClip("main", 0 , 0, 185, 135, 180, 95 );
	PrintMade.Run("/lic:'"+PRINT_lIC+"' /eff /ps:1 /sp:0 /ff:'"+PRINT_URL+"/yangsic.xml' /fid:main /cr:185|135|180|95");
}

// ÁöÁ¤³¯Â¥ Àü ÈÄ ¿µ¾÷ÀÏÀ» °¡Á®¿Â´Ù. 0ÀÌ¸é ÃÖÁ¾¿µ¾÷ÀÏ Áï, ÇöÀçÀÏÀÌ ¿µ¾÷ÀÏÀÌ¸é ÇöÀçÀÏÀ», ¾Æ´Ï¸é ¹Ù·Î ÀÌÀü ¿µ¾÷ÀÏÀ» ¹ÝÈ¯ÇÑ´Ù.
function getOPDate( days ) {
	var oXmlHttp = __createXMLHTTPObject();
	if( typeof pattern == 'undefined' || pattern == null ) {
		pattern = "";
	}
	oXmlHttp.xmlHttp.open("POST", location.protocol + "//" + location.host + "/common/hpe/jsp/getOPDate.jsp?days=" + days + "&idx=" + (new Date()).getTime() + Math.random() * 10000 , false);
	oXmlHttp.xmlHttp.send();
	var dateTime =  getString( oXmlHttp.xmlHttp.responseXML, "date" );
	oXmlHttp.isClose = true;
	oXmlHttp.xmlHttp = null;
	return dateTime;
}

// ÃÖÁ¾ ¿µ¾÷ÀÏÀ» °¡Á®¿Â´Ù.
function getCurOPDate( days ) {
	return getOPDate(0);
}

// ÀÔ·ÂÀÏÀÌ ¿µ¾÷ÀÏÀÎÁö ÆÇ´ÜÇÑ´Ù. 'yyyyMMdd'Çü½Ä.
function isOPDate( day ) {
	var oXmlHttp = __createXMLHTTPObject();
	day = getDate( day );
	if( typeof pattern == 'undefined' || pattern == null ) {
		pattern = "";
	}
	oXmlHttp.xmlHttp.open("POST", location.protocol + "//" + location.host + "/common/hpe/jsp/isOPDate.jsp?day=" + day + "&idx=" + (new Date()).getTime() + Math.random() * 10000 , false);
	oXmlHttp.xmlHttp.send();
	var isOp =  getString( oXmlHttp.xmlHttp.responseXML, "isOPDate" );
	oXmlHttp.isClose = true;
	oXmlHttp.xmlHttp = null;

	if( isOp == "true" ){
		return true;
	}
	else{
		return false;
	}

}

// ¼¼¼ÇÅ¸ÀÓ¾Æ¿ô¹æÁö¸¦ À§ÇØ Á¤ÇØÁø ÁÖ±â·Î ¼¼¼Ç°»½Å ¼­ºí¸´À» È£ÃâÇÑ´Ù.
function refreshAccessTime() {
	var count = arguments[0];
	var timeout = 4 * 60 * 1000;	// 4ºÐ

	if (count == 0) return;
	if( arguments.length == 2 ){
		callServletXMLService("callback:refreshAccessTimeCallback;sync:false;cursor:false;", "/common/hpe/jsp/callHpeRefreshSession.jsp", getDocument("<request/>"));
		count = count-1;
	}
	window.setTimeout( "refreshAccessTime("+count+", 1)", timeout);
}

function refreshAccessTimeCallback(result) {
	if (getResult(result) == 1) {
		setLogoutTimer();
		log("¼¼¼ÇÅ¸ÀÓ¾Æ¿ô °»½Å ¼º°ø!");
	} else {
		log("¼¼¼ÇÅ¸ÀÓ¾Æ¿ô °»½Å ½ÇÆÐ!");
	}
}

function alertError(errMsg, e) {
	var msg = "Ã³¸® Áß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù. ºê¶ó¿ìÀú¸¦ »õ·Î °íÄ§ ÇÏ½Å µÚ ´Ù½Ã °Å·¡ÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.\n";
	msg += "¿À·ù°¡ Áö¼ÓµÇ´Â °æ¿ì ´ÙÀ½ »ó¼¼ ¸Þ½ÃÁö¸¦ Âü°íÇÏ½Ã¾î °í°´ »ó´ã ¼¾ÅÍ·Î ¹®ÀÇÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.\n";
	msg += "\n";

	if (typeof e != "undefined") {
		errMsg += "\n" + getStackTrace(e);
	}

	msg += "»ó¼¼ ¸Þ½ÃÁö : " + errMsg;
	msg += "\n";
	msg += "URL            : " + location;
	alert(msg);
}

function getStackTrace( e ) {
	var str = "";
	for ( var idx in e ) {
		var tmp = idx + "              ";
		tmp = tmp.substring(0, 15);
		if (idx == "number" ) {
			str += tmp + ":" + ( e[idx] & 0xFFFF ) + "\n";	// Prints Error Code
		} else {
			str += tmp + ":" + e[idx] + "\n";
		}
	}
	return str;
}

function isShinhanPopup() {
	try {
		if( typeof window.opener == 'undefined' ) {
			return false;
		} else if( window.opener.closed ) {
			return false;
		} else {
			return true;
		}
	} catch( e ) {
		return false;
	}
}

function enableMouse(){
	document.oncontextmenu 	= null;	//¿À¸¥ÂÊ¸¶¿ì½ºÅ¬¸¯
	document.ondragstart 	= null;	//º¹»çÁ¦¾î
	document.onselectstart 	= null;	//º¹»çÁ¦¾î
}

// ÇÔ¼öÃß°¡  L.S.H (2007-07-24)
function goPage( pageUrl, key, doc ) {

    log("goPage URL[" + pageUrl + "]" );

    if( typeof pageUrl == 'undefined' ) {
        alertError("URLÀ» ÀÔ·ÂÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.");
        log("URLÀ» ÀÔ·ÂÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.");
        return;
    }

    if (typeof key == '') {
        alertError("key°¡ °ø¹éÀÔ´Ï´Ù.");
        log("key°¡ °ø¹éÀÔ´Ï´Ù.");
        return;
    }

    log("goPage setSaveDoc START ");
    setSavedDoc(key, doc);
    log("goPage setSaveDoc END ");
    location.href = pageUrl;
}

function getSavedDoc(key) {
    var str = getFrameHashDoc(key);
    var result = null;
    if (str == null || str == "") {
	log("µ¥ÀÌÅÍ°¡ ¾ø½À´Ï´Ù.");
    } else {
		result = getDocument(str);
    }
    return result;
}

function setSavedDoc(key, doc) {
    var str = serialize(doc);
    if (str == null) {
        alertError("µ¥ÀÌÅÍ°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
        return;
    }
    setFrameHashDoc(key, str);
}

function getFrameHashDoc(key) {
	var oFrame = window.frameElement;
	try {
		if( isShinhanPopup() ) {		//ÆË¾÷ Ã¢ÀÎ °æ¿ì
			log("Popup");
			if (typeof comframe == 'undefined') {
				if( __isPopupMethod( "getFrameHashDoc" ) ) {
					return opener.getFrameHashDoc(key);
				} else {
					alertError("opener.getFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + opener.location + "][" + (typeof opener.getFrameHashDoc) + "][" + (typeof isPopup) + "]" );
					log("opener.getFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + opener.location + "][" + (typeof opener.getFrameHashDoc) + "][" + (typeof isPopup) + "]" );
					return null;
				}
			} else if ( typeof comframe.getSavedDoc  == 'function' || typeof comframe.getSavedDoc  == 'object' ) {
				var str = comframe.getSavedDoc(key);
				if (str == null) {
					log("Key["+key+"]¿¡ ÇØ´çÇÏ´Â Document°¡ ¾øÀ½.");
				}
				return str;
			} else {
				// comframe.location.replace( comframe.location );
				alertError("comframe.getSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + typeof (comframe.getSavedDoc) + "][" + (typeof isPopup) + "]" );
				log("comframe.getSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + (typeof comframe.getSavedDoc) + "][" + (typeof isPopup) + "]" );
				return null;
			}

		} else if( hasParentFrame() ) {
			log("»óÀ§ Frame Á¸Àç : " + window.parent.location);
			if( __isParentFrameMethod( "getFrameHashDoc" ) ) {
				return window.parent.getFrameHashDoc( key );
			} else {
				// do what?
				alertError("window.parent.getFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + window.parent.location + "][" + (typeof window.parent.getFrameHashDoc) + "][" + (typeof isPopup) + "]" );
				log("window.parent.getFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + window.parent.location + "][" + (typeof window.parent.getFrameHashDoc) + "][" + (typeof isPopup) + "]" );
				return null;
			}
		} else {
			log("ÃÖ »óÀ§ Frame");
			if (typeof comframe == 'undefined') {
				alertError("ÇÁ·¹ÀÓÀÌ ¾ø½À´Ï´Ù.");
				log("comframeÀÌ ¾øÀ½.");
				return null;
			} else if ( typeof comframe.getSavedDoc  == 'function' || typeof comframe.getSavedDoc  == 'object' ) {
				log("GF_"+key+"_2");
				var str = comframe.getSavedDoc(key);
				if (str == null) {
					log("Key["+key+"]¿¡ ÇØ´çÇÏ´Â Document°¡ ¾øÀ½.");
				}
				return str;
			} else {
				// comframe.location.replace( comframe.location );
				alertError("comframe.getSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + typeof (comframe.getSavedDoc) + "][" + (typeof isPopup) + "]" );
				log("comframe.getSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + (typeof comframe.getSavedDoc) + "][" + (typeof isPopup) + "]" );
				return null;
			}
		}
	} catch( e ) {
		alertError("getFrameHashDoc ExceptionÀÌ ¹ß»ýÇß½À´Ï´Ù.[" + (typeof isPopup) + "]", e);
		printStackTrace( e );
		return;
	}
}

function setFrameHashDoc(key, str) {
	var oFrame = window.frameElement;
	try {
		if( isShinhanPopup() ) {		//ÆË¾÷ Ã¢ÀÎ °æ¿ì
			log("Popup");
			if (typeof comframe == 'undefined') {
				if( __isPopupMethod( "setFrameHashDoc" ) ) {
					opener.setFrameHashDoc(key, str );
				} else {
					alertError("opener.setFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + opener.location + "][" + (typeof opener.setFrameHashDoc) + "][" + (typeof isPopup) + "]" );
					log("opener.setFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + opener.location + "][" + (typeof opener.setFrameHashDoc) + "][" + (typeof isPopup) + "]" );
				}
			} else if ( typeof comframe.setSavedDoc  == 'function' || typeof comframe.setSavedDoc  == 'object' ) {
				log("SF_"+key+"_3");
				comframe.setSavedDoc(key, str);
			} else {
				// comframe.location.replace( comframe.location );
				alertError("comframe.setSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + typeof (comframe.setSavedDoc) + "][" + (typeof isPopup) + "]" );
				log("comframe.setSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + (typeof comframe.setSavedDoc) + "][" + (typeof isPopup) + "]" );
			}

			return;
		} else if( hasParentFrame() ) {
			log("»óÀ§ Frame Á¸Àç ");
			if( __isParentFrameMethod( "setFrameHashDoc" ) ) {
				window.parent.setFrameHashDoc( key, str );
			} else {
				// do what?
				alertError("window.parent.setFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + window.parent.location + "][" + (typeof window.parent.setFrameHashDoc) + "][" + (typeof isPopup) + "]" );
				log("window.parent.setFrameHashDocÀÌ ¾ø½À´Ï´Ù. [" + window.parent.location + "][" + (typeof window.parent.setFrameHashDoc) + "][" + (typeof isPopup) + "]" );
			}
			return;
		} else {
			log("ÃÖ »óÀ§ Frame");
			if (typeof comframe == 'undefined') {
				alertError("ÇÁ·¹ÀÓÀÌ ¾ø½À´Ï´Ù.");
				log("comframeÀÌ ¾øÀ½.");
			} else if ( typeof comframe.setSavedDoc  == 'function' || typeof comframe.setSavedDoc  == 'object' ) {
				log("SF_"+key+"_3");
				comframe.setSavedDoc(key, str);
			} else {
				// comframe.location.replace( comframe.location );
				alertError("comframe.setSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + typeof (comframe.setSavedDoc) + "][" + (typeof isPopup) + "]" );
				log("comframe.setSavedDocÀÌ ¾ø½À´Ï´Ù. [" + comframe.location + "][" + (typeof comframe.setSavedDoc) + "][" + (typeof isPopup) + "]" );
			}
			return;
		}
	} catch( e ) {
		alertError("setFrameHashDoc ExceptionÀÌ ¹ß»ýÇß½À´Ï´Ù. [" + (typeof isPopup) + "]" , e);
		printStackTrace( e );
		return;
	}
}

var shttp_status_map = new ActiveXObject("Scripting.Dictionary");

//¾ÏÈ£È­ ¿À·ù Á¤ÀÇ
shttp_status_map.Add("800", "·Î±×ÀÎ ¿À·ù ÀÔ´Ï´Ù.\nµî·ÏµÇÁö ¾ÊÀº ÀÎÁõ¼­ ÀÔ´Ï´Ù.\n°³ÀÎÀÎÅÍ³Ý¹ðÅ·¿¡ Á¢¼ÓÇÏ¿© °øÀÎÁõ¼­ »ç¿ëµî·ÏÈÄ¿¡ ·Î±×ÀÎ ÇÏ¿© ÁÖ½Ãºñ ¶ø´Ï´Ù.\n");
shttp_status_map.Add("851", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n°í°´´Ô²²¼­ ÀÔ·ÂÇÏ½Å ºñ¹Ð¹øÈ£ È®ÀÎÁß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\nÇöÀç ·Î±×ÀÎÇÑ ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ¿© ÀÌ¿ëÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.\n");
shttp_status_map.Add("900", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¾ÏÈ£È­ ¼¼¼ÇÀÌ ÃÊ±âÈ­ µÇ¾ú½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("901", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¾ÏÈ£È­µÈ Master Secret ÀÌ µµÂøÇÏÁö ¾Ê¾Ò½À´Ï´Ù\n ³×Æ®¿öÅ© È¯°æÀ» È®ÀÎÇÏ¼¼¿ä\n");
shttp_status_map.Add("902", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¾ÏÈ£È­µÈ Master Secret À» º¹È£È­ ÇÏ´Â µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("903", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\nº¸¾È ½ÃÄö½º°¡ Á¸ÀçÇÏÁö ¾Ê¾Æ ÆäÀÌÁö¸¦ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("904", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\nº¸¾È ½ÃÄö½º°¡ ÀÏÄ¡ÇÏÁö ¾Ê¾Æ ÆäÀÌÁö¸¦ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("905", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¼­¹ö¿¡¼­ ¸Þ½ÃÁö º¹È£È­ µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("906", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¿äÃ»ÇÏ°íÀÚ ÇÏ´Â µ¥ÀÌÅÍÀÇ ±æÀÌ°¡ ÇÑ°èÄ¡¸¦ ³Ñ¾î¼¹½À´Ï´Ù\n ÆÄÀÏ ¾÷·Îµå¸¦ ½Ãµµ ÁßÀÌ¶ó¸é ¿ë·®ÀÌ ÀÛÀº ÆÄÀÏÀ» ¾÷·Îµå ÇÏ¼¼¿ä\n");
shttp_status_map.Add("907", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¸Þ½ÃÁö º¹È£È­¸¦ À§ÇÑ Cipher-Parity Çì´õ°¡ µµÂøÇÏÁö ¾Ê¾Ò½À´Ï´Ù\n ³×Æ®¿öÅ© È¯°æÀ» È®ÀÎÇÏ¼¼¿ä\n");
shttp_status_map.Add("908", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\nÀß¸øµÈ ÆÄ¶ó¸ÞÅÍ ÀÔ·ÂÀÔ´Ï´Ù\n ³×Æ®¿öÅ© È¯°æÀ» È®ÀÎÇÏ¼¼¿ä\n");
shttp_status_map.Add("909", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\n¼­¹ö¿¡ µî·ÏµÇÁö ¾ÊÀº È£½ºÆ® ÁÖ¼Ò ÀÔ´Ï´Ù\n ¿Ã¹Ù¸¥ µµ¸ÞÀÎÀ» »ç¿ëÇÏ¼¼¿ä\n");
shttp_status_map.Add("910", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\nº¸¾È ¼¼¼Ç°ú WAS ¼¼¼ÇÀÇ µ¿±âÈ­ È®ÀÎ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("911", "¾ÏÈ£È­ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ ¸ñ·Ï¿¡ Á¸ÀçÇÏÁö ¾Ê´Â È£½ºÆ® ÀÔ´Ï´Ù\n ¿Ã¹Ù¸¥ µµ¸ÞÀÎÀ» »ç¿ëÇÏ¼¼¿ä\n");

//°øÀÎÀÎÁõ ¿À·ù Á¤ÀÇ
shttp_status_map.Add("921", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ Á¤Ã¥ÀÌ Á¸ÀçÇÏÁö ¾Ê´Â ÆäÀÌÁö ÀÔ´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("922", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ Á¦ÃâÀÌ ÇÊ¿äÇÑ ÆäÀÌÁö ÀÔ´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("923", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\n¿Ã¹Ù¸¥ Çü½ÄÀÇ ÀÎÁõ¼­°¡ ¾Æ´Õ´Ï´Ù\n X\n509 Ç¥ÁØ ÀÎÁõ¼­¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù\n");
shttp_status_map.Add("924", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\n°³ÀÎÅ° ¼ÒÀ¯¿©ºÎ È®ÀÎÀ» À§ÇÑ ¼­¸í µ¥ÀÌÅÍ°¡ µé¾î¿ÀÁö ¾Ê¾Ò½À´Ï´Ù\n ³×Æ®¿öÅ© È¯°æÀ» È®ÀÎÇÏ¼¼¿ä\n");
shttp_status_map.Add("925", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\n°³ÀÎÅ° ¼ÒÀ¯¿©ºÎ È®ÀÎ(¼­¸í °ËÁõ)¿¡ ½ÇÆÐÇß½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("926", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ º»ÀÎ È®ÀÎ¿¡ ÇÊ¿äÇÑ VID Random °ªÀÌ µé¾î¿ÀÁö ¾Ê¾Ò½À´Ï´Ù\n ³×Æ®¿öÅ© È¯°æÀ» È®ÀÎÇÏ¼¼¿ä\n");
shttp_status_map.Add("927", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ º»ÀÎ È®ÀÎ ±â´ÉÀ» Á¦°øÇÏÁö ¾Ê´Â ÀÎÁõ¼­ ÀÔ´Ï´Ù\n ÀÎÁõ¼­¸¦ Àç¹ß±Þ ¹Þ¾Æ »ç¿ëÇÏ½Ê½Ã¿À\n");
shttp_status_map.Add("928", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ º»ÀÎ È®ÀÎ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n º»ÀÎ ÁÖ¹Î¹øÈ£(¶Ç´Â »ç¾÷ÀÚ¹øÈ£)¿Í ÀÏÄ¡ÇÏ´Â ÀÎÁõ¼­¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù\n");
shttp_status_map.Add("929", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\n³·Àº ¹öÀüÀÇ ÀÎÁõ¼­´Â Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n ÀÎÁõ¼­¸¦ Àç¹ß±Þ ¹Þ¾Æ »ç¿ëÇÏ½Ê½Ã¿À\n");
shttp_status_map.Add("930", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­°¡ ¾ÆÁ÷ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù\n Àá½Ã ÈÄ ÀÌ¿ëÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("931", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­°¡ ¸¸·áµÇ¾î ´õ ÀÌ»ó »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù\n ÀÎÁõ¼­¸¦ Àç¹ß±Þ ¹Þ¾Æ »ç¿ëÇÏ½Ê½Ã¿À\n|http://banking.shinhan.com/rib/cert/O_RIBC1100.jsp");
shttp_status_map.Add("932", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\n½Å·ÚµÈ ÀÎÁõ±â°ü(CA) ¿¡¼­ ¹ß±ÞÇÑ ÀÎÁõ¼­°¡ ¾Æ´Õ´Ï´Ù\n °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇÏ¼¼¿ä\n");
shttp_status_map.Add("933", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ ¼­¸í °ËÁõ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("934", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ °æ·Î °ËÁõ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n ÀÎÁõ¼­¸¦ Àç¹ß±Þ ¹Þ¾Æ »ç¿ëÇÏ½Ê½Ã¿À\n");
shttp_status_map.Add("935", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ »óÈ£ ¿¬µ¿ Á¤Ã¥(OID) ¿¡ ºÎÇÕÇÏÁö ¾Ê´Â ÀÎÁõ¼­ÀÔ´Ï´Ù\n");
shttp_status_map.Add("936", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ »óÈ£ ¿¬µ¿ Á¤Ã¥(OID) °ËÁõ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n");
shttp_status_map.Add("937", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nº» ÆäÀÌÁö »ç¿ë¿¡ ÀûÇÕÇÑ ¿ëµµ(KeyUsage)ÀÇ ÀÎÁõ¼­°¡ ¾Æ´Õ´Ï´Ù\n");
shttp_status_map.Add("938", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­°¡ Æó±âµÇ¾î ´õ ÀÌ»ó »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù\n ÀÎÁõ¼­¸¦ Àç¹ß±Þ ¹Þ¾Æ »ç¿ëÇÏ½Ê½Ã¿À\n|http://banking.shinhan.com/rib/cert/O_RIBC1100.jsp");
shttp_status_map.Add("939", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­°¡ È¿·ÂÁ¤Áö µÇ¾î ÇöÀç´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù\n È¿·Â È¸º¹ ÈÄ »ç¿ë °¡´ÉÇÕ´Ï´Ù\n|http://banking.shinhan.com/rib/cert/O_RIBC1100.jsp");
shttp_status_map.Add("940", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ »óÅÂ(Æó±â ¿©ºÎ) È®ÀÎ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇÏ¼¼¿ä\n");
shttp_status_map.Add("949", "°øÀÎÀÎÁõ ¿À·ù ÀÔ´Ï´Ù.\nÀÎÁõ¼­ °ËÁõ °úÁ¤ Áß¿¡ ³»ºÎ ¼­¹ö ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù\n °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇÏ¼¼¿ä\n");

//ÀüÀÚ¼­¸í ¿À·ù Á¤ÀÇ
shttp_status_map.Add("951", "ÀüÀÚ¼­¸í ¿À·ù ÀÔ´Ï´Ù.\nÀüÀÚ¼­¸í µ¥ÀÌÅÍ Á¦ÃâÀÌ ÇÊ¿äÇÑ ÆäÀÌÁö ÀÔ´Ï´Ù\n ÇöÀç ºê¶ó¿ìÀú¸¦ ´Ý°í, »õ·Î Á¢¼ÓÇÏ½Ã±â ¹Ù¶ø´Ï´Ù\n");
shttp_status_map.Add("952", "ÀüÀÚ¼­¸í ¿À·ù ÀÔ´Ï´Ù.\nÅ¬¶óÀÌ¾ðÆ®¿¡¼­ º¸³½ ÀüÀÚ¼­¸í °ËÁõ¿¡ ½ÇÆÐÇß½À´Ï´Ù\n È®ÀÎ ¹öÆ°À» Å¬¸¯ÇÏ½Ã¾î º¸¾ÈÇÁ·Î±×·¥À» ¼öµ¿¼³Ä¡ ÇÏ½Ã°í ÀÌ¿ëÇÏ½Ã±â ¹Ù¶ø´Ï´Ù.\n|http://img.shinhan.com/shttp/install/70043/down/INIS70.exe");
shttp_status_map.Add("953", "ÀüÀÚ¼­¸í ¿À·ù ÀÔ´Ï´Ù.\n¼­¹ö Ãø ÀüÀÚ¼­¸í¿¡ ½ÇÆÐÇß½À´Ï´Ù\n °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇÏ¼¼¿ä\n");
shttp_status_map.Add("954", "ÀüÀÚ¼­¸í ¿À·ù ÀÔ´Ï´Ù.\nÀüÀÚ¼­¸í °ªÀ» ÀúÀåÇÏ´Â µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù\n °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇÏ¼¼¿ä\n");

//¿À·ù ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÔ
function getSFilterMessage(status){
	var tmp = shttp_status_map.Item(status.toString());
	if(tmp==null || tmp=="")
		return null;

	var arr = tmp.split("|");
	var msg = "[" + arr[0] + "]\r\n\r\n" +  arr[1] + "\r\n¿À·ù ÄÚµå : " + status

    var warningDoc = getDocument("<WARNING/>");
    setString( warningDoc, "errorCode", status );
    setString( warningDoc, "msg", arr[0] );
    if( arr.length > 1 ){
        setString( warningDoc, "redirectURL", arr[1] );
    }

    var warningURL = "/common/hpe/message/certErrorMsg.jsp";
    var warningMsgHeight = 300;
    var warningMsgWidth = 580;


	var sFeatures = "dialogHeight: " + warningMsgHeight + "pt; dialogWidth: " + warningMsgWidth + "pt; edge: Raised; center: Yes; help: No; edge: raised; resizable: Yes; status: No;";
	showIFrame( warningURL, serialize(warningDoc), sFeatures, "___warninglayer" ) ;

	return ;
}

function delNewLine(str){
	var ch ;
	var i  ;
	for( i=0; i< str.length; i++){
		ch = str.charAt(i);
		log("delNewLine index["+ i + "] value["+ ch + "]");

		if( ch != '\n' && ch != '\r' && ch != ' ' ){
			break;
		}
	}
	return str.substring(i);
}


// ¿µ¹®SITE ¿©ºÎ ÆÇ´Ü Start (2011-06-10) 
var isEngSiteUrl = false;
var checkThisUrl = location.href;

var arrEngSite = new Array();
arrEngSite.push("/mall_en/");

for ( var i=0; i < arrEngSite.length; i++) {
    if ( checkThisUrl.indexOf(arrEngSite[i]) > -1 ) {
        isEngSiteUrl = true;
        break;
    }
}
// ¿µ¹®SITE ¿©ºÎ ÆÇ´Ü End (2011-06-10) 
