<!--
/******************************************************************************************************
	Date : 2007.06.04 arrie33@gmail.com
	Desc : AJAX Result 사용자정의 함수로 return
******************************************************************************************************/
	var SSSType = "asp";				// 서버언어 설정 [asp / php]
	var resFuncName = "fTempResult";	// 결과 return 할 사용자정의 함수명
	var request = null;					// 메인 객체
	var isIng = false;					// 실행중 여부 체크
	var queryString = null;				// POST 에 쓸 데이터 저장

	/*************************************************************************
		Func Name : fLoadAsync
		Desc : 클라이언트에서 호출하는 함수 - frm 이 존재할경우 POST 전송
		Input
			loadURL : 처리페이지 URL
			resFunc : 처리결과 리턴 URL
			frm		: 폼 객체
			mode	: 디버그모드 ( 1 을 전달할경우 처리페이지를 팝업으로 띄움 )
	*************************************************************************/
	function fLoadAsync(loadURL, resFunc, frm, mode)
	{
		if (resFunc)
		{
			resFuncName = resFunc;
		}
		if (frm)
		{
			fSetQueryString(frm);
			reqType = "POST";
		}
		else
		{
			reqType = "GET";
		}
		if (mode)
		{
			window.open(loadURL, "", "");
		}
		else
		{
			fInitAsync(reqType, loadURL, true);
		}
	}

	// 요청 객체 호환성 체크, 초기화
	function fInitAsync(reqType, loadURL, asynch)
	{
		if (isIng == false)
		{
			//isIng = true;
			if (window.XMLHttpRequest)
			{
				// branch for Mozilla version
				request = new XMLHttpRequest();
			}
			else if (window.ActiveXObject)
			{
				// branch for IE/Windows ActiveX version
				request = new ActiveXObject("Microsoft.XMLHTTP");
				if (!request)
				{
					request = new ActiveXObject("Msxml2.XMLHTTP");
				}
			}
		}

		if (request)
		{
			request.onreadystatechange = fHandleResponse;
			request.open(reqType, loadURL, asynch);
			if (reqType == "GET")
			{
				request.send(null);
			}
			else if (reqType.toLowerCase() == "post")
			{
				request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
				request.send(queryString);
			}
		}
	}

	// 통신/실행 상태 체크후 결과값 리턴
	function fHandleResponse()
	{
		if (request.readyState == 4)
		{
			isIng = false;		
			if (request.status == 200)
			{
				// 결과 return 할 사용자정의 함수호출
				result = eval(resFuncName + "(\"" + encodeURIComponent(request.responseText) + "\")" );
			}
			else
			{
				alert("找不到您要查看的网页。");
			}
			resFuncName = "fTempResult";
			queryString = null;
			request = null;
		}
	}

	// POST 방식으로 값을 전달하기 위한 폼 요소 세팅
	function fSetQueryString(frm)
	{
		queryString = " ";
		var numberElements = frm.elements.length;
		for (var i=0; i<numberElements; i++ )
		{
			if (SSSType == "asp")
			{
				queryString += frm.elements[i].name + "=" + encodeURIComponent(encodeURIComponent(frm.elements[i].value));
			}
			else if (SSSType == "php")
			{
				queryString += frm.elements[i].name + "=" + encodeURIComponent(frm.elements[i].value);
			}
			if (i<numberElements-1)
			{
				 queryString += "&";
			}
		}
	}

	// 리턴 함수가 입력되지 않은경우 임시로 결과값 출력
	function fTempResult(result)
	{
		alert(decodeURIComponent(decodeURIComponent(result)));
	}
//-->