//************************* ajax 통신 *************************//************************* ajax 통신 *************************//************************* ajax 통신 *************************
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)?(!!createHttpRequest()):false 
	}
	return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
}


function createHttpRequest()
{
	if(window.ActiveXObject){
		 //Win e4,e5,e6용
		try {
			return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP") ;
			} catch (e2) {
				return null ;
			}
		}
	} else if(window.XMLHttpRequest){
		 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3용
		return new XMLHttpRequest() ;
	} else {
		return null ;
	}
}

function sendRequest(callback,data,method,url,async,sload,user,password)
{
	//XMLHttpRequest 오브젝트 생성
	var oj = createHttpRequest();
	if( oj == null ) return null;
	
	//강제 로드의 설정
	var sload = (sendRequest.arguments[5])?sload:false;
	if(sload || method.toUpperCase() == 'GET')url += "?";
	if(sload)url=url+"t="+(new Date()).getTime();
	
	//브라우저 판정
	var bwoj = new chkAjaBrowser();
	var opera	  = bwoj.bw.opera;
	var safari	  = bwoj.bw.safari;
	var konqueror = bwoj.bw.konqueror;
	var mozes	  = bwoj.bw.mozes ;

	//송신 처리
	//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(opera || safari || mozes){
		oj.onload = function () { callback(oj); }
	} else {
	
		oj.onreadystatechange =function () 
		{
			if ( oj.readyState == 4 ){
				callback(oj);
			}
		}
	}

	//URL 인코딩
	//data = uriEncode(data);
	if(method.toUpperCase() == 'GET') {
		url += data;
	}
	
	//open 메소드
	oj.open(method,url,async,user,password);

	//헤더 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)
		var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
		if(!window.opera){
			oj.setRequestHeader('Content-Type',contentTypeUrlenc);
		} else {
			if((typeof oj.setRequestHeader) == 'function')
				oj.setRequestHeader('Content-Type',contentTypeUrlenc);
		}	
		return oj
	}

	//URL 인코딩
	function uriEncode(data){

		if(data!=""){
			//&와=로 일단 분해해서 encode
			var encdata = '';
			var datas = data.split('&');
			for(i=1;i<datas.length;i++)
			{
				var dataq = datas[i].split('=');
				encdata += '&'+encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
			}
		} else {
			encdata = "";
		}
		return encdata;
	}


	return oj
}
//************************* ajax 통신 *************************//************************* ajax 통신 *************************//************************* ajax 통신 *************************





//###########################################
//################ WebService ###############
//###########################################

//WebService
function Wrv_Info()
{
	this.CallNo;					//WebService Call Number
}

Wrv_Info.CallNo = 0;

function GetAjaxSearchService(_LanguageCode, _pSearchType, _pSearchName, _pUsageTypeCode, _pSiteCode, _pContinentType)
{
	LanguageCode = _LanguageCode;
	SearchType = _pSearchType;
	ResultList_Class._SearchName = _pSearchName;
	UsageTypeCode = _pUsageTypeCode;
	SiteCode = _pSiteCode;
	Wrv_Info.CallNo++;

	if(_pSearchType == "SalesUser")
	{
		if(SiteCode == "None")
		{
			alert("조회를 원하는 사이트를 선택하세요.");
			return false;
		}
	}

	if(_pContinentType == null || _pContinentType == "undefined")
		_pContinentType = "";

	Url = '/ASPX/WebService/WsSearchResult.asmx/GetAjaxSerachList';
	Data = "LanguageCode=" +LanguageCode+ "&SearchType=" +SearchType+ "&SearchName=" +ResultList_Class._SearchName;
	Data +=	"&UsageTypeCode=" +UsageTypeCode+ "&SiteCode=" +SiteCode+ "&WrvCallNo=" +Wrv_Info.CallNo+ "&ContinentType=" +_pContinentType;
	
	SeachLoading();
	sendRequest(Response, Data, 'POST', Url, true);
}
//WebService

//Response
function Response(oj)
{

	ResultList_Class_Reset();

	//resultXml = oj.responseXml.text;
	//xmlDoc.async = true;
	//xmlDoc.preserveWhiteSpace = true;
	//xmlDoc.loadXML(resultXml);

	xmlDoc.loadXML(oj.responseXml.text);

	_result_cnt = xmlDoc.getElementsByTagName("WebServiceCallCount");
	if(_result_cnt.length > 0)
	{
		var WebServiceCallCount = xmlDoc.getElementsByTagName("WebServiceCallCount")[0].text;		//지금. 받은 결과의 웹서비스 호출 번호
		if(Wrv_Info.CallNo > WebServiceCallCount)																						//Wrv_Info.CallNo - 이전에 받은 결과의 웹서비스 호출 번호
			return false;
	}

	var arrow = "  [이동-(↑↓), 선택-ENTER]";
	
	if(document.domain == "flyasiana.rts.co.kr" )
	{

		arrow = "  [이동-↑↓키, 선택-ENTER]";
	}
	if(document.domain == "rtsdev.gmarket.co.kr" || document.domain == "rts.gmarket.co.kr" || document.domain == "rtshotel.redcaptour.com")
	{
		arrow = "  [이동-↑↓, 선택-ENTER]";
	}
	if(document.domain == "hotel.onlinetour.co.kr")
	{
		arrow = "  [이동-↑↓]";
	}
	if(document.domain == "www.pricinghotel.com")
	{
		arrow = "↑↓";
	}

	switch(parent.Object_Name.Wrv_Type)
	{
		case "City" :
				document.getElementById("SearchTypeName").innerHTML = "도시찾기" + arrow;
				CitySearch_Response();
			break;
		case "SalesAgent" :
				document.getElementById("SearchTypeName").innerHTML = "제휴사찾기" + arrow;
				SiteSearch_Response();
			break;
		case "EmpUser" :
				document.getElementById("SearchTypeName").innerHTML = "담당자찾기" + arrow;
				EmpUserSearch_Response();
			break;
		case "SalesUser" :
				document.getElementById("SearchTypeName").innerHTML = "예약자찾기" + arrow;
				SalesUserSearch_Response();
			break;
		default : break;
	}
	if( ResultList_Class._resultCnt > 0)
	{
		ResultList_Class._selectIndex++;
		ResultList_Class._resultIndex = "result_"+ ResultList_Class._selectIndex;
		document.getElementById(ResultList_Class._resultIndex).style.backgroundColor = "#DFEDFA";
	}
	return false;
}
//Response

//###########################################
//################ WebService ##################
//###########################################


// ############### parsing ###############  ############### parsing ###############  ############### parsing ###############  ############### parsing ############### 

function Response_reSize()
{	
	if(parent.SelectChk.OnClick_Yn == "N")
	{
		var height_size = (ResultList_Class._resultCnt*23) + 30;
		
		height_size = (height_size > 150) ?  150 : height_size;
		parent.document.getElementById(parent.Object_Name.Iframe_Name).height = height_size;
		parent.document.getElementById(parent.Object_Name.DivLayer_Name).style.visibility = "visible";
	}
}

function Response_NotResult()
{
	Response_reSize();
	parent.document.all[parent.Object_Name.Iframe_Name].height = 50;
	var ResponseHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
	ResponseHTML += '<tr>\n';
	ResponseHTML += '<td style="padding:2 5 5 5px;">\n';
	ResponseHTML += '<font color="#FF1429">'+ '검색 결과가 없습니다.' +'</font>\n';
	ResponseHTML += '</td>\n';
	ResponseHTML += '</tr>\n';
	ResponseHTML += '</table>\n';
	document.getElementById("xmlResponse").innerHTML = ResponseHTML;
}

function SeachLoading()
{
	ResultList_Class_Reset();
	Response_reSize();
	parent.document.all[parent.Object_Name.Iframe_Name].height = 63;
	var ResponseHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
	ResponseHTML += '<tr>\n';
	ResponseHTML += '<td style="padding:2 5 5 5px;">\n';
	ResponseHTML += '<font color="#65C0D9"><img src="http://admin.rts.co.kr/Language/KR/_script/Common/icon.gif" hspace="2" align="absmiddle">'+ '검색중입니다.' +'</font>\n';
	ResponseHTML += '</td>\n';
	ResponseHTML += '</tr>\n';
	ResponseHTML += '</table>\n';
	document.getElementById("xmlResponse").innerHTML = ResponseHTML;
}

function CitySearch_Response()
{
	if(xmlDoc.getElementsByTagName("CityCode").length != 0)
	{
		var CityCode = xmlDoc.getElementsByTagName("CityCode");
		var CityEname = xmlDoc.getElementsByTagName("CityEname");
		var CityName = xmlDoc.getElementsByTagName("CityName");
		var CountryCode = xmlDoc.getElementsByTagName("CountryCode");
		var CountryName = xmlDoc.getElementsByTagName("CountryName");

		var ResponseHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
		for(i=0; i<CityCode.length; i++)
		{
			// 모두 소문자로 치환후, 검색어의 글자를 색 변경 -> 첫글자만 대문자로 치환 작업....
			var _SearchName = ResultList_Class._SearchName.toLowerCase();
			var _CityCode = CityCode[i].text.toLowerCase();
			var _CityEname = CityEname[i].text.toLowerCase().replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");
			var _CityName = CityName[i].text.toLowerCase().replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");

			ResponseHTML += '<tr>\n';
			ResponseHTML += '<td OnMouseOver="ResultOnOver(this, '+ i +')" OnMouseOut="ResultOnOut(this,'+ i +')" OnClick="return ResultOnMup(this,'+ i +');" OnMouseUp="ResultOnMup(this,'+ i +');" id="result_'+ i +'" ';
			ResponseHTML += 'style="padding:3 5 3 5; line-height:16px; border-bottom:1px dotted #DCDCDC; text-transform:capitalize; cursor:hand">\n';
			
			if(document.domain == "www.pricinghotel.com")
				ResponseHTML += _CityName.toUpperCase() +' : '+ CountryName[i].text.toLowerCase();
			else
				ResponseHTML += _CityEname.toUpperCase() +'('+ _CityCode.toUpperCase() +') - '+ _CityName.toUpperCase() +' : '+ CountryCode[i].text.toUpperCase() +' ('+ CountryName[i].text.toLowerCase() +')';
			
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CityCode" value="'+ CityCode[i].text.toUpperCase() +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CityEname" value="'+ CityEname[i].text.toUpperCase() +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CityName" value="'+ CityName[i].text +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CountryCode" value="'+ CountryCode[i].text.toUpperCase() +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CountryName" value="'+ CountryName[i].text +'"/>';
			ResponseHTML += '</td>\n';
			ResponseHTML += '</tr>\n';
		}
		ResponseHTML += '</table>\n';
		document.getElementById("xmlResponse").innerHTML = ResponseHTML;

		ResultList_Class._resultCnt = i;
		parent.SelectChk.ResultList_Yn = "Y";
		Response_reSize();
	}
	else
	{
		Response_NotResult();
	}
}

function SiteSearch_Response()
{
	if(xmlDoc.getElementsByTagName("CompanyCode").length != 0)
	{
		var CompanyCode = xmlDoc.getElementsByTagName("CompanyCode");
		var CompanyName = xmlDoc.getElementsByTagName("CompanyName");
		var SiteCode = xmlDoc.getElementsByTagName("SiteCode");
		var SiteName = xmlDoc.getElementsByTagName("SiteName");
		var SiteDesc = xmlDoc.getElementsByTagName("SiteDesc");

		var ResponseHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
		var _cnt = 0;
		for(i=0; i<CompanyCode.length; i++)
		{
			// 모두 소문자로 치환후, 검색어의 글자를 색 변경 -> 첫글자만 대문자로 치환 작업....
			var _SearchName = ResultList_Class._SearchName.toLowerCase();
			var _CompanyCode = CompanyCode[i].text.toLowerCase().replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");
			var _CompanyName = CompanyName[i].text.replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");
			
			ResponseHTML += '<tr>\n';
			ResponseHTML += '<td OnMouseOver="ResultOnOver(this, '+ _cnt +')" OnMouseOut="ResultOnOut(this,'+ _cnt +')" OnClick="return ResultOnMup(this,'+ _cnt +');" OnMouseUp="ResultOnMup(this,'+ _cnt +');" id="result_'+ _cnt +'" ';
			ResponseHTML += 'style="padding:3 5 3 10; line-height:16px; border-bottom:1px dotted #DCDCDC; text-transform:capitalize; cursor:hand">\n';
			ResponseHTML += _CompanyName.toUpperCase() + ' 전체';
			ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_CompanyCode" value="'+ CompanyCode[i].text.toUpperCase() +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_CompanyName" value="'+ CompanyName[i].text.toUpperCase() +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_SiteCode" value=""/>';
			ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_SiteName" value=""/>';
			ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_SiteDesc" value=""/>';
			ResponseHTML += '</td>\n';
			ResponseHTML += '</tr>\n';

			_cnt++;

			for(j=0; j<SiteCode.length; j++)
			{
				if( CompanyCode[i].text == SiteCode[j].text.split("-")[0])
				{
					var _SiteCode = SiteCode[j].text.toLowerCase().replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");
					var _SiteName = SiteName[j].text.replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");
					var _SiteDesc = SiteDesc[j].text;

					ResponseHTML += '<tr>\n';
					ResponseHTML += '<td OnMouseOver="ResultOnOver(this, '+ _cnt +')" OnMouseOut="ResultOnOut(this,'+ _cnt +')" OnClick="return ResultOnMup(this,'+ _cnt +');" OnMouseUp="ResultOnMup(this,'+ _cnt +');" id="result_'+ _cnt +'" ';
					ResponseHTML += 'style="padding:3 5 3 10; line-height:16px; border-bottom:1px dotted #DCDCDC; text-transform:capitalize; cursor:hand">\n';
					ResponseHTML += ' - ['+ _SiteCode.toUpperCase() +'] '+ _SiteName.toUpperCase() + ((_SiteDesc.toUpperCase() != '') ? ' - '+ _SiteDesc.toUpperCase() : '');
					ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_CompanyCode" value="'+ CompanyCode[i].text.toUpperCase() +'"/>';
					ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_CompanyName" value="'+ CompanyName[i].text.toUpperCase() +'"/>';
					ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_SiteCode" value="'+ SiteCode[j].text.toUpperCase() +'"/>';
					ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_SiteName" value="'+ SiteName[j].text.toUpperCase() +'"/>';
					ResponseHTML += '<input type="hidden" id="result_'+ _cnt +'_SiteDesc" value="'+ SiteDesc[j].text.toUpperCase() +'"/>';
					ResponseHTML += '</td>\n';
					ResponseHTML += '</tr>\n';

					_cnt++;
				}
			}
		}
		ResponseHTML += '</table>\n';
		document.getElementById("xmlResponse").innerHTML = ResponseHTML;

		ResultList_Class._resultCnt = _cnt;
		parent.SelectChk.ResultList_Yn = "Y";
		Response_reSize();
	}
	else
	{
		Response_NotResult();
	}
}

function EmpUserSearch_Response()
{
	SearchResults = xmlDoc.getElementsByTagName("SearchResult");
	_SearchName = ResultList_Class._SearchName.toLowerCase();

	ResponseHTML = "";
	if(SearchResults.length != 0)
	{
		ResponseHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
		for(i=0; i<SearchResults.length; i++)
		{
			_searchresult = SearchResults[i];
	
			_CompanyCode = _searchresult.getElementsByTagName("CompanyCode")[0].text;
			_CompanyName = _searchresult.getElementsByTagName("CompanyName")[0].text;
			_OperatorUno = _searchresult.getElementsByTagName("OperatorUno")[0].text;
			_OperatorName = _searchresult.getElementsByTagName("OperatorName")[0].text;
			
			_userinfo = _searchresult.getElementsByTagName("UserInfo")[0];
	
			_UserNo = _userinfo.getElementsByTagName("UserNo")[0].text;
			_Kname = _userinfo.getElementsByTagName("Kname")[0].text.replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");
			_CompPhoneNo1 = _userinfo.getElementsByTagName("CompPhoneNo1")[0].text;
			_CompPhoneNo2 = _userinfo.getElementsByTagName("CompPhoneNo2")[0].text;
			_CompPhoneNo3 = _userinfo.getElementsByTagName("CompPhoneNo3")[0].text;
			_HandPhoneNo1 = _userinfo.getElementsByTagName("HandPhoneNo1")[0].text;
			_HandPhoneNo2 = _userinfo.getElementsByTagName("HandPhoneNo2")[0].text;
			_HandPhoneNo3 = _userinfo.getElementsByTagName("HandPhoneNo3")[0].text;
			_Email = _userinfo.getElementsByTagName("Email")[0].text;
			_PositionName = _userinfo.getElementsByTagName("PositionName")[0].text;
			_DepartmentName = _userinfo.getElementsByTagName("DepartmentName")[0].text;
			
			ResponseHTML += '<tr>\n';
			ResponseHTML += '<td OnMouseOver="ResultOnOver(this, '+ i +')" OnMouseOut="ResultOnOut(this,'+ i +')" OnClick="return ResultOnMup(this,'+ i +');" OnMouseUp="ResultOnMup(this,'+ i +');" id="result_'+ i +'" ';
			ResponseHTML += 'style="padding:3 5 3 10; line-height:16px; border-bottom:1px dotted #DCDCDC; text-transform:capitalize; cursor:hand">\n';
			ResponseHTML += _Kname +' ['+ _CompanyName + ':'+ _DepartmentName +','+ _PositionName +','+ _CompPhoneNo1 +'-'+ _CompPhoneNo2 +'-'+ _CompPhoneNo3 +']';
			ResponseHTML += ' - '+ _OperatorName;
			
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_OperatorUno" value="'+ _OperatorUno +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_OperatorName" value="'+ _OperatorName +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_UserNo" value="'+ _UserNo +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_Kname" value="'+ _userinfo.getElementsByTagName("Kname")[0].text +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CompanyCode" value="'+ _CompanyCode.toUpperCase() +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CompanyName" value="'+ _CompanyName +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_DepartmentName" value="' +_DepartmentName+ '"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_PositionName" value="' +_PositionName+ '"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_CompPhoneNo" value="' +_CompPhoneNo1 +'-'+ _CompPhoneNo2 +'-'+ _CompPhoneNo3 +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_HandPhoneNo" value="' +_HandPhoneNo1 +'-'+ _HandPhoneNo2 +'-'+ _HandPhoneNo3 +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_Email" value="' +_Email+ '"/>';

			ResponseHTML += '</td>\n';
			ResponseHTML += '</tr>\n';
		}
		ResponseHTML += '</table>\n';
		document.getElementById("xmlResponse").innerHTML = ResponseHTML;


		ResultList_Class._resultCnt = i;
		parent.SelectChk.ResultList_Yn = "Y";
		Response_reSize();
	}
	else
	{
		Response_NotResult();
	}
}

function SalesUserSearch_Response()
{
	_SearchName = ResultList_Class._SearchName.toLowerCase();

	if(xmlDoc.getElementsByTagName("SiteCode").length != 0)
	{
		ResponseHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">\n';
		for(i=0; i<xmlDoc.getElementsByTagName("SiteCode").length; i++)
		{
			_SiteCode = xmlDoc.getElementsByTagName("SiteCode")[i].text.toUpperCase();
			_UserNo = xmlDoc.getElementsByTagName("UserNo")[i].text;
			_Kname = xmlDoc.getElementsByTagName("Kname")[i].text.replace(_SearchName, "<font color='#F77501'><b>"+ _SearchName +"</b></font>");;

			_UserId = xmlDoc.getElementsByTagName("UserId")[i].text;
			_Gender = xmlDoc.getElementsByTagName("Gender")[i].text.toUpperCase();
			_Birthday = xmlDoc.getElementsByTagName("Birthday")[i].text;
			_HandPhoneNo1 = xmlDoc.getElementsByTagName("HandPhoneNo1")[i].text;
			_HandPhoneNo2 = xmlDoc.getElementsByTagName("HandPhoneNo2")[i].text;
			_HandPhoneNo3 = xmlDoc.getElementsByTagName("HandPhoneNo3")[i].text;
			_Email = xmlDoc.getElementsByTagName("Email")[i].text;

			ResponseHTML += '<tr>\n';
			ResponseHTML += '<td OnMouseOver="ResultOnOver(this, '+ i +')" OnMouseOut="ResultOnOut(this,'+ i +')" OnClick="return ResultOnMup(this,'+ i +');" OnMouseUp="ResultOnMup(this,'+ i +');" id="result_'+ i +'" ';
			ResponseHTML += 'style="padding:3 5 3 10; line-height:16px; border-bottom:1px dotted #DCDCDC; cursor:hand">\n';
			ResponseHTML += _Kname +'('+ _Gender + ') ['+ _SiteCode +", "+ _UserId  +", " + _HandPhoneNo1+"-"+_HandPhoneNo2+"-"+_HandPhoneNo3 +", "+ _Email +']';
						
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_SiteCode" value="'+ _SiteCode +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_UserNo" value="'+ _UserNo +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_Kname" value="'+ xmlDoc.getElementsByTagName("Kname")[i].text +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_UserId" value="'+ _UserId +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_Gender" value="'+ _Gender +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_Birthday" value="' +_Birthday+ '"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_HandPhoneNo1" value="'+ _HandPhoneNo1 +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_HandPhoneNo2" value="'+ _HandPhoneNo2 +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_HandPhoneNo3" value="'+ _HandPhoneNo3 +'"/>';
			ResponseHTML += '<input type="hidden" id="result_'+ i +'_Email" value="' +_Email+ '"/>';
			ResponseHTML += '</td>\n';
			ResponseHTML += '</tr>\n';
		}
		ResponseHTML += '</table>\n';
		document.getElementById("xmlResponse").innerHTML = ResponseHTML;

		ResultList_Class._resultCnt = i;
		parent.SelectChk.ResultList_Yn = "Y";
		Response_reSize();
	}
	else
	{
		Response_NotResult();
	}
}


// ############### parsing ###############  ############### parsing ###############  ############### parsing ###############  ############### parsing ############### 



//#################
//자동완성 기능에 필요한 함수들
//#################
function ResultList_Class(_resultCnt, _selectIndex, _resultIndex, _SearchName)
{
	this._resultCnt = 0;
	this._selectIndex = -1;
	this._resultIndex = "result_0";
	this._SearchName = "";
}

//Webservice 호출전 클래스 초기화
function ResultList_Class_Reset()
{
	ResultList_Class._resultCnt = 0;
	ResultList_Class._selectIndex = -1;
	ResultList_Class._resultIndex = "result_0";
}
//Webservice 호출전 클래스 초기화

function ResultList_Close()
{
	ResultList_Class_Reset();
	
	SelectChk.FirstClick  = "N";
	SelectChk.OnClick_Yn = "N";
	parent.document.all[parent.Object_Name.DivLayer_Name].style.visibility = "hidden";
	parent.document.body.focus();
	return false;
}

function ResultOnOver(obj, IndexNo)
{	
	//if(ResultList_Class._resultIndex != "result_0")
		document.getElementById(ResultList_Class._resultIndex).style.backgroundColor = "#FFFFFF";

	ResultList_Class._resultIndex = "result_" +IndexNo;
	ResultList_Class._selectIndex = IndexNo;
	obj.style.backgroundColor = "#DFEDFA";

	parent.document.getElementById(parent.Object_Name.Display_Name).focus();
}
function ResultOnOut(obj, IndexNo)
{
}
function ResultOnMclick(obj, IndexNo)
{
}
function ResultOnMdown(obj, IndexNo)
{
}
function ResultOnMup(obj, IndexNo)
{	
	ResultList_Class._resultIndex = "result_" +IndexNo;
	ResultList_Class._selectIndex = IndexNo;
	SelectList_OnKey(13);
	return false;
}
//#################
//자동완성 기능에 필요한 함수들
//#################



// ####### ######### 커서 이동 이벤트 !!! ######### #########
function SelectList_OnKey(Key)
{
	if(ResultList_Class._resultCnt == 0)
		return false;
	else
	{
		switch(Key)
		{
			case 38 :	//↑ - up
					if(ResultList_Class._selectIndex <= 0)
					{
						ResultList_Class._selectIndex = 0;	//최소값
						ResultList_Class._resultIndex = "result_0";
						return true;
					}
					else
					{
						if(ResultList_Class._selectIndex != -1)
							document.getElementById(ResultList_Class._resultIndex).style.backgroundColor = "#FFFFFF";
						ResultList_Class._selectIndex--;	//감소
						ResultList_Class._resultIndex = "result_"+ ResultList_Class._selectIndex;
					}
				break;

			case 40 :	//↓ - down
					if(ResultList_Class._selectIndex >= ResultList_Class._resultCnt-1)
					{
						ResultList_Class._selectIndex = ResultList_Class._resultCnt - 1;		//최대값
						ResultList_Class._resultIndex = "result_"+ ResultList_Class._selectIndex;
					}
					else
					{
						if(ResultList_Class._selectIndex != -1)
							document.getElementById(ResultList_Class._resultIndex).style.backgroundColor = "#FFFFFF";
						ResultList_Class._selectIndex++;	//증가
						ResultList_Class._resultIndex = "result_"+ ResultList_Class._selectIndex;
					}
				break;
			//case 32 :	//space - 선택
			case 13 :	//enter - 선택
					if(ResultList_Class._selectIndex != -1)
					{						
						switch(parent.Object_Name.Wrv_Type)
						{
							case "City" :
									CitySearch_Select();
								break;
							case "SalesAgent" :
									SiteSearch_Select();
								break;
							case "EmpUser" :
									EmpUserSearch_Select();
								break;
							case "SalesUser" :
									SalesUserSearch_Select();
								break;
							default : break;
						}

						ResultList_Class_Reset();

						parent.SelectChk.FirstClick  = "N";
						parent.SelectChk.ResultList_Yn = "N";
						parent.document.all[parent.Object_Name.DivLayer_Name].style.visibility = "hidden";
						parent.document.body.focus();
						return true;
					}
				break;
			case 9 :		// tab키.... down 이벤트
					SelectList_OnKey(40);
					return true;
				break;
			case "shift+tab" :		// shift+ tab키.... up 이벤트
					SelectList_OnKey(38);
					return true;
				break;
			default :
					return false;
				break;
		}

		document.getElementById(ResultList_Class._resultIndex).style.backgroundColor = "#DFEDFA";
		document.getElementById(ResultList_Class._resultIndex).focus();
		parent.document.getElementById(parent.Object_Name.Display_Name).focus();
		return true;
	}
}

function CitySearch_Select()
{
	_CityCode = document.getElementById(ResultList_Class._resultIndex +"_CityCode").value;
	_CityEname = document.getElementById(ResultList_Class._resultIndex +"_CityEname").value;
	_CityName = document.getElementById(ResultList_Class._resultIndex +"_CityName").value;
	_CountryCode = document.getElementById(ResultList_Class._resultIndex +"_CountryCode").value;
	_CountryName = document.getElementById(ResultList_Class._resultIndex +"_CountryName").value;

	if(document.domain == "www.pricinghotel.com")
		var str =  _CityName + " ["+_CountryName +"]";
	else
		var str = _CityEname + " ("+ _CityName +") "+ _CountryCode +" ["+_CountryName +"]";

	
	parent.document.getElementById(parent.Object_Name.Display_Name).value = str;
	parent.document.getElementById(parent.Object_Name.Input_ObjName).value = _CityCode;

	

/*
	if(parent.document.Form1.txtHotelCityCode != null)
	{
		parent.document.Form1.txtHotelCityCode.value = _CityCode;
		parent.document.Form1.txtClickType.value = 'S';										
		parent.Form1.submit();
	}
*/

	if(parent.CityLocationIFrame != null)
	{	
		parent.CityLocationIFrame.Form1.CityCode.value = parent.document.all[parent.Object_Name.Input_ObjName].value;		
		//parent.CityLocationIFrame.Form1.SID.value = "TXP01-01";
		parent.document.Form1.txtClickType.value = 'A';
		
		parent.CityLocationIFrame.Form1.submit();
	}
}

function SiteSearch_Select()
{	
	_CompanyCode = document.getElementById(ResultList_Class._resultIndex +"_CompanyCode").value;
	_CompanyName = document.getElementById(ResultList_Class._resultIndex +"_CompanyName").value;
	_SiteCode = document.getElementById(ResultList_Class._resultIndex +"_SiteCode").value;
	_SiteName = document.getElementById(ResultList_Class._resultIndex +"_SiteName").value;
	_SiteDesc = document.getElementById(ResultList_Class._resultIndex +"_SiteDesc").value;
	
	if(_SiteCode == "")
		str = _CompanyName;// + " 전체";
	else
		str = "[" +_SiteCode+ "] " +_SiteName+ ((_SiteDesc != "") ? " - "+ _SiteDesc : "");

	parent.document.getElementById(parent.Object_Name.Display_Name).value = str;
	parent.document.all[parent.Object_Name.Input_ObjName].value = _SiteCode;
	parent.document.all.txtSalesCompCode.value = _CompanyCode;
}

function EmpUserSearch_Select()
{
	_Kname = document.getElementById(ResultList_Class._resultIndex +"_Kname").value;
	_UserNo = document.getElementById(ResultList_Class._resultIndex +"_UserNo").value;
	_CompanyCode = document.getElementById(ResultList_Class._resultIndex +"_CompanyCode").value;
	_CompanyName = document.getElementById(ResultList_Class._resultIndex +"_CompanyName").value;
	_PositionName = document.getElementById(ResultList_Class._resultIndex +"_PositionName").value;
	_DepartmentName = document.getElementById(ResultList_Class._resultIndex +"_DepartmentName").value;	
	
	_CompPhoneNo = document.getElementById(ResultList_Class._resultIndex +"_CompPhoneNo").value;
	_HandPhoneNo = document.getElementById(ResultList_Class._resultIndex +"_HandPhoneNo").value;
	_Email = document.getElementById(ResultList_Class._resultIndex +"_Email").value;

	_OperatorName = document.getElementById(ResultList_Class._resultIndex +"_OperatorName").value;
	_OperatorUno = document.getElementById(ResultList_Class._resultIndex +"_OperatorUno").value;	

	parent.document.getElementById(parent.Object_Name.Display_Name).value = _Kname;
	
	if(parent.document.all.txtSiteCode != null)
	{
		parent.document.all.txtSiteCode.value = "";
		parent.document.all.txtUserNo.value = _UserNo;
		parent.document.all.txtCompanyName.value = _CompanyName;
		parent.document.all.txtCompanyCode.value = _CompanyCode;
		parent.document.all.txtCompPhoneNo.value = _CompPhoneNo;
		parent.document.all.txtDepartmentName.value = _DepartmentName;
		parent.document.all.txtPositionName.value = _PositionName;
		parent.document.all.txtHandPhoneNo.value = _HandPhoneNo;
		parent.document.all.txtEmail.value = _Email;

		parent.document.all.txtSalesmanNo.value = _OperatorUno;
		parent.document.getElementById("SalesmanName").innerHTML = _OperatorName;
		parent.document.all.txtSalesmanName.value = _OperatorName;

		_url = "/ASPX/Common/SiteCodeSearch.aspx?CompanyCode";

		parent.document.all.fraSite.src = _url + "=" +_CompanyCode;
		parent.document.all.fraSite.focus();
	}
	else
	{
		parent.document.getElementById("PartnerUserNo").value = _UserNo;
	}
}

function SalesUserSearch_Select()
{
	_SiteCode = document.getElementById(ResultList_Class._resultIndex +"_SiteCode").value;
	_UserNo = document.getElementById(ResultList_Class._resultIndex +"_UserNo").value;
	_Kname = document.getElementById(ResultList_Class._resultIndex +"_Kname").value;
	_UserId = document.getElementById(ResultList_Class._resultIndex +"_UserId").value;
	_Gender = document.getElementById(ResultList_Class._resultIndex +"_Gender").value;
	_Birthday = document.getElementById(ResultList_Class._resultIndex +"_Birthday").value;
	_HandPhoneNo1 = document.getElementById(ResultList_Class._resultIndex +"_HandPhoneNo1").value;
	_HandPhoneNo2 = document.getElementById(ResultList_Class._resultIndex +"_HandPhoneNo2").value;
	_HandPhoneNo3 = document.getElementById(ResultList_Class._resultIndex +"_HandPhoneNo3").value;
	_Email = document.getElementById(ResultList_Class._resultIndex +"_Email").value;

	parent.document.getElementById(parent.Object_Name.Display_Name).value = _Kname;

	parent.document.all.CustomerUserNo. value = _UserNo;
	parent.document.all.SalesUserJuminNo = "";
	parent.document.all.txtKname.value = _Kname;
	parent.document.all.txtUserId.value = _UserId;	
	parent.document.all.txtBirthDay.value = _Birthday;
	
	_Phone1 = _HandPhoneNo1;
	_Phone2 = _HandPhoneNo2;
	_Phone3 = _HandPhoneNo3;
	
	parent.document.all.txtPhone1.value = _Phone1;
	parent.document.all.txtPhone2.value = _Phone2;
	parent.document.all.txtPhone3.value = _Phone3;
	parent.document.all.txtUserHandPhoneNo.value = _HandPhoneNo1 +"-"+ _HandPhoneNo2 +"-"+ _HandPhoneNo3;
	parent.document.all.txtUserCompPhoneNo.value = "";
	parent.document.all.txtUserHomePhoneNo.value = "";
	parent.document.all.txtUserEmail.value = _Email;

	//ddlPhoneType
	if(_Gender.toUpperCase() == "M")
	{
		parent.document.all.rdoGender[0].checked = true;
		parent.SetGender("M");
	}
	else
	{
		parent.document.all.rdoGender[1].checked = true;
		parent.SetGender("F");
	}
}
function SetGender(_gender)
{
	document.Form1.txtGender.value = _gender;
}
// ####### ######### 커서 이동 이벤트 !!! ######### #########
















// ###########################################
// 이 부분은. 검색 Box부분...
// ###########################################

function SelectChk()
{
	this.ResultList_Yn;
	this.FirstClick;
	this.OnClick_Yn;
}

function Object_Name()
{
	this.Display_Name = "";
	this.Input_ObjName = "";
	this.DivLayer_Name = "";
	this.Iframe_Name = "";
	this.ImgPosition_Name = "";
	this.UsageType_Name = "";
	this.Wrv_Type = "";
	this.ContinentType = "";
}

function Object_Setting(Display_ObjName, Input_ObjName, Div_ObjName, Iframe_ObjName, Img_ObjName, UsageType_Name, Wrv_Type, Ps_Left, Ps_Top, ContinentType)
{	
	Object_Name.Display_Name = Display_ObjName;
	Object_Name.Input_ObjName = Input_ObjName;
	Object_Name.DivLayer_Name = Div_ObjName;
	Object_Name.Iframe_Name = Iframe_ObjName;
	Object_Name.ImgPosition_Name = Img_ObjName;
	Object_Name.UsageType_Name = UsageType_Name;
	Object_Name.Wrv_Type = Wrv_Type;
	Object_Name.Ps_Left = Ps_Left;
	Object_Name.Ps_Top = Ps_Top;
	Object_Name.ContinentType = ContinentType;
}

function Object_Name_Reset()
{
	Object_Name.Display_Name = undefined;
	SelectChk.OnClick_Yn = "N";
}

function txtObject_OnClick(Display_ObjName, Input_ObjName, Div_ObjName, Iframe_ObjName, Img_ObjName, UsageType_Name, Wrv_Type, Ps_Left, Ps_Top, ContinentType)
{
	
	Object_Name_Reset();

	//object name setting
	if(Object_Name.Iframe_ObjName == undefined)
		Object_Setting(Display_ObjName, Input_ObjName, Div_ObjName, Iframe_ObjName, Img_ObjName, UsageType_Name, Wrv_Type, Ps_Left, Ps_Top, ContinentType);
	//object name setting

	if(document.getElementById(Object_Name.Display_Name) != null)
		document.getElementById(Object_Name.Display_Name).value = "";
	if(document.getElementById(Object_Name.Input_ObjName) != null)
	document.getElementById(Object_Name.Input_ObjName).value = "";
}

function txtObject_Keyup()
{	
	
	var _pSearch_Name = document.getElementById(Object_Name.Display_Name);
	var _Iframe_Name = eval(Object_Name.Iframe_Name);
	
	if(_pSearch_Name == null)
		return false;

	var	E_KeyCode = event.keyCode;
	var _divCity = document.all[Object_Name.DivLayer_Name];
	
	if(_pSearch_Name.value.length == 0 && _divCity.style.visibility == "visible")
	{
		if(_Iframe_Name.document.getElementById("result_0") != null)
			_Iframe_Name.document.getElementById("result_0").focus();

		_pSearch_Name.focus();
		SelectChk.ResultList_Yn  = "N";
		_divCity.style.visibility = "hidden";
		Object_Name_Reset();
		return false;
	}
	
	if(_Iframe_Name.ResultList_Class._SearchName != _pSearch_Name.value)
		SelectChk.ResultList_Yn = "N";
			
	
	if( (_pSearch_Name.value.length != 0) )
	{
		if(SelectChk.ResultList_Yn == "Y")	//검색 결과가 있으며, 현재 검색된 결과를 표시.
			return false;

		if(txtObject_Keyup.arguments[0] != null)	//PricingHotel SearchBox Sizeing 2008-04-03.
			var ReSizeTo = "Y"
	
		if(_divCity.style.visibility == "hidden")
		{

			var Img_Name = document.getElementById(Object_Name.ImgPosition_Name);			
			var Div_Name = document.getElementById(Object_Name.DivLayer_Name);

			Div_Name.style.left = getAbsLeft(Img_Name) + 1 + Object_Name.Ps_Left;

			Div_Name.style.top = getAbsTop(Img_Name) + 8 + Object_Name.Ps_Top;
			if(ReSizeTo != "Y") //PricingHotel SearchBox Sizeing 2008-04-03.
				document.getElementById(Object_Name.Iframe_Name).width = Number(_pSearch_Name.style.width.replace('px','')) - 2;
			else
				document.getElementById(Object_Name.Iframe_Name).width = Number(_pSearch_Name.style.width.replace('px','')) - 2;
				//document.getElementById(Object_Name.Iframe_Name).width = 300;  //PricingHotel SearchBox Sizeing 다시 복구.

		}

		_pSiteCode = "";
		if(Object_Name.Wrv_Type == "SalesUser")
			_pSiteCode = fraSite.document.all.SiteCode.value;

		_Iframe_Name.GetAjaxSearchService("KR", Object_Name.Wrv_Type, _pSearch_Name.value, Object_Name.UsageType_Name, _pSiteCode, Object_Name.ContinentType);
	}
	
	document.body.onclick = function () { SelectChk.FirstClick = "N"; SelectChk.ResultList_Yn  = "N"; _divCity.style.visibility = "hidden"; };
}

function txtObject_Keydown(Display_ObjName, Input_ObjName, Div_ObjName, Iframe_ObjName, Img_ObjName, UsageType_Name, Wrv_Type, Ps_Left, Ps_Top, ContinentType) 
{
	//object name setting
	if(Object_Name.Iframe_ObjName == undefined)
		Object_Setting(Display_ObjName, Input_ObjName, Div_ObjName, Iframe_ObjName, Img_ObjName, UsageType_Name, Wrv_Type, Ps_Left, Ps_Top, ContinentType);
	//object name setting
	
	var _pSearchName = document.getElementById(Object_Name.Display_Name).value;
	var _divCity = document.all[Object_Name.DivLayer_Name];
	var	E_KeyCode = (event.keyCode == 9) ? ( (event.shiftKey) ? "shift+tab" : event.keyCode ) : event.keyCode;

	if(_pSearchName.length != 0)
	{
		switch(E_KeyCode)
		{
			case 38 :	//↑ - 포커스를 레이어로 이동
			case 40 :	//↓ - 포커스를 레이어로 이동
			//case 32 :	//space - 포커스를 레이어로 이동
			case 13 :	//enter - 포커스를 레이어로 이동
			case 9 :	//tab - 포커스를 레이어로 이동
			case "shift+tab" :		// shift + tab - 포커스를 레이어로 이동
					SelectChk.ResultList_Yn = ( eval(Object_Name.Iframe_Name).SelectList_OnKey(E_KeyCode) == true ) ? "Y" : "N";	
					return false;
				break;
			default :
				break;
		}
	}
	else
	{
		SelectChk.ResultList_Yn  = "N";
		_divCity.style.visibility = "hidden";
	}
}
// ###########################################
// 이 부분은. 검색 Box부분...
// ###########################################



//유틸
function getAbsLeft(obj) {
	return (obj.offsetParent==null)? 0:obj.offsetLeft+getAbsLeft(obj.offsetParent);
}

function getAbsTop(obj) {
	return (obj.offsetParent==null)? 0:obj.offsetTop+getAbsTop(obj.offsetParent);
}
//유틸

SelectChk.OnClick_Yn = "N";





























// #####################################################################
//   ############################## 사용 설명서 ##############################
// #####################################################################

/*
# 검색결과를 출력할 페이지에 다음 태그(아래와 동일한 ID Attribute)가 반드시 있어야한다.
	<div id="xmlResponse" style="overflow:auto; position:absolute; height:98%; width:100%;"></div>
	<xml id="xmlDoc"></xml>


ex- 
	txtObject_Keydown('txtCityCode','CityCode','divCity','fraCity','imgCity','Hotel','City')

	'txtCityCode' - 화면에 표시될 obj명
	'CityCode' - 실제 code를 들어갈 obj명
	'divCity' - iframe을 담고 있는 div명
	'fraCity' - 검색결과를 출력할 ifarme id
	'imgCity' - 검색결과 페이지의 좌표를 나타낼 기준점
	'Hotel' - Hotel,Eurail, All (도시검색시에만 필요, 나머진 널 허용)

	'City' - 사용할 웹서비스명 ('SalesAgent' - 사이트, 'EmpUser' - 담당자, 'SalesUser' - 예약자)

# txtObject_Keypress 함수에 필요한 인자를
	Display_ObjName - 화면에 표시될 obj명
	Input_ObjName - 실제 code가 들어갈 obj명
	Div_ObjName - iframe을 담고 있는 div명
	Iframe_ObjName - 검색결과를 출력할 iframe명
	Img_ObjName - 검색결과 페이지의 좌표를 나타낼 기준점
	UsageType_Name - Hotel,Eurail, All
	Wrv_Type - 사용할 웹서비스명
# 화면에 표시될 obj의 style.width의 px로 사이즈를 지정

*/

// #####################################################################
//   ############################## 사용 설명서 ##############################
// #####################################################################
