	/**
	 * <select></select> ÀÇ <option> ÀÛ¼º
 	 */
	function getComboList(obj, defaultValue, defaultCnt, url, param, async) {
		ClearCombo(obj,defaultCnt);

		if( url != "" )
		{ 
			sendRequest(setCodeList, getComboList.arguments, param, "POST", "euc-kr", url, async, true);
		}
	}  

	/**
	 * <select></select> ÀÇ <option> ÀÛ¼º
 	 */
	function getCodeList(obj, defaultValue, codegrp, likeid) {
		ClearCombo(obj,1);

		if( codegrp != "" )
		{
			var param = "codegrp="+codegrp;
			if( likeid ) param += "&likeid="+likeid;
			sendRequest(setCodeList, getCodeList.arguments, param, "POST", "euc-kr", "/GetCodeList.do", false, true);
		}
	}
	
	
	
	
	
	
	
	
	/**
	 * <select></select> ÀÇ <option> ÀÛ¼º
 	 */
	function getDocReceiverList(obj, defaultValue,index,gubun,key) {
		
		if(key != "" )
		{
			var param = "searchGubun="+gubun+"&searchKey="+key;
			sendRequest(setDocReceiverList, getDocReceiverList.arguments, param, "POST", "euc-kr", "/ComAjaxList.do", false, true);
		} 
	}	
	
	
	function getDlvyList(obj, defaultValue,compnum,site) {
		ClearCombo(obj,1);

		if( compnum != "" )
		{
			var param = "searchGubun=DLVY&compnum="+compnum+"&site="+site;
			sendRequest(setCodeList, getDlvyList.arguments, param, "POST", "euc-kr","/ComAjaxList.do", false, true);
		}
	}
	
	
	function getUserList(obj, defaultValue,compnum,dept) {
		ClearCombo(obj,1);

		if( compnum != "" )
		{
			var param = "searchGubun=USER2&compnum="+compnum+"&dept="+dept;
			sendRequest(setCodeList, getUserList.arguments, param, "POST", "euc-kr","/ComAjaxList.do", false, true);
		}
	}
	
	function getAccountGr2List(obj, defaultValue,compnum,account_gr1_cd, regYn) {
		ClearCombo(obj,1);
		if( compnum != "" )
		{
			var param = "searchGubun=ACCOUNTGR2&compnum="+compnum+"&searchKey="+account_gr1_cd+"-"+regYn;
			sendRequest(setCodeList, getAccountGr2List.arguments, param, "POST", "euc-kr","/ComAjaxList.do", false, true);
		}
	}
	function getCtrlItemList(obj, compnum,ctrl_id) {
		
		ClearCombo(obj,1);
		if( compnum != "" )
		{
			var param = "searchGubun=CTRLLIST&compnum="+compnum+"&searchKey="+ctrl_id;
			sendRequest(setCodeList, getCtrlItemList.arguments, param, "POST", "euc-kr","/ComAjaxList.do", false, true);
		}
	}

	function getAdjIdist(obj, compnum,fund_type) {
		
		ClearCombo(obj,1);
		if( compnum != "" )
		{
			var param = "searchGubun=ADJLIST&compnum="+compnum+"&searchKey="+fund_type;
			sendRequest(setCodeList, getCtrlItemList.arguments, param, "POST", "euc-kr","/ComAjaxList.do", false, true);
		}
	}

	function getDeptList(obj, defaultValue,compnum) {
		ClearCombo(obj,1);

		if( compnum != "" )
		{
			var param = "searchGubun=DEPT2&compnum="+compnum;
			sendRequest(setCodeList, getDeptList.arguments, param, "POST", "euc-kr","/ComAjaxList.do", false, true);
		}
	}		
	
	// ½ÂÀÎ¹øÈ£
	var nts_issueid = "";
	/*
	function getIssueId_grid(obj, rowcount) {
		nts_issueid = "";
		var url = "http://"+location.hostname+"/ComDti.do";
        var param = "submitType=issueid&rowcount="+rowcount;

		var xml = TaxGrid.GetUrlValue(url, param, "euc-kr", 3000);
		
		var result = ParseXmlData(xml, "ISSUEID");

		if( result.length != 24 ){
		    message = ParseXmlData(xml, "MESSAGE");
			if( message != "" ){
			    alert(message);
			}else{
				alert("½ÂÀÎ¹øÈ£ »ý¼º ½ÇÆÐ!");
			}
		}
		else{
			nts_issueid = result;
			if( obj != null ){
				obj.value = nts_issueid;
			}
		}
		return nts_issueid;
	}
	*/
 
	function getIssueId(obj, rowcount, list_publicdate) {
		nts_issueid = "";
		
		var arr_param = new Array();
		arr_param[arr_param.length] = new Array("submitType","issueid");
		arr_param[arr_param.length] = new Array("rowcount",rowcount);
		arr_param[arr_param.length] = new Array("list_publicdate",list_publicdate);

		try{
			sendRequest(setText, getIssueId.arguments, arr_param, "POST", "euc-kr","/ComDti.do", false, true);
		}catch(e){
			alert("½ÂÀÎ¹øÈ£ »ý¼º¿À·ù : "+e.message);
			return "";
		}
		return nts_issueid;
    }

	function setText(req, arg){
		var obj = arg[0];
		
		var xml = req.responseText; 
		var result = ParseXmlData(xml, "ISSUEID");

		if( result.length < 24 ){
		    message = ParseXmlData(xml, "MESSAGE");
			if( message != "" ){
			    alert(message);
			}
		}
		else{
			nts_issueid = result;
			if( obj != null ){
				obj.value = result;
			}
		}
    }

	/*
	 *  ¿ª¹ßÇà½ÂÀÎ, ÀúÀå->¹ßÇà
	 */
	function MakeNtsDocXml(taxid, issueid_obj, hash_obj, xml_obj, org_xml, iss_compnum, publicdate, creat_dtm_obj) {
		nts_issueid = "";
		var arr_param = new Array();
		arr_param[arr_param.length] = new Array("submitType","MakeNtsDocXml");
		arr_param[arr_param.length] = new Array("taxid",taxid);
		arr_param[arr_param.length] = new Array("xmlvalue",org_xml); 
        arr_param[arr_param.length] = new Array("compnum",iss_compnum);
        arr_param[arr_param.length] = new Array("publicdate",publicdate);
        try{
			sendRequest(setNtsDocXml, MakeNtsDocXml.arguments, arr_param, "POST", "utf-8","/Dti210100.do", false, true);
		}catch(e){
			alert("XML »ý¼º¿À·ù : "+e.message);
			return "";
		}
		return nts_issueid;
    }

    function setNtsDocXml(req, arg){

		try{
			var issueid_obj		= arg[1]; // ½ÂÀÎ¹øÈ£ Ç×¸ñ
			var hash_obj		= arg[2]; // ÇØ½¬°ª Ç×¸ñ
			var tax_xml_obj		= arg[3]; // XML Ç×¸ñ
			var creat_dtm_obj	= arg[7]; // »ý¼º½Ã°£ Ç×¸ñ

			var edi_taxid		= arg[0]; // taxid
			var iss_compnum		= arg[5]; // »ç¾÷ÀÚ¹øÈ£

			/*
				<ISSUEID>000000000000000000000000</ISSUEID>
				<HASH_VALUE>derasdgtse=</HASH_VALUE>
				<TAX_DOCUMENT_XML><TaxInvoiceDocument><IssueID>000000000000000000000000</IssueID></TaxInvoiceDocument></TAX_DOCUMENT_XML>
			*/
			var xml = req.responseText;
			
			if(edi_taxid == "11111111192010090711432300001" || edi_taxid == "12345678912010092910131500001"){
				alert(xml);
			}

			nts_issueid				= ParseXmlData(xml, "ISSUEID");
			var hash_value			= ParseXmlData(xml, "HASH_VALUE");
			var tax_document_xml	= ParseXmlData(xml, "TAX_DOCUMENT_XML");
			var creat_dtm       	= ParseXmlData(xml, "CREAT_DTM");

			if( nts_issueid.length != 24 ){
				nts_issueid = "";
				message = ParseXmlData(xml, "MESSAGE");
				if( message != "" ){
					alert(message);
				}
			}
			else if( hash_value.length < 5 ){
				message = ParseXmlData(xml, "MESSAGE");
				if( message != "" ){
					alert(message);
				}
			}
			else if( tax_document_xml.indexOf("<TaxInvoiceDocument>") == -1 ){
				message = ParseXmlData(xml, "MESSAGE");
				if( message != "" ){
					alert(message);
				}
			}
			else{
				issueid_obj.value	= nts_issueid;
				hash_obj.value		= hash_value;
				tax_xml_obj.value	= tax_document_xml;
				creat_dtm_obj.value	= creat_dtm;
			}
		}catch(e){
			alert("XML »ý¼º¿À·ù 2 : "+e.message);
			return "";
		}
    }

	function setCodeList(req, arg) {
		var obj = arg[0];
		var defaultValue = arg[1];
		var xml = req.responseText;
		xml = replace(xml,"\r","");
		var rows = xml.split('\n');
		var cnt = 1;
		var line = "";

		for (var i = 0; i < rows.length; i++) {
			line = trim(rows[i]);
			if( line == "" || line == "\t" ){
				continue;
			}
			obj[cnt] = new Option();
			obj[cnt].value = rows[i].split('\t')[0];
			obj[cnt].text = rows[i].split('\t')[1];
			cnt++;
		}
		obj.value = defaultValue;
	}
	
	
	
	function setDocReceiverList(req, arg) {
		var obj = arg[0];
		var defaultValue = arg[1];
		var index = arg[2];
		var gubun = arg[3];
		
		var xml = req.responseText;
		xml = replace(xml,"\r\n","");
		
		if(xml=="") return;

		var rows = xml.split('\n');
		
		
		var cnt = 0;
		var title = "";
	  var str = "";
		var srcRow = obj.options.length;

		//±×·ì¸â¹ö¸¦ Á¶È¸ÇÒ ¶§



    
		if(gubun == 'GROUP'){
			for(var i=srcRow-1 ; i > 0 ; i--){
				obj[i]=null;
			}
			for(var i=1; i <= rows.length ; i++){
				o = new Option(rows[i-1].split('\t')[1],rows[i-1].split('\t')[0]);
				obj[i] = o;
			}		
			    	
 		}else{
			title = replace(obj[index].text,"+","-");
			obj[index].text = title;
		
		
		for(var i=srcRow ; i > index ; i--){
			o = new Option(obj[i-1].text,obj[i-1].value);
			obj[i+rows.length-1]=o;
		}
		
		cnt = 0;
		
		if(arg[3]=="DEPT"){
			str ="     + ";
		}else if(arg[3]=="USER"){
			str ="          - ";
		}
		
		for(var i=index; i< index+rows.length ; i++){
	
			o = new Option(str+rows[cnt].split('\t')[1],rows[cnt].split('\t')[0]);
			obj[i+1] = o;
			cnt++;			
		}
		}
		
		
		
		
		
		
	}
	
 
	////
	// µ¿ÀÛ°¡´ÉÇÑ ºê¶ó¿ìÀú ÆÇÁ¤
	//
	// @sample        if(chkAjaBrowser()){ location.href='nonajax.htm' }
	// @sample        oj = new chkAjaBrowser();if(oj.bw.safari){ /* Safari ÄÚµå */ }
	// @return        ¶óÀÌºê·¯¸®°¡ µ¿ÀÛ°¡´ÉÇÑ ºê¶ó¿ìÀú¸¸ true  true|false
	//
	//  Enable list (v038ÇöÀç)
	//   WinIE 5.5+ 
	//   Konqueror 3.3+
	//   AppleWebKit°è(Safari,OmniWeb,Shiira) 124+ 
	//   Mozilla°è(Firefox,Netscape,Galeon,Epiphany,K-Meleon,Sylera) 20011128+ 
	//   Opera 8+ 
	//
	function chkAjaBrowser()
	{
		var a,ua = navigator.userAgent;
		this.bw= { 
		  safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
		  konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
		  mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
		  opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
		  msie      : (!!window.ActiveXObject)?(!!newXMLHttpRequest()):false 
		}
		return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
	}
	

	////
	// XMLHttpRequest ¿ÀºêÁ§Æ® »ý¼º
	//
	// @sample        oj = newXMLHttpRequest()
	// @return        XMLHttpRequest ¿ÀºêÁ§Æ®(ÀÎ½ºÅÏ½º)
	//
	function newXMLHttpRequest()
	{
		if(window.ActiveXObject){
			try { return new ActiveXObject("Msxml2.XMLHTTP.7.0") } catch(e) {} 
			try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {} 
			try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {} 
			try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e) {} 
			try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {} 

			return null ;
		} 
		else if(window.XMLHttpRequest){
			 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3¿ë
			return new XMLHttpRequest() ;
		} else {
			return null ;
		}
	}
	 
	////
	// ¼Û¼ö½Å ÇÔ¼ö
	//
	// @sample         sendRequest(onloaded,'&prog=1','POST','./about2.php',true,true)
	// @param callback ¼Û¼ö½Å½Ã¿¡ ±âµ¿ÇÏ´Â ÇÔ¼ö ÀÌ¸§
	// @param data	   ¼Û½ÅÇÏ´Â µ¥ÀÌÅÍ (&ÀÌ¸§1=°ª1&ÀÌ¸§2=°ª2...)
	// @param method   "POST" ¶Ç´Â "GET"
	// @param url      ¿äÃ»ÇÏ´Â ÆÄÀÏÀÇ URL
	// @param async	   ºñµ¿±â¶ó¸é true µ¿±â¶ó¸é false
	// @param sload	   ¼öÆÛ ·Îµå true·Î °­Á¦¡¢»ý·«¶Ç´Â false´Â ±âº»
	// @param user	   ÀÎÁõ ÆäÀÌÁö¿ë »ç¿ëÀÚ ÀÌ¸§
	// @param password ÀÎÁõ ÆäÀÌÁö¿ë ¾ÏÈ£
	//
	function sendRequest(callback, arg, data, method, charset, url, async, sload, user,password)
	{
		var GET = method.toUpperCase() == 'GET',
		oj = newXMLHttpRequest();
		if( oj == null ) return null;
		if( charset == "" ){
		    charset = "euc-kr";
		}
			
		//°­Á¦ ·ÎµåÀÇ ¼³Á¤
		if((sload)?sload:false)url +=((url.indexOf('?')==-1)?'?':'&')+'t='+(new Date()).getTime();

		//ºê¶ó¿ìÀú ÆÇÁ¤
		var bwoj = new chkAjaBrowser(),
		o  = bwoj.bw.opera,
		s  = bwoj.bw.safari,
		k = bwoj.bw.konqueror,
		m  = bwoj.bw.mozes ;
			 
		if(typeof callback=='object'){
			var callback_onload = callback.onload;
			var callback_onbeforsetheader = callback.onbeforsetheader;
		} else {
			var callback_onload = callback;
			var callback_onbeforsetheader = null;
		}

		//¼Û½Å Ã³¸®
		//opera´Â onreadystatechange¿¡ Áßº¹ ÀÀ´äÀÌ ÀÖÀ» ¼ö ÀÖ¾î onload°¡ ¾ÈÀü
		//Moz,FireFox´Â oj.readyState==3¿¡¼­µµ ¼ö½ÅÇÏ¹Ç·Î º¸ÅëÀº onload°¡ ¾ÈÀü
		//Win ie¿¡¼­´Â onload°¡ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù



		//KonquerorÀº onload°¡ ºÒ¾ÈÁ¤



		//Âü°í http://jsgt.org/ajax/ref/test/response/responsetext/try1.php
		if(o || s || m){
			oj.onload = function () { 
				callback_onload(oj,arg);
				oj.abort(); 
			}
		} else {
			oj.onreadystatechange =function () 
			{
				if ( oj.readyState == 4 ){ 
					callback_onload(oj,arg);
					oj.abort();
				}
			}
		}

		//URL ÀÎÄÚµù



		data = uriEncode(data,url);
		if(GET) {
			url += ((url.indexOf('?')==-1)?'?':'')+data;
		}

		//open ¸Þ¼Òµå



		oj.open(method,url,async,user,password);
		
		 
		//@sample function setHeaders(oj){oj.setRequestHeader('Content-Type',contentTypeUrlenc)}
		//
		if(!!callback_onbeforsetheader)callback_onbeforsetheader(oj);

		//Çì´õ application/x-www-form-urlencoded ¼³Á¤
		setEncHeader(oj);
		
		
		//µð¹ö±×



		//alert('////jslb_ajaxxx.js//// \n data:'+data+' \n method:'+method+' \n url:'+url+' \n async:'+async);
		
		//send ¸Þ¼Òµå



		oj.send(data);


		//URI ÀÎÄÚµù Çì´õ ¼³Á¤
		function setEncHeader(oj){
	
			//Çì´õ application/x-www-form-urlencoded ¼³Á¤
			// @see  http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.3
			// @see  #h-17.3
			//   ( enctypeÀÇ ±âº»°ªÀº "application/x-www-form-urlencoded")
			//   h-17.3¿¡ ÀÇÇØ¡¢POST/GET »ó°ü¾øÀÌ ¼³Á¤
			//   POST¿¡¼­ "multipart/form-data"À» ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Â °æ¿ì¿¡´Â Ä¿½ºÅÍ¸¶ÀÌÁî ÇØÁÖ¼¼¿ä.
			//
			//  ÀÌ ¸Þ¼Òµå°¡ Win Opera8.0¿¡¼­ ¿¡·¯°¡ ³ª¹Ç·Î ºÐ±â(8.01Àº OK)
			if(!o||typeof oj.setRequestHeader == 'function'){
				oj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset='+charset);
			}
			return oj
		}
 
		//URL ÀÎÄÚµù



		function uriEncode(data,url){
			var d = [];
			if(typeof data=='object'){
				var val = null;
				for(var i in data){
					val = data[i];
					if( typeof val == 'object' ){
						p(val[0],val[1]);
					}
					else{
						p(i,data[i]);
					}
				}
			} else if(typeof data=='string'){
				if(data=='')return '';
				//&¿Í=·Î ÀÏ´Ü ºÐÇØÇØ¼­ encode
				if(data.charAt(0)=='&')data=data.substring(1,data.length)
				var datas = data.split('&');
				for(var i=0;i<datas.length;i++)
				{
					var dataq = datas[i].split('=');
					p(dataq[0],dataq[1]);
				}
			} 
			function p(k,v){d.push( encodeURIComponent(k) + "=" + encodeURIComponent(v))};
			return d.join("&");
		}

		return oj
	}
