/** ------------------------------------------------------------------------------------------------
 fnCreateXMLHttp() - XMLHttp object »ý¼º
 ------------------------------------------------------------------------------------------------**/
var g_XMLReq = null;
var g_XMLDoc = null;
function fnCreateXMLHttp(){
	if (window.ActiveXObject) {
		try {
			g_XMLReq = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				g_XMLReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e1) {
				alert("XMLHttpRequest¸¦ Áö¿øÇÏÁö ¾Ê´Â ºê¶ó¿ìÀúÀÔ´Ï´Ù.");
				g_XMLReq = null;
			}
		}
	}
	else if (window.XMLHttpRequest) {
		try {
			g_XMLReq = new XMLHttpRequest();
		}
		catch(e1) {
			alert("XMLHttpRequest¸¦ Áö¿øÇÏÁö ¾Ê´Â ºê¶ó¿ìÀúÀÔ´Ï´Ù.");
			g_XMLReq = null;
		}
	}
	else {
		alert("XMLHttpRequest¸¦ Áö¿øÇÏÁö ¾Ê´Â ºê¶ó¿ìÀúÀÔ´Ï´Ù.");
		g_XMLReq = null;
	}
 }

/** ------------------------------------------------------------------------------------------------
 fnCallbackXMLHttp() - XMLHttp Àü¼Û »óÅÂ  (0 = uninitialized, 1 = loading, 2 = loaded, 3 = interactive, 4 = complete)
 ------------------------------------------------------------------------------------------------**/

function fnCallbackXMLHttp(pFunReturn, pStrActionURL){
	if(g_XMLReq == null) return;

	if(g_XMLReq.readyState == 4) {
		switch (g_XMLReq.status) {
			case 404:
				alert('¿À·ù: ' + pStrActionURL + 'ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½');
				break;
			case 500:
				alert('¿À·ù: ' + g_XMLReq.responseText);
				break;
			default:
				fnXMLHttpResults(pFunReturn);
				break;
		}
	}
}

/** ------------------------------------------------------------------------------------------------
 fnXMLHttpCreateParams(Àü¼ÛÇÒ form) - XMLHttp¿¡ Àü¼ÛÇÒ form element »ý¼º
 ------------------------------------------------------------------------------------------------**/
function fnXMLHttpCreateParams(pObjFrm){
	var f_strParam = "";
	var f_objEle = pObjFrm.elements;
	for(var f_i=0; f_i<f_objEle.length; f_i++){
		switch(f_objEle[f_i].type){
			case "radio" :
			case "checkbox" :
				if(f_objEle[f_i].checked){
					if(f_strParam != "") f_strParam += "&";
					f_strParam += f_objEle[f_i].name + "=" + escape(f_objEle[f_i].value);
				}
				break;
			default :
				if(f_strParam != "") f_strParam += "&";
				f_strParam += f_objEle[f_i].name + "=" + escape(f_objEle[f_i].value);
				break;
		}
	}

	if(f_strParam != "") f_strParam = f_strParam;
	return f_strParam;
}

function chkAjaBrowser(){
	var a, ua = navigator.userAgent;
	alert("1");

	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)?(!!g_XMLReq) : false
	}

	alert("2");
	return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie);
}
/** ------------------------------------------------------------------------------------------------
 fnXMLHttpRequestGet(Àü¼ÛÇÒ form, actionURL) - XMLHttp¿¡ get¹æ½ÄÀ¸·Î Àü¼Û : actionURL + "?ÆÄ¶ó¸ÞÅÍµé"
 ------------------------------------------------------------------------------------------------**/
function fnXMLHttpRequestGet(pStrActionURL, pFunReturn) {
	fnCreateXMLHttp();
	if(g_XMLReq == null) return;

	g_XMLReq.open("GET", pStrActionURL, true);
	g_XMLReq.onreadystatechange = function() {fnCallbackXMLHttp(pFunReturn, pStrActionURL);}
	g_XMLReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=euc-kr;");
	g_XMLReq.send(null);
}

/** ------------------------------------------------------------------------------------------------
 fnXMLHttpRequestGet(Àü¼ÛÇÒ form, actionURL) - XMLHttp¿¡ post ¹æ½ÄÀ¸·Î Àü¼Û
 ------------------------------------------------------------------------------------------------**/
function fnXMLHttpRequestPost(pObjFrm, pStrActionURL, pFunReturn) {
	fnCreateXMLHttp();
	if(g_XMLReq == null) return;

	var f_strQueryString =  fnXMLHttpCreateParams(pObjFrm);

	g_XMLReq.open("POST", pStrActionURL, true);
	g_XMLReq.onreadystatechange = function() {fnCallbackXMLHttp(pFunReturn, pStrActionURL);}
	g_XMLReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=euc-kr;");
	////xml.setRequestHeader "Content-Type","multipart/form-data" //Àü¼Û encodetype
	g_XMLReq.send(f_strQueryString);


}

function fnXMLHttpResults(pFunReturn) {
	try	{
		g_XMLDoc	= g_XMLReq.responseXML;

		var f_intResult = -99;
		if(g_XMLDoc.documentElement.getAttribute("result") != "") f_intResult = parseInt(g_XMLDoc.documentElement.getAttribute("result"));

		if(f_intResult > 0){
			switch(typeof pFunReturn){
				case "function" :
					pFunReturn();
					break;
				case "string" :
					alert(pFunReturn);
					break;
			}
		}
		else{
			alert("¼­¹öÀÇ °á°ú°ª¿¡ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n¿¡·¯ÄÚµå : " + g_XMLDoc.documentElement.getAttribute("result"));
		}
	}
	catch(e)	{
		alert(e.description);
	}
}