'Option Explicit

Const CONST_BRANCH_CODE					= "00"
Const CONST_CRS									= "Topas"
Const CONST_LANGUAGE							= "Korean"
Const CONST_INT_TRIP							= "international"
Const CONST_DOM_TRIP							= "domestic"

Const CONST_API_TOPAS_XMLGATE			= "TopasXMLGate"									' ¿¹¾à(Avail, SegHolding, ¿Ï·á)/±¸¸Å/¿¹¾àÁ¶È¸ URL
Const CONST_API_FARE_MANAGER			= "servlet/faremanager.FmOutputMode2"	' ¿îÀÓÁ¶È¸ URL    '
Const CONST_API_RULE_DISPLAY				= "servlet/RulePkgC.Rule"							' Rule Display URL
Const CONST_API_ROUTING_DISPLAY		= "servlet/TripCoPkgC.TripCourse"				' Routing Display URL
Const CONST_API_ROUTING_MANAGER		= "servlet/ReservationPkg.Reservation"			' Rule/Routing URL

Const PageName	= "/BTMS_ADM/ADM_COM/APICONNECTOR.asp"

'Const CONST_LOGINURL							= "/B2C_AirBooking/AirBooking_Domestic/B2C_LOGIN.asp"
Const CONST_LOGINURL					= "/new_mytour/login.asp"

Const CONST_DOM_RETURNURL				= "/B2C_AirBooking/AirBooking_Domestic/B2C_FDTRP01_040.asp"
Const CONST_INT_RETURNURL					= "/B2C_airBooking/AirBooking_International/B2C_FIPSG01_010.asp"

'-------------------------------------------------------------------------
' ¼³¸í	: ±¹³»¼±/±¹Á¦¼± ´ã´çÀÚ ±âº» ¼ÂÆÃ(ÀÌ¸§/¾ÆÀÌµð)
'-------------------------------------------------------------------------
Const	 CONST_MANAGERID_DOMESTIC			= "a1098"
Const	 CONST_MANAGERNAME_DOMESTIC			= "±èÈ¿¶õ"
Const	 CONST_MANAGERID_INTERNATIONAL		= "a1338"
Const	 CONST_MANAGERNAME_INTERNATIONAL	= "ÀÓÀç¿í"

'-------------------------------------------------------------------------
' ¼³¸í	: ±¹³»¼± AGENT CODE ±âº» ¼ÂÆÃ
'-------------------------------------------------------------------------
Const	 CONST_AGENTCODE_DOMESTIC			= "VF1"



'-------------------------------------------------------------------------
' ¼³¸í	: API Connect ÈÄ °á°ú XML »ý¼º
'-------------------------------------------------------------------------
' Input : returnCode(ÀÛ¾÷°á°ú: T-¼º°ø, R-Áßº¹, F-½ÇÆÐ) returnMsg(ÀÛ¾÷°á°ú¸Þ¼¼Áö)
'-------------------------------------------------------------------------
Function returnXML(code, msg, hostmsg)
	Dim retXML

	retXML =  "<?xml version=""1.0"" encoding=""ks_c_5601-1987""?>" & chr(13)
	retXML = retXML & "<TOPAS>"
	retXML = retXML &" <strRtn><![CDATA["		& code		& "]]></strRtn>"
	retXML = retXML & " <strData><![CDATA["		& msg  		& "]]></strData>"
	retXML = retXML & " <hostMsg><![CDATA["	& hostmsg	& "]]></hostMsg>"
	retXML = retXML & "</TOPAS>"

	returnXML = retXML
End Function

Function ResultXML(code, msg, hostmsg)
	Dim retXML

	retXML =  "<?xml version=""1.0"" encoding=""ks_c_5601-1987""?>" & chr(13)
	retXML = retXML & "<TOPAS>"
	retXML = retXML &" <strRtn><![CDATA["		& code		& "]]></strRtn>"
	retXML = retXML & " <strData>"					& msg  		& "</strData>"
	retXML = retXML & " <hostMsg><![CDATA["	& hostmsg	& "]]></hostMsg>"
	retXML = retXML & "</TOPAS>"

	ResultXML = retXML
End Function

'-------------------------------------------------------------------------
' ¼³¸í	: Error Log ¸¦ ÀúÀåÇÏ±â À§ÇÑ XML »ý¼º
'-------------------------------------------------------------------------
' 
'-------------------------------------------------------------------------
Function LogXML(DisplayXML, RequestXML, ResponseXML)
	Dim retXML
	Dim objDOM1, objDOM2, objDOM3, objDOM4
	Dim xmlHTTP
	Dim objError
	Dim Mode, Cmd
	Dim rootNode, node1, node2, node3, node4, node5
	Dim XML1, XML2, XML3, oXML
	
	
	Set objDOM1	= CreateObject("Microsoft.XMLDOM")
	Set objDOM2	= CreateObject("Microsoft.XMLDOM")
	Set objDOM3	= CreateObject("Microsoft.XMLDOM")
	Set objDOM4	= CreateObject("Microsoft.XMLDOM")
	
	Set xmlHTTP	= CreateObject("Microsoft.XMLHTTP")
	
	objDOM1.loadXML( RequestXML )
	'-------------------------------------------------------------------------
	' XML LOAD EROR
	'-------------------------------------------------------------------------
	If (objDOM1.parseError.errorCode <> 0) Then
		Set objError	= objDOM1.parseError
		Set objError	= Nothing 
		XML1 = ""
	Else
		XML1 = objDOM1.documentElement.xml
	End If 
	
	objDOM2.loadXML( ResponseXML )
	'-------------------------------------------------------------------------
	' XML LOAD EROR
	'-------------------------------------------------------------------------
	If (objDOM2.parseError.errorCode <> 0) Then
		Set objError	= objDOM2.parseError
		Set objError	= Nothing 
		XML2 = ""
	Else
		XML2 = objDOM2.documentElement.xml
	End If
	
	objDOM3.loadXML( DisplayXML )
	'-------------------------------------------------------------------------
	' XML LOAD EROR
	'-------------------------------------------------------------------------
	If (objDOM3.parseError.errorCode <> 0) Then
		Set objError	= objDOM3.parseError
		Set objError	= Nothing 
		XML3 = ""
	Else
		XML3 = objDOM3.documentElement.xml
	End If
	
	If objDOM1.getElementsByTagName("System/Mode").Length > 0 Then
		Mode = objDOM1.documentElement.selectSingleNode("System/Mode").text
	ElseIf objDOM1.getElementsByTagName("fm_input/mode_code").Length > 0 Then
		Mode = objDOM1.documentElement.selectSingleNode("mode_code").text
	End If
	
	Cmd	= "ERRORLOG"
	
	oXML = "<?xml version=""1.0"" encoding=""euc-kr""?>"
	oXML = oXML & "<LOG>"													& Chr(13)
	oXML = oXML & "    <CMD>"		& Cmd	& "</CMD>"			& Chr(13)
	oXML = oXML & "    <Mode>"		& Mode	& "</Mode>"			& Chr(13)
	oXML = oXML & "    <REQXML>"	& XML1 & "</REQXML>"		& Chr(13)
	oXML = oXML & "    <RESXML>"	& XML2 & "</RESXML>"		& Chr(13)
	oXML = oXML & "    <DISXML>"	& XML3 & "</DISXML>"		& Chr(13)
	oXML = oXML & "</LOG>"
	
	objDOM4.loadXML(oXML)
	'-------------------------------------------------------------------------
	' AJAX Page È£Ãâ
	'-------------------------------------------------------------------------
	xmlHTTP.Open "POST", PageName, True
	xmlHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded;charset=euc-kr"
	xmlHTTP.Send( objDOM4 )
	
	retXML = xmlHTTP.responseXML.xml
	
	Set rootNode	= Nothing
	Set Node1		= Nothing
	Set Node2		= Nothing
	Set Node3		= Nothing
	Set Node4		= Nothing
	Set Node5		= Nothing
	
	Set objDOM1 = nothing
	Set objDOM2 = nothing
	Set objDOM3 = nothing
	Set objDOM4 = nothing
	
	Set xmlHTTP = Nothing
	
	LogXML = retXML

End Function

Function IsTimeOut(http)
	Dim tmStart, tmCurr, tmDiff
	Dim IsOut
	
	isOut		= false
	tmStart	= Now
	Do
		tmCurr	= Now
		tmDiff	= CInt( DateDiff("s", tmStart, tmCurr ) )
		If tmDiff >= CONST_TIMEOUT Then
			isOut = True
			f_code		= "F"
			f_msg		= "¼­¹öÀÇ ÀÀ´äÀÌ ¾ø½À´Ï´Ù."
			f_hostmsg	= "TimeOut"
			RESXML		= returnXML(f_code, f_msg, f_hostmsg)
			http.abort
			Exit Do 
		End If
	Loop While http.readyState <> 4
	
	isTimeOut = isOut
End Function

