	function init_Ajax(url) {
		
		var xhr = false;

		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xhr = false;
			}			
		}
		if (!xhr && typeof XMLHttpRequest != "undefined") {
			xhr = new XMLHttpRequest();
		}

		xhr.open("GET", url, true);
		xhr.onreadystatechange=function() {
			if (xhr.readyState != 4) return;
			if (xhr.status!=200) {
				//alert("1" + "µ¥ÀÌÅÍÃ³¸®¿¡ ½ÇÆÐÇß½À´Ï´Ù.\n´Ù½Ã ½ÃµµÇØ ÁÖ¼¼¿ä");
				//history.back();
			} else {
				parseMessages(xhr.responseXML);
			}
		}
		xhr.send(null);
	}

	function init_Ajax2(url) {
		
		var xhr = false;

		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xhr = false;
			}			
		}
		if (!xhr && typeof XMLHttpRequest != "undefined") {
			xhr = new XMLHttpRequest();
		}

		xhr.open("GET", url, true);
		xhr.onreadystatechange=function() {
			if (xhr.readyState != 4) return;
			if (xhr.status!=200) {
				//alert("µ¥ÀÌÅÍÃ³¸®¿¡ ½ÇÆÐÇß½À´Ï´Ù.\n´Ù½Ã ½ÃµµÇØ ÁÖ¼¼¿ä");
				//history.back();
			} else {
				parseMessages2(xhr.responseXML);
			}
		}
		xhr.send(null);
	}
	

	function get_tagData(xdoc, name, idx) {
		var emt = xdoc.getElementsByTagName(name);
		if (emt[idx].firstChild) return emt[idx].firstChild.data;
		else return '';
		
	}

	function get_childData(xdoc, name, idx, cidx) {
		var emt = xdoc.getElementsByTagName(name);
		if (emt[idx].childNodes[cidx].childNodes[0]) return emt[idx].childNodes[cidx].childNodes[0].data;
		else return '';
	}

	function get_attributeData(xdoc, name, attname) {
		var emt = xdoc.getElementsByTagName(name);
		return emt[0].getAttribute(attname);
	}

	function Ajax (url, parms, method, callback) {

    this.url = url;
    this.parms = parms;
    this.method = method;
    this.callback = callback;
    this.async = true;

    this.create ();

    this.req.onreadystatechange = this.dispatch (this);
}

Ajax.prototype.dispatch = function (ajax) {

    function funcRef()
    {
        if (ajax.req.readyState == 4) {
            if (ajax.callback) {
                ajax.callback (ajax.req);
            }
        }
    }

    return funcRef;
}

Ajax.prototype.request = function () {

    if (this.method == "POST") {
        this.req.open("POST", this.url, this.async);
        this.req.send (this.parms);
    }
    else if (this.method == "GET") {
        this.req.open("GET", this.url + this.parms, this.async);
        this.req.send (null);
    }

}

Ajax.prototype.setAsync = function (async) {

    this.async = async;
}

Ajax.prototype.create = function () {

    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)

    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E) {
            xmlhttp = false;
        }
    }

    @else

    xmlhttp = false;

    @end @*/

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp = false;
        }
    }

    this.req = xmlhttp;
}

function show_result(xmlurl, xslurl, divname)
{
	// ¼­¹ö¿¡¼­ XML ÆÄÀÏÀ» °¡Á®¿Â´Ù.

    var ajax = new Ajax (xmlurl, "", "GET", null);
    ajax.setAsync (false);
    ajax.request ();
    var xml_doc = ajax.req.responseXML;

    // ¼­¹ö¿¡¼­ XSLT¸¦ °¡Á®¿Â´Ù.

    ajax = new Ajax (xslurl, "", "GET", null);
    ajax.setAsync (false);
    ajax.request ();
    var xsl_doc = ajax.req.responseXML;

    var div = document.getElementById (divname);

    // ÆÄÀÌ¾îÆø½º/¸ðÁú¶ó/¿ÀÆä¶ó³ª IE XSLT Áö¿øÀÌ °¡´ÉÇÑÁö
    // °´Ã¼ °¨Áö ±â¹ýÀ» È°¿ëÇÑ´Ù.

    if (typeof XSLTProcessor != "undefined") {
        var xsl_proc = new XSLTProcessor ();
        xsl_proc.importStylesheet (xsl_doc);
        var node = xsl_proc.transformToFragment (xml_doc, document);

        div.innerHTML = "";
        div.appendChild (node);
    }
    else if (typeof xml_doc.transformNode != "undefined") {
        div.innerHTML = xml_doc.transformNode (xsl_doc);
    }
    else {
        div.innerHTML = "XSLT not supported in browser.";
    }

}